com.faunos.util.io
Class FilterFileChannel
java.lang.Object
java.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.FileChannel
com.faunos.util.io.FilterFileChannel
- All Implemented Interfaces:
- Closeable, ByteChannel, Channel, GatheringByteChannel, InterruptibleChannel, ReadableByteChannel, ScatteringByteChannel, WritableByteChannel
- Direct Known Subclasses:
- CloseProtectedFileChannel, LockProtectedFileChannel, WorkAroundFileChannel
public class FilterFileChannel
- extends FileChannel
A facade base class for subclassing and chaining specialized FileChannel
functionality. This class just delegates to its inner instance.
- Author:
- Babak Farhang
Method Summary |
protected void |
checkReadAccess()
|
protected void |
checkWriteAccess()
|
void |
force(boolean metaData)
|
protected void |
implCloseChannel()
Invokes the close() method on the underlying channel. |
protected FilterFileChannel.FilterFileLock |
implCreateFileLock(FileLock innerLock)
Returns the implementation-specific FileLock . |
FileLock |
lock(long position,
long size,
boolean shared)
|
MappedByteBuffer |
map(FileChannel.MapMode mode,
long position,
long size)
|
long |
position()
|
FileChannel |
position(long newPosition)
|
int |
read(ByteBuffer dst)
|
long |
read(ByteBuffer[] dsts,
int offset,
int length)
|
int |
read(ByteBuffer dst,
long position)
|
long |
size()
|
long |
transferFrom(ReadableByteChannel src,
long position,
long count)
|
long |
transferTo(long position,
long count,
WritableByteChannel target)
|
FileChannel |
truncate(long size)
|
FileLock |
tryLock(long position,
long size,
boolean shared)
|
int |
write(ByteBuffer src)
|
long |
write(ByteBuffer[] srcs,
int offset,
int length)
|
int |
write(ByteBuffer src,
long position)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
inner
protected final FileChannel inner
- The underlying file channel.
FilterFileChannel
protected FilterFileChannel(FileChannel inner)
- Creates a new instance using the given instance.
- Parameters:
inner
- the underlying channel, must not be null
force
public void force(boolean metaData)
throws IOException
- Specified by:
force
in class FileChannel
- Throws:
IOException
lock
public FileLock lock(long position,
long size,
boolean shared)
throws IOException
- Specified by:
lock
in class FileChannel
- Throws:
IOException
map
public MappedByteBuffer map(FileChannel.MapMode mode,
long position,
long size)
throws IOException
- Specified by:
map
in class FileChannel
- Throws:
IOException
position
public long position()
throws IOException
- Specified by:
position
in class FileChannel
- Throws:
IOException
position
public FileChannel position(long newPosition)
throws IOException
- Specified by:
position
in class FileChannel
- Throws:
IOException
read
public int read(ByteBuffer dst)
throws IOException
- Specified by:
read
in interface ReadableByteChannel
- Specified by:
read
in class FileChannel
- Throws:
IOException
read
public int read(ByteBuffer dst,
long position)
throws IOException
- Specified by:
read
in class FileChannel
- Throws:
IOException
read
public long read(ByteBuffer[] dsts,
int offset,
int length)
throws IOException
- Specified by:
read
in interface ScatteringByteChannel
- Specified by:
read
in class FileChannel
- Throws:
IOException
size
public long size()
throws IOException
- Specified by:
size
in class FileChannel
- Throws:
IOException
transferFrom
public long transferFrom(ReadableByteChannel src,
long position,
long count)
throws IOException
- Specified by:
transferFrom
in class FileChannel
- Throws:
IOException
transferTo
public long transferTo(long position,
long count,
WritableByteChannel target)
throws IOException
- Specified by:
transferTo
in class FileChannel
- Throws:
IOException
truncate
public FileChannel truncate(long size)
throws IOException
- Specified by:
truncate
in class FileChannel
- Throws:
IOException
tryLock
public FileLock tryLock(long position,
long size,
boolean shared)
throws IOException
- Specified by:
tryLock
in class FileChannel
- Throws:
IOException
write
public int write(ByteBuffer src)
throws IOException
- Specified by:
write
in interface WritableByteChannel
- Specified by:
write
in class FileChannel
- Throws:
IOException
write
public int write(ByteBuffer src,
long position)
throws IOException
- Specified by:
write
in class FileChannel
- Throws:
IOException
write
public long write(ByteBuffer[] srcs,
int offset,
int length)
throws IOException
- Specified by:
write
in interface GatheringByteChannel
- Specified by:
write
in class FileChannel
- Throws:
IOException
implCloseChannel
protected void implCloseChannel()
throws IOException
- Invokes the
close()
method on the underlying channel.
- Specified by:
implCloseChannel
in class AbstractInterruptibleChannel
- Throws:
IOException
implCreateFileLock
protected FilterFileChannel.FilterFileLock implCreateFileLock(FileLock innerLock)
throws IOException
- Returns the implementation-specific
FileLock
.
- Throws:
IOException
checkReadAccess
protected void checkReadAccess()
throws IOException
- Throws:
IOException
checkWriteAccess
protected void checkWriteAccess()
throws IOException
- Throws:
IOException