org.geotools.data.shapefile
Class FileChannelDecorator
java.lang.Object
java.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.FileChannel
org.geotools.data.shapefile.FileChannelDecorator
- All Implemented Interfaces:
- java.io.Closeable, java.nio.channels.ByteChannel, java.nio.channels.Channel, java.nio.channels.GatheringByteChannel, java.nio.channels.InterruptibleChannel, java.nio.channels.ReadableByteChannel, java.nio.channels.ScatteringByteChannel, java.nio.channels.WritableByteChannel
public class FileChannelDecorator
- extends java.nio.channels.FileChannel
- implements java.nio.channels.ReadableByteChannel
A FileChannel that delegates all calls to the underlying FileChannel but for
implCloseChannel()
it also calls ShapefileFiles.unlock method to
release the lock on the URL.
- Author:
- jesse
Nested classes/interfaces inherited from class java.nio.channels.FileChannel |
java.nio.channels.FileChannel.MapMode |
Method Summary |
void |
force(boolean metaData)
|
protected void |
implCloseChannel()
|
java.nio.channels.FileLock |
lock(long position,
long size,
boolean shared)
|
java.nio.MappedByteBuffer |
map(java.nio.channels.FileChannel.MapMode mode,
long position,
long size)
|
long |
position()
|
java.nio.channels.FileChannel |
position(long newPosition)
|
int |
read(java.nio.ByteBuffer dst)
|
long |
read(java.nio.ByteBuffer[] dsts,
int offset,
int length)
|
int |
read(java.nio.ByteBuffer dst,
long position)
|
long |
size()
|
long |
transferFrom(java.nio.channels.ReadableByteChannel src,
long position,
long count)
|
long |
transferTo(long position,
long count,
java.nio.channels.WritableByteChannel target)
|
java.nio.channels.FileChannel |
truncate(long size)
|
java.nio.channels.FileLock |
tryLock(long position,
long size,
boolean shared)
|
int |
write(java.nio.ByteBuffer src)
|
long |
write(java.nio.ByteBuffer[] srcs,
int offset,
int length)
|
int |
write(java.nio.ByteBuffer src,
long position)
|
Methods inherited from class java.nio.channels.FileChannel |
lock, read, tryLock, write |
Methods inherited from class java.nio.channels.spi.AbstractInterruptibleChannel |
begin, close, end, isOpen |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.nio.channels.Channel |
close, isOpen |
FileChannelDecorator
public FileChannelDecorator(java.nio.channels.FileChannel channel,
ShpFiles shapefileFiles,
java.net.URL url,
FileReader requestor)
FileChannelDecorator
public FileChannelDecorator(java.nio.channels.FileChannel channel,
ShpFiles shapefileFiles,
java.net.URL url,
FileWriter requestor)
force
public void force(boolean metaData)
throws java.io.IOException
- Specified by:
force
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
lock
public java.nio.channels.FileLock lock(long position,
long size,
boolean shared)
throws java.io.IOException
- Specified by:
lock
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
map
public java.nio.MappedByteBuffer map(java.nio.channels.FileChannel.MapMode mode,
long position,
long size)
throws java.io.IOException
- Specified by:
map
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
position
public long position()
throws java.io.IOException
- Specified by:
position
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
position
public java.nio.channels.FileChannel position(long newPosition)
throws java.io.IOException
- Specified by:
position
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
read
public int read(java.nio.ByteBuffer dst,
long position)
throws java.io.IOException
- Specified by:
read
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
read
public int read(java.nio.ByteBuffer dst)
throws java.io.IOException
- Specified by:
read
in interface java.nio.channels.ReadableByteChannel
- Specified by:
read
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
read
public long read(java.nio.ByteBuffer[] dsts,
int offset,
int length)
throws java.io.IOException
- Specified by:
read
in interface java.nio.channels.ScatteringByteChannel
- Specified by:
read
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
size
public long size()
throws java.io.IOException
- Specified by:
size
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
transferFrom
public long transferFrom(java.nio.channels.ReadableByteChannel src,
long position,
long count)
throws java.io.IOException
- Specified by:
transferFrom
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
transferTo
public long transferTo(long position,
long count,
java.nio.channels.WritableByteChannel target)
throws java.io.IOException
- Specified by:
transferTo
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
truncate
public java.nio.channels.FileChannel truncate(long size)
throws java.io.IOException
- Specified by:
truncate
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
tryLock
public java.nio.channels.FileLock tryLock(long position,
long size,
boolean shared)
throws java.io.IOException
- Specified by:
tryLock
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
write
public int write(java.nio.ByteBuffer src,
long position)
throws java.io.IOException
- Specified by:
write
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
write
public int write(java.nio.ByteBuffer src)
throws java.io.IOException
- Specified by:
write
in interface java.nio.channels.WritableByteChannel
- Specified by:
write
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
write
public long write(java.nio.ByteBuffer[] srcs,
int offset,
int length)
throws java.io.IOException
- Specified by:
write
in interface java.nio.channels.GatheringByteChannel
- Specified by:
write
in class java.nio.channels.FileChannel
- Throws:
java.io.IOException
implCloseChannel
protected void implCloseChannel()
throws java.io.IOException
- Specified by:
implCloseChannel
in class java.nio.channels.spi.AbstractInterruptibleChannel
- Throws:
java.io.IOException
Copyright © 1996-2010 Geotools. All Rights Reserved.