Package org.apache.mina.util.byteaccess
Class CompositeByteArrayRelativeReader
- java.lang.Object
-
- org.apache.mina.util.byteaccess.CompositeByteArrayRelativeBase
-
- org.apache.mina.util.byteaccess.CompositeByteArrayRelativeReader
-
- All Implemented Interfaces:
IoRelativeReader
public class CompositeByteArrayRelativeReader extends CompositeByteArrayRelativeBase implements IoRelativeReader
Provides restricted, relative, read-only access to the bytes in aCompositeByteArray. Using this interface has the advantage that it can be automatically determined when a componentByteArraycan no longer be read, and thus components can be automatically freed. This makes it easier to use pooling for underlyingByteArrays.- Author:
- Apache MINA Project
-
-
Field Summary
-
Fields inherited from class org.apache.mina.util.byteaccess.CompositeByteArrayRelativeBase
cba, cursor
-
-
Constructor Summary
Constructors Constructor Description CompositeByteArrayRelativeReader(CompositeByteArray cba, boolean autoFree)Creates a new instance of CompositeByteArrayRelativeReader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcursorPassedFirstComponent()Called whenever the cursor has passed from thecba's first component.byteget()voidget(IoBuffer bb)places the data starting at current position into the suppliedIoBufferchargetChar()doublegetDouble()floatgetFloat()intgetInt()longgetLong()shortgetShort()voidskip(int length)Advances the reader by the given number of bytes.ByteArrayslice(int length)-
Methods inherited from class org.apache.mina.util.byteaccess.CompositeByteArrayRelativeBase
append, free, getIndex, getRemaining, hasRemaining, last, order
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.mina.util.byteaccess.IoRelativeReader
getRemaining, hasRemaining, order
-
-
-
-
Constructor Detail
-
CompositeByteArrayRelativeReader
public CompositeByteArrayRelativeReader(CompositeByteArray cba, boolean autoFree)
Creates a new instance of CompositeByteArrayRelativeReader.- Parameters:
cba- The backing ByteArrayautoFree- If data should be freed once it has been passed in the list
-
-
Method Detail
-
cursorPassedFirstComponent
protected void cursorPassedFirstComponent()
Description copied from class:CompositeByteArrayRelativeBaseCalled whenever the cursor has passed from thecba's first component. As the first component is no longer used, this provides a good opportunity for subclasses to perform some action on it (such as freeing it).- Specified by:
cursorPassedFirstComponentin classCompositeByteArrayRelativeBase
-
skip
public void skip(int length)
Advances the reader by the given number of bytes.- Specified by:
skipin interfaceIoRelativeReader- Parameters:
length- the number of bytes to skip
-
slice
public ByteArray slice(int length)
- Specified by:
slicein interfaceIoRelativeReader- Parameters:
length- The number of bytes to get- Returns:
- an array with a view of part of this array.
-
get
public byte get()
- Specified by:
getin interfaceIoRelativeReader- Returns:
- the byte at the current position in the buffer
-
get
public void get(IoBuffer bb)
places the data starting at current position into the suppliedIoBuffer- Specified by:
getin interfaceIoRelativeReader- Parameters:
bb- The IoBuffer that will contain the read bytes
-
getShort
public short getShort()
- Specified by:
getShortin interfaceIoRelativeReader- Returns:
- a
shortand advances the reader.
-
getInt
public int getInt()
- Specified by:
getIntin interfaceIoRelativeReader- Returns:
- an
intand advances the reader.
-
getLong
public long getLong()
- Specified by:
getLongin interfaceIoRelativeReader- Returns:
- a
longand advances the reader.
-
getFloat
public float getFloat()
- Specified by:
getFloatin interfaceIoRelativeReader- Returns:
- a
floatand advances the reader.
-
getDouble
public double getDouble()
- Specified by:
getDoublein interfaceIoRelativeReader- Returns:
- a
doubleand advances the reader.
-
getChar
public char getChar()
- Specified by:
getCharin interfaceIoRelativeReader- Returns:
- a
charand advances the reader.
-
-