Class SeekableReadableChannelWithOffset<A, X extends SeekableReadableChannel<A>>
java.lang.Object
org.aksw.commons.util.closeable.AutoCloseableWrapperBase<X>
org.aksw.commons.io.shared.ChannelDecoratorBase<X>
org.aksw.commons.io.input.SeekableReadableChannelWithOffset<A,X>
- All Implemented Interfaces:
Closeable, AutoCloseable, Cloneable, Channel, HasArrayOps<A>, HasPosition, ReadableChannel<A>, ReadableSource<A>, SeekableReadableChannel<A>
public class SeekableReadableChannelWithOffset<A, X extends SeekableReadableChannel<A>>
extends ChannelDecoratorBase<X>
implements SeekableReadableChannel<A>
-
Field Summary
FieldsFields inherited from class AutoCloseableWrapperBase
delegate -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class ChannelDecoratorBase
closeMethods inherited from class AutoCloseableWrapperBase
close, getDelegateMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ReadableSource
readRaw
-
Field Details
-
offset
protected long offset
-
-
Constructor Details
-
SeekableReadableChannelWithOffset
-
-
Method Details
-
read
Description copied from interface:ReadableSourceRead method following the usual InputStream protocol.- Specified by:
readin interfaceReadableSource<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
-
getArrayOps
- Specified by:
getArrayOpsin interfaceHasArrayOps<A>
-
isOpen
public boolean isOpen()- Specified by:
isOpenin interfaceChannel- Overrides:
isOpenin classChannelDecoratorBase<X extends SeekableReadableChannel<A>>
-
position
- Specified by:
positionin interfaceHasPosition- Throws:
IOException
-
position
- Specified by:
positionin interfaceHasPosition- Throws:
IOException
-
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>
-