public abstract class AbstractSequentialFile extends Object implements SequentialFile
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractSequentialFile.LocalBufferObserver |
Modifier and Type | Field and Description |
---|---|
protected File |
directory |
protected SequentialFileFactory |
factory |
protected long |
fileSize |
protected AtomicLong |
position |
protected TimedBuffer |
timedBuffer |
protected TimedBufferObserver |
timedBufferObserver
Instead of having AIOSequentialFile implementing the Observer, I have done it on an inner class.
|
Constructor and Description |
---|
AbstractSequentialFile(File directory,
String file,
SequentialFileFactory factory,
Executor writerExecutor) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
copyTo(SequentialFile newFileName) |
void |
delete() |
boolean |
exists() |
boolean |
fits(int size) |
protected File |
getFile() |
String |
getFileName() |
File |
getJavaFile()
Returns a native File of the file underlying this sequential file.
|
protected ByteBuffer |
newBuffer(int size,
int limit) |
long |
position() |
void |
position(long pos) |
void |
renameTo(String newFileName) |
void |
setTimedBuffer(TimedBuffer buffer) |
void |
write(ActiveMQBuffer bytes,
boolean sync) |
void |
write(ActiveMQBuffer bytes,
boolean sync,
IOCallback callback) |
void |
write(EncodingSupport bytes,
boolean sync) |
void |
write(EncodingSupport bytes,
boolean sync,
IOCallback callback) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
calculateBlockStart, cloneFile, fill, isOpen, open, open, read, read, size, sync, writeDirect, writeDirect
protected final File directory
protected final SequentialFileFactory factory
protected long fileSize
protected final AtomicLong position
protected TimedBuffer timedBuffer
protected final TimedBufferObserver timedBufferObserver
public AbstractSequentialFile(File directory, String file, SequentialFileFactory factory, Executor writerExecutor)
file
- directory
- public final boolean exists()
exists
in interface SequentialFile
public final String getFileName()
getFileName
in interface SequentialFile
public final void delete() throws IOException, InterruptedException, ActiveMQException
delete
in interface SequentialFile
IOException
InterruptedException
ActiveMQException
public void copyTo(SequentialFile newFileName) throws Exception
copyTo
in interface SequentialFile
Exception
public void position(long pos) throws IOException
position
in interface SequentialFile
IOException
- only declare exception due to signature. Sub-class needs it.public long position()
position
in interface SequentialFile
public final void renameTo(String newFileName) throws IOException, InterruptedException, ActiveMQException
renameTo
in interface SequentialFile
IOException
InterruptedException
ActiveMQException
public void close() throws IOException, InterruptedException, ActiveMQException
close
in interface SequentialFile
IOException
- we declare throwing IOException because sub-classes need to do itActiveMQException
InterruptedException
public final boolean fits(int size)
fits
in interface SequentialFile
public void setTimedBuffer(TimedBuffer buffer)
setTimedBuffer
in interface SequentialFile
public void write(ActiveMQBuffer bytes, boolean sync, IOCallback callback) throws IOException
write
in interface SequentialFile
IOException
public void write(ActiveMQBuffer bytes, boolean sync) throws IOException, InterruptedException, ActiveMQException
write
in interface SequentialFile
IOException
InterruptedException
ActiveMQException
public void write(EncodingSupport bytes, boolean sync, IOCallback callback)
write
in interface SequentialFile
public void write(EncodingSupport bytes, boolean sync) throws InterruptedException, ActiveMQException
write
in interface SequentialFile
InterruptedException
ActiveMQException
protected File getFile()
protected ByteBuffer newBuffer(int size, int limit)
public File getJavaFile()
SequentialFile
getJavaFile
in interface SequentialFile
Copyright © 2017 JBoss by Red Hat. All rights reserved.