Class SeekableReadableChannelWithLimit<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.SeekableReadableChannelWithLimit<A,X>
- All Implemented Interfaces:
Closeable, AutoCloseable, Cloneable, Channel, HasArrayOps<A>, HasPosition, ReadableChannel<A>, ReadableSource<A>, SeekableReadableChannel<A>
public class SeekableReadableChannelWithLimit<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
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 ReadableSource
readRaw
-
Field Details
-
endPos
protected long endPos
-
-
Constructor Details
-
SeekableReadableChannelWithLimit
-
-
Method Details
-
getArrayOps
- Specified by:
getArrayOpsin interfaceHasArrayOps<A>
-
position
- Specified by:
positionin interfaceHasPosition- Throws:
IOException
-
position
- Specified by:
positionin interfaceHasPosition- Throws:
IOException
-
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
-
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>
-