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, isOpen
public 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 AbstractInterruptibleChannel
IOException
public void force(boolean metaData) throws IOException
force
in class FileChannel
IOException
public FileLock lock(long position, long size, boolean shared) throws IOException
lock
in class FileChannel
IOException
public MappedByteBuffer map(FileChannel.MapMode mode, long position, long size) throws IOException
map
in class FileChannel
IOException
public long position() throws IOException
position
in interface SeekableByteChannel
position
in class FileChannel
IOException
public FileChannel position(long newPosition) throws IOException
position
in interface SeekableByteChannel
position
in class FileChannel
IOException
public int read(ByteBuffer dst) throws IOException
read
in interface ReadableByteChannel
read
in interface SeekableByteChannel
read
in class FileChannel
IOException
public int read(ByteBuffer dst, long position) throws IOException
read
in class FileChannel
IOException
public long read(ByteBuffer[] dsts, int offset, int length) throws IOException
read
in interface ScatteringByteChannel
read
in class FileChannel
IOException
public long size() throws IOException
size
in interface SeekableByteChannel
size
in class FileChannel
IOException
public long transferFrom(ReadableByteChannel src, long position, long count) throws IOException
transferFrom
in class FileChannel
IOException
public long transferTo(long position, long count, WritableByteChannel target) throws IOException
transferTo
in class FileChannel
IOException
public FileChannel truncate(long size) throws IOException
truncate
in interface SeekableByteChannel
truncate
in class FileChannel
IOException
public FileLock tryLock(long position, long size, boolean shared) throws IOException
tryLock
in class FileChannel
IOException
public int write(ByteBuffer src) throws IOException
write
in interface SeekableByteChannel
write
in interface WritableByteChannel
write
in class FileChannel
IOException
public int write(ByteBuffer src, long position) throws IOException
write
in class FileChannel
IOException
public long write(ByteBuffer[] srcs, int offset, int length) throws IOException
write
in interface GatheringByteChannel
write
in class FileChannel
IOException
Copyright © 2005–2017 Alfresco Software. All rights reserved.