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 void
force(boolean metaData)
protected void
implCloseChannel()
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 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:
force
in classFileChannel
- Throws:
IOException
-
lock
public FileLock lock(long position, long size, boolean shared) throws IOException
- Specified by:
lock
in classFileChannel
- Throws:
IOException
-
map
public MappedByteBuffer map(FileChannel.MapMode mode, long position, long size) throws IOException
- Specified by:
map
in classFileChannel
- Throws:
IOException
-
position
public long position() throws IOException
- Specified by:
position
in interfaceSeekableByteChannel
- Specified by:
position
in classFileChannel
- Throws:
IOException
-
position
public FileChannel position(long newPosition) throws IOException
- Specified by:
position
in interfaceSeekableByteChannel
- Specified by:
position
in classFileChannel
- Throws:
IOException
-
read
public int read(ByteBuffer dst, long position) throws IOException
- Specified by:
read
in classFileChannel
- Throws:
IOException
-
read
public int read(ByteBuffer dst) throws IOException
- Specified by:
read
in interfaceReadableByteChannel
- Specified by:
read
in interfaceSeekableByteChannel
- Specified by:
read
in classFileChannel
- Throws:
IOException
-
read
public long read(ByteBuffer[] dsts, int offset, int length) throws IOException
- Specified by:
read
in interfaceScatteringByteChannel
- Specified by:
read
in classFileChannel
- Throws:
IOException
-
size
public long size() throws IOException
- Specified by:
size
in interfaceSeekableByteChannel
- Specified by:
size
in classFileChannel
- Throws:
IOException
-
transferFrom
public long transferFrom(ReadableByteChannel src, long position, long count) throws IOException
- Specified by:
transferFrom
in classFileChannel
- Throws:
IOException
-
transferTo
public long transferTo(long position, long count, WritableByteChannel target) throws IOException
- Specified by:
transferTo
in classFileChannel
- Throws:
IOException
-
truncate
public FileChannel truncate(long size) throws IOException
- Specified by:
truncate
in interfaceSeekableByteChannel
- Specified by:
truncate
in classFileChannel
- Throws:
IOException
-
tryLock
public FileLock tryLock(long position, long size, boolean shared) throws IOException
- Specified by:
tryLock
in classFileChannel
- Throws:
IOException
-
write
public int write(ByteBuffer src, long position) throws IOException
- Specified by:
write
in classFileChannel
- Throws:
IOException
-
write
public int write(ByteBuffer src) throws IOException
- Specified by:
write
in interfaceSeekableByteChannel
- Specified by:
write
in interfaceWritableByteChannel
- Specified by:
write
in classFileChannel
- Throws:
IOException
-
write
public long write(ByteBuffer[] srcs, int offset, int length) throws IOException
- Specified by:
write
in interfaceGatheringByteChannel
- Specified by:
write
in classFileChannel
- Throws:
IOException
-
implCloseChannel
protected void implCloseChannel() throws IOException
- Specified by:
implCloseChannel
in classAbstractInterruptibleChannel
- Throws:
IOException
-
-