Package org.aksw.commons.io.input
Class SeekableReadableChannelOverReadableChannel<A>
java.lang.Object
org.aksw.commons.util.closeable.AutoCloseableWrapperBase<T>
org.aksw.commons.io.shared.ChannelDecoratorBase<X>
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 org.aksw.commons.util.closeable.AutoCloseableWrapperBase
delegate -
Constructor Summary
ConstructorsConstructorDescriptionSeekableReadableChannelOverReadableChannel(ReadableChannel<A> delegate, long basePos) -
Method Summary
Methods inherited from class org.aksw.commons.io.input.ReadableChannelDecoratorBase
getArrayOpsMethods inherited from class org.aksw.commons.io.shared.ChannelDecoratorBase
close, isOpenMethods inherited from class org.aksw.commons.util.closeable.AutoCloseableWrapperBase
close, getDelegateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.aksw.commons.io.buffer.array.HasArrayOps
getArrayOpsMethods inherited from interface org.aksw.commons.io.input.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
-