Class SeekableReadableChannelOverReadableChannel<A>
java.lang.Object
org.aksw.commons.util.closeable.AutoCloseableWrapperBase<ReadableChannel<A>>
org.aksw.commons.io.shared.ChannelDecoratorBase<ReadableChannel<A>>
org.aksw.commons.io.input.ReadableChannelDecoratorBase<A, ReadableChannel<A>>
org.aksw.commons.io.input.SeekableReadableChannelOverReadableChannel<A>
- All Implemented Interfaces:
Closeable, AutoCloseable, Cloneable, Channel, HasArrayOps<A>, HasPosition, ReadableChannel<A>, ReadableSource<A>, SeekableReadableChannel<A>
public class SeekableReadableChannelOverReadableChannel<A>
extends ReadableChannelDecoratorBase<A, ReadableChannel<A>>
implements SeekableReadableChannel<A>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected longprotected longprotected longFields inherited from class AutoCloseableWrapperBase
delegate -
Constructor Summary
ConstructorsConstructorDescriptionSeekableReadableChannelOverReadableChannel(ReadableChannel<A> delegate, long basePos) -
Method Summary
Methods inherited from class ReadableChannelDecoratorBase
getArrayOpsMethods inherited from class ChannelDecoratorBase
close, isOpenMethods inherited from class AutoCloseableWrapperBase
close, getDelegateMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface HasArrayOps
getArrayOpsMethods inherited from interface ReadableSource
readRaw
-
Field Details
-
basePos
protected long basePos -
relPos
protected long relPos -
requestedPos
protected long requestedPos
-
-
Constructor Details
-
SeekableReadableChannelOverReadableChannel
-
-
Method Details
-
read
Description copied from interface:ReadableSourceRead method following the usual InputStream protocol.- Specified by:
readin interfaceReadableSource<A>- Overrides:
readin classReadableChannelDecoratorBase<A, ReadableChannel<A>>- Parameters:
array- The array into which to put the read dataposition- Offset into array where to start writinglength- Maximum number of items to read.- Returns:
- The number of items read. Return -1 if end of data was reached, and 0 iff length was 0.
- Throws:
IOException
-
position
public void position(long pos) - Specified by:
positionin interfaceHasPosition
-
cloneObject
Description copied from interface:SeekableReadableChannelOptional operation. Open a new channel to the underlying source at the same position as this channel. The returned channel is an independent entity and needs to be closed separatedly. Opening a channel this way may be faster than opening a new channel at the source because information about this channel may be re-used (e.g. held pages and pointers into internal data structures)- Specified by:
cloneObjectin interfaceSeekableReadableChannel<A>
-
position
public long position()- Specified by:
positionin interfaceHasPosition
-