Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

non_com.media.jai.codec
Class ByteArraySeekableStream  view ByteArraySeekableStream download ByteArraySeekableStream.java

java.lang.Object
  extended byjava.io.InputStream
      extended bynon_com.media.jai.codec.SeekableStream
          extended bynon_com.media.jai.codec.ByteArraySeekableStream
All Implemented Interfaces:
java.io.DataInput

public class ByteArraySeekableStream
extends SeekableStream

A subclass of SeekableStream that takes input from an array of bytes. Seeking backwards is supported. The mark() and resest() methods are supported.

This class is not a committed part of the JAI API. It may be removed or changed in future releases of JAI.


Field Summary
private  int length
          The length of the valid segment of the array.
private  int offset
          The starting offset within the array.
private  int pointer
          The current output position.
private  byte[] src
          Array holding the source data.
 
Fields inherited from class non_com.media.jai.codec.SeekableStream
markPos
 
Constructor Summary
ByteArraySeekableStream(byte[] src)
          Constructs a ByteArraySeekableStream taking input from an entire input byte array.
ByteArraySeekableStream(byte[] src, int offset, int length)
          Constructs a ByteArraySeekableStream taking input from a given segment of an input byte array.
 
Method Summary
 boolean canSeekBackwards()
          Returns true since this object supports seeking backwards.
 void close()
          Does nothing.
 long getFilePointer()
          Returns the current offset in this stream.
 long length()
          Returns the number of valid bytes in the input array.
 int read()
          Reads the next byte of data from the input array.
 int read(byte[] b, int off, int len)
          Copies up to len bytes of data from the input array into an array of bytes.
 void seek(long pos)
          Sets the offset, measured from the beginning of this stream, at which the next read occurs.
 int skipBytes(int n)
          Attempts to skip over n bytes of input discarding the skipped bytes.
 
Methods inherited from class non_com.media.jai.codec.SeekableStream
finalize, mark, markSupported, readBoolean, readByte, readChar, readCharLE, readDouble, readDoubleLE, readFloat, readFloatLE, readFully, readFully, readInt, readIntLE, readLine, readLong, readLongLE, readShort, readShortLE, readUnsignedByte, readUnsignedInt, readUnsignedIntLE, readUnsignedShort, readUnsignedShortLE, readUTF, reset, wrapInputStream
 
Methods inherited from class java.io.InputStream
available, read, skip
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

src

private byte[] src
Array holding the source data.


offset

private int offset
The starting offset within the array.


length

private int length
The length of the valid segment of the array.


pointer

private int pointer
The current output position.

Constructor Detail

ByteArraySeekableStream

public ByteArraySeekableStream(byte[] src,
                               int offset,
                               int length)
                        throws java.io.IOException
Constructs a ByteArraySeekableStream taking input from a given segment of an input byte array.


ByteArraySeekableStream

public ByteArraySeekableStream(byte[] src)
                        throws java.io.IOException
Constructs a ByteArraySeekableStream taking input from an entire input byte array.

Method Detail

getFilePointer

public long getFilePointer()
Returns the current offset in this stream.

Specified by:
getFilePointer in class SeekableStream

canSeekBackwards

public boolean canSeekBackwards()
Returns true since this object supports seeking backwards.

Overrides:
canSeekBackwards in class SeekableStream

seek

public void seek(long pos)
Sets the offset, measured from the beginning of this stream, at which the next read occurs. Seeking backwards is allowed.

Specified by:
seek in class SeekableStream

read

public int read()
Reads the next byte of data from the input array. The value byte is returned as an int in the range 0 to 255 . If no byte is available because the end of the stream has been reached, the value -1 is returned.

Specified by:
read in class SeekableStream

read

public int read(byte[] b,
                int off,
                int len)
Copies up to len bytes of data from the input array into an array of bytes. An attempt is made to copy as many as len bytes, but a smaller number may be copied, possibly zero. The number of bytes actually copied is returned as an integer.

If b is null, a NullPointerException is thrown.

If off is negative, or len is negative, or off+len is greater than the length of the array b , then an IndexOutOfBoundsException is thrown.

If len is zero, then no bytes are copied and 0 is returned; otherwise, there is an attempt to copy at least one byte. If no byte is available because the stream is at end of stream, the value -1 is returned; otherwise, at least one byte is copied into b.

The first byte copied is stored into element b[off], the next one into b[off+1], and so on. The number of bytes copied is, at most, equal to len. Let k be the number of bytes actually copied; these bytes will be stored in elements b[off] through b[off+k -1], leaving elements b[off+k ] through b[off+len-1] unaffected.

In every case, elements b[0] through b[off] and elements b[off+len] through b[b.length-1] are unaffected.

Specified by:
read in class SeekableStream

skipBytes

public int skipBytes(int n)
Attempts to skip over n bytes of input discarding the skipped bytes.

This method may skip over some smaller number of bytes, possibly zero. This may result from any of a number of conditions; reaching end of stream before n bytes have been skipped is only one possibility. This method never throws an EOFException. The actual number of bytes skipped is returned. If n is negative, no bytes are skipped.

Specified by:
skipBytes in interface java.io.DataInput
Overrides:
skipBytes in class SeekableStream

close

public void close()
Does nothing.


length

public long length()
Returns the number of valid bytes in the input array.