Package com.jogamp.common.util
Class Bitstream.ByteArrayStream
java.lang.Object
com.jogamp.common.util.Bitstream.ByteArrayStream
- All Implemented Interfaces:
Bitstream.ByteStream<byte[]>
public static class Bitstream.ByteArrayStream
extends Object
implements Bitstream.ByteStream<byte[]>
Specific
byte stream.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanInput()Return true if stream can handle input, i.e.booleanReturn true if stream can handle output, i.e.voidclose()Closing the underlying stream, impliesBitstream.ByteStream.flush().voidflush()Synchronizes all underlyingoutput streamoperations, or do nothing.byte[]Returns the underlying streamvoidmark(int readLimit) Setmarkposto current position, allowing the stream to beBitstream.ByteStream.reset().longposition()Returns the byte position in the stream.longposition(long newPosition) Sets this stream's position.intread()Reads one byte from the stream.voidreset()Reset stream position to markpos as set viaBitstream.ByteStream.mark(int).voidsetStream(byte[] stream) Sets the underlying stream, withoutBitstream.ByteStream.close()ing the previous one.longskip(long n) It is implementation dependent, whether backward skip giving a negative number is supported or not.intwrite(byte val) Writes one byte, to the stream.
-
Constructor Details
-
ByteArrayStream
public ByteArrayStream(byte[] stream)
-
-
Method Details
-
setStream
public void setStream(byte[] stream) Description copied from interface:Bitstream.ByteStreamSets the underlying stream, withoutBitstream.ByteStream.close()ing the previous one.- Specified by:
setStreamin interfaceBitstream.ByteStream<byte[]>
-
getStream
public byte[] getStream()Description copied from interface:Bitstream.ByteStreamReturns the underlying stream- Specified by:
getStreamin interfaceBitstream.ByteStream<byte[]>
-
close
public void close()Description copied from interface:Bitstream.ByteStreamClosing the underlying stream, impliesBitstream.ByteStream.flush().Implementation will
nullthe stream references, henceBitstream.ByteStream.setStream(Object)must be called before re-using instance.- Specified by:
closein interfaceBitstream.ByteStream<byte[]>
-
flush
public void flush()Description copied from interface:Bitstream.ByteStreamSynchronizes all underlyingoutput streamoperations, or do nothing.- Specified by:
flushin interfaceBitstream.ByteStream<byte[]>
-
canInput
public boolean canInput()Description copied from interface:Bitstream.ByteStreamReturn true if stream can handle input, i.e.Bitstream.ByteStream.read().- Specified by:
canInputin interfaceBitstream.ByteStream<byte[]>
-
canOutput
public boolean canOutput()Description copied from interface:Bitstream.ByteStreamReturn true if stream can handle output, i.e.Bitstream.ByteStream.write(byte)- Specified by:
canOutputin interfaceBitstream.ByteStream<byte[]>
-
position
public long position()Description copied from interface:Bitstream.ByteStreamReturns the byte position in the stream.- Specified by:
positionin interfaceBitstream.ByteStream<byte[]>
-
position
public long position(long newPosition) throws UnsupportedOperationException, IllegalArgumentException Description copied from interface:Bitstream.ByteStreamSets this stream's position.A set mark is cleared if > new position.
Returns
Bitstream.EOSis end-of-stream is reached, otherwise the new position.Known supporting implementation is
Bitstream.ByteBufferStreamandBitstream.ByteArrayStream.- Specified by:
positionin interfaceBitstream.ByteStream<byte[]>- Parameters:
newPosition- The new positive position.- Returns:
- The new set position or
Bitstream.EOSif end-of-stream is reached. - Throws:
UnsupportedOperationException- if not supported, i.e.Bitstream.ByteInputStreamorBitstream.ByteOutputStreamIllegalArgumentException- If thenewPositionis negative
-
skip
public long skip(long n) Description copied from interface:Bitstream.ByteStreamIt is implementation dependent, whether backward skip giving a negative number is supported or not.- Specified by:
skipin interfaceBitstream.ByteStream<byte[]>- Parameters:
n- number of bytes to skip- Returns:
- actual skipped bytes
-
mark
public void mark(int readLimit) Description copied from interface:Bitstream.ByteStreamSetmarkposto current position, allowing the stream to beBitstream.ByteStream.reset().- Specified by:
markin interfaceBitstream.ByteStream<byte[]>
-
reset
Description copied from interface:Bitstream.ByteStreamReset stream position to markpos as set viaBitstream.ByteStream.mark(int).markpos is kept, hence
Bitstream.ByteStream.reset()can be called multiple times.- Specified by:
resetin interfaceBitstream.ByteStream<byte[]>- Throws:
IllegalStateException- if markpos has not been set viaBitstream.ByteStream.mark(int)or reset operation failed.
-
read
public int read()Description copied from interface:Bitstream.ByteStreamReads one byte from the stream.Returns
Bitstream.EOSis end-of-stream is reached, otherwise the resulting value.- Specified by:
readin interfaceBitstream.ByteStream<byte[]>
-
write
public int write(byte val) Description copied from interface:Bitstream.ByteStreamWrites one byte, to the stream.Returns
Bitstream.EOSis end-of-stream is reached, otherwise the written value.- Specified by:
writein interfaceBitstream.ByteStream<byte[]>
-