Class FileChannelDecorator
- Object
-
- AbstractInterruptibleChannel
-
- FileChannel
-
- FileChannelDecorator
-
- All Implemented Interfaces:
Closeable,AutoCloseable,ByteChannel,Channel,GatheringByteChannel,InterruptibleChannel,ReadableByteChannel,ScatteringByteChannel,SeekableByteChannel,WritableByteChannel
public class FileChannelDecorator extends FileChannel implements ReadableByteChannel
A FileChannel that delegates all calls to the underlying FileChannel but forimplCloseChannel()it also calls ShapefileFiles.unlock method to release the lock on the URL.- Author:
- jesse
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class FileChannel
FileChannel.MapMode
-
-
Constructor Summary
Constructors Constructor Description FileChannelDecorator(FileChannel channel, ShpFiles shapefileFiles, URL url, FileReader requestor)FileChannelDecorator(FileChannel channel, ShpFiles shapefileFiles, URL url, FileWriter requestor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidforce(boolean metaData)protected voidimplCloseChannel()FileLocklock(long position, long size, boolean shared)MappedByteBuffermap(FileChannel.MapMode mode, long position, long size)longposition()FileChannelposition(long newPosition)intread(ByteBuffer dst)longread(ByteBuffer[] dsts, int offset, int length)intread(ByteBuffer dst, long position)longsize()longtransferFrom(ReadableByteChannel src, long position, long count)longtransferTo(long position, long count, WritableByteChannel target)FileChanneltruncate(long size)FileLocktryLock(long position, long size, boolean shared)intwrite(ByteBuffer src)longwrite(ByteBuffer[] srcs, int offset, int length)intwrite(ByteBuffer src, long position)-
Methods inherited from class AbstractInterruptibleChannel
begin, close, end, isOpen
-
-
-
-
Constructor Detail
-
FileChannelDecorator
public FileChannelDecorator(FileChannel channel, ShpFiles shapefileFiles, URL url, FileReader requestor)
-
FileChannelDecorator
public FileChannelDecorator(FileChannel channel, ShpFiles shapefileFiles, URL url, FileWriter requestor)
-
-
Method Detail
-
force
public void force(boolean metaData) throws IOException- Specified by:
forcein classFileChannel- Throws:
IOException
-
lock
public FileLock lock(long position, long size, boolean shared) throws IOException
- Specified by:
lockin classFileChannel- Throws:
IOException
-
map
public MappedByteBuffer map(FileChannel.MapMode mode, long position, long size) throws IOException
- Specified by:
mapin classFileChannel- Throws:
IOException
-
position
public long position() throws IOException- Specified by:
positionin interfaceSeekableByteChannel- Specified by:
positionin classFileChannel- Throws:
IOException
-
position
public FileChannel position(long newPosition) throws IOException
- Specified by:
positionin interfaceSeekableByteChannel- Specified by:
positionin classFileChannel- Throws:
IOException
-
read
public int read(ByteBuffer dst, long position) throws IOException
- Specified by:
readin classFileChannel- Throws:
IOException
-
read
public int read(ByteBuffer dst) throws IOException
- Specified by:
readin interfaceReadableByteChannel- Specified by:
readin interfaceSeekableByteChannel- Specified by:
readin classFileChannel- Throws:
IOException
-
read
public long read(ByteBuffer[] dsts, int offset, int length) throws IOException
- Specified by:
readin interfaceScatteringByteChannel- Specified by:
readin classFileChannel- Throws:
IOException
-
size
public long size() throws IOException- Specified by:
sizein interfaceSeekableByteChannel- Specified by:
sizein classFileChannel- Throws:
IOException
-
transferFrom
public long transferFrom(ReadableByteChannel src, long position, long count) throws IOException
- Specified by:
transferFromin classFileChannel- Throws:
IOException
-
transferTo
public long transferTo(long position, long count, WritableByteChannel target) throws IOException- Specified by:
transferToin classFileChannel- Throws:
IOException
-
truncate
public FileChannel truncate(long size) throws IOException
- Specified by:
truncatein interfaceSeekableByteChannel- Specified by:
truncatein classFileChannel- Throws:
IOException
-
tryLock
public FileLock tryLock(long position, long size, boolean shared) throws IOException
- Specified by:
tryLockin classFileChannel- Throws:
IOException
-
write
public int write(ByteBuffer src, long position) throws IOException
- Specified by:
writein classFileChannel- Throws:
IOException
-
write
public int write(ByteBuffer src) throws IOException
- Specified by:
writein interfaceSeekableByteChannel- Specified by:
writein interfaceWritableByteChannel- Specified by:
writein classFileChannel- Throws:
IOException
-
write
public long write(ByteBuffer[] srcs, int offset, int length) throws IOException
- Specified by:
writein interfaceGatheringByteChannel- Specified by:
writein classFileChannel- Throws:
IOException
-
implCloseChannel
protected void implCloseChannel() throws IOException- Specified by:
implCloseChannelin classAbstractInterruptibleChannel- Throws:
IOException
-
-