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[]>
Specificbyte stream.
-
-
Constructor Summary
Constructors Constructor Description ByteArrayStream(byte[] stream)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanInput()Return true if stream can handle input, i.e.booleancanOutput()Return 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[]getStream()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.
-
-
-
Method Detail
-
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, IllegalArgumentExceptionDescription 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
public void reset() throws IllegalStateExceptionDescription 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[]>
-
-