protected class AbstractContentAccessor.CallbackFileChannel extends FileChannel
FileChannel to provide callbacks to listeners when the
channel is closed.
This class is unfortunately necessary as the FileChannel doesn't have
an single interface defining its methods, making it difficult to put an
advice around the methods that require overriding.
FileChannel.MapMode| Constructor and Description |
|---|
CallbackFileChannel(FileChannel delegate,
List<org.alfresco.service.cmr.repository.ContentStreamListener> listeners) |
| Modifier and Type | Method and Description |
|---|---|
void |
force(boolean metaData) |
protected void |
implCloseChannel()
Closes the channel and makes the callbacks to the listeners
|
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) |
begin, close, end, isOpenpublic CallbackFileChannel(FileChannel delegate, List<org.alfresco.service.cmr.repository.ContentStreamListener> listeners)
delegate - the channel that will perform the worklisteners - listeners for events coming from this channelprotected void implCloseChannel()
throws IOException
implCloseChannel in class AbstractInterruptibleChannelIOExceptionpublic void force(boolean metaData)
throws IOException
force in class FileChannelIOExceptionpublic FileLock lock(long position, long size, boolean shared) throws IOException
lock in class FileChannelIOExceptionpublic MappedByteBuffer map(FileChannel.MapMode mode, long position, long size) throws IOException
map in class FileChannelIOExceptionpublic long position()
throws IOException
position in interface SeekableByteChannelposition in class FileChannelIOExceptionpublic FileChannel position(long newPosition) throws IOException
position in interface SeekableByteChannelposition in class FileChannelIOExceptionpublic int read(ByteBuffer dst) throws IOException
read in interface ReadableByteChannelread in interface SeekableByteChannelread in class FileChannelIOExceptionpublic int read(ByteBuffer dst, long position) throws IOException
read in class FileChannelIOExceptionpublic long read(ByteBuffer[] dsts, int offset, int length) throws IOException
read in interface ScatteringByteChannelread in class FileChannelIOExceptionpublic long size()
throws IOException
size in interface SeekableByteChannelsize in class FileChannelIOExceptionpublic long transferFrom(ReadableByteChannel src, long position, long count) throws IOException
transferFrom in class FileChannelIOExceptionpublic long transferTo(long position,
long count,
WritableByteChannel target)
throws IOException
transferTo in class FileChannelIOExceptionpublic FileChannel truncate(long size) throws IOException
truncate in interface SeekableByteChanneltruncate in class FileChannelIOExceptionpublic FileLock tryLock(long position, long size, boolean shared) throws IOException
tryLock in class FileChannelIOExceptionpublic int write(ByteBuffer src) throws IOException
write in interface SeekableByteChannelwrite in interface WritableByteChannelwrite in class FileChannelIOExceptionpublic int write(ByteBuffer src, long position) throws IOException
write in class FileChannelIOExceptionpublic long write(ByteBuffer[] srcs, int offset, int length) throws IOException
write in interface GatheringByteChannelwrite in class FileChannelIOExceptionCopyright © 2005–2018 Alfresco Software. All rights reserved.