Package com.adobe.internal.io.stream
Class InputByteStreamImpl
- java.lang.Object
 - 
- com.adobe.internal.io.stream.InputByteStreamImpl
 
 
- 
- All Implemented Interfaces:
 InputByteStream
- Direct Known Subclasses:
 PaddedInputByteStream,RangeInputByteStream
public abstract class InputByteStreamImpl extends java.lang.Object implements InputByteStream
Only for internal engineering use. This api can change without notice. 
- 
- 
Field Summary
- 
Fields inherited from interface com.adobe.internal.io.stream.InputByteStream
EOF 
 - 
 
- 
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description longbytesAvailable()Only for internal engineering use.abstract voidclose()Closes this InputByteStream and releases any system resources associated with the stream.booleaneof()Only for internal engineering use.abstract longgetPosition()Only for internal engineering use.abstract longlength()Only for internal engineering use.abstract intread()Only for internal engineering use.intread(byte[] bytes)Only for internal engineering use.abstract intread(byte[] bytes, int position, int length)Only for internal engineering use.abstract InputByteStreamseek(long position)Only for internal engineering use.InputByteStreamslice()Only for internal engineering use.abstract InputByteStreamslice(long begin, long length)Only for internal engineering use.java.io.InputStreamtoInputStream()Create an InputStream that represents the same data as this InputByteStream.java.lang.StringtoString()Only for internal engineering use.intunget()Only for internal engineering use. 
 - 
 
- 
- 
Method Detail
- 
slice
public abstract InputByteStream slice(long begin, long length) throws java.io.IOException
Only for internal engineering use. This api can change without notice. Create a newInputByteStreamthat that provides another view on the underlying data. This newInputByteStreamis completely independent and can be read from and positioned without affecting the original or any other sliceInputByteStreamobjects. The initial position of the slice is at zero - the beginning of the slice.- Specified by:
 slicein interfaceInputByteStream- Parameters:
 begin- Offset within the currentInputByteStreamto start the slice.length- The length of the slice.- Returns:
 - A slice of the original 
InputByteStream. - Throws:
 java.io.IOException
 
- 
slice
public InputByteStream slice() throws java.io.IOException
Only for internal engineering use. This api can change without notice. Create a newInputByteStreamthat that provides another view on the underlying data. This newInputByteStreamis completely independent and can be read from and positioned without affecting the original or any other sliceInputByteStreamobjects. The initial position of the slice is at zero - the beginning of the slice. The slice has the same bounds as the originalInputByteStream. One common but probably incorrect usage of this method is to create a temporary "view" on the data that is used briefly within a method and then discarded. This is pretty wasteful and creates a number of small objects. In that case it would be better to find the current position usinggetPosition()and store it locally in the method and then restore the position withsetPosition()before returning from the method.- Specified by:
 slicein interfaceInputByteStream- Returns:
 - A slice of the original 
InputByteStream. - Throws:
 java.io.IOException
 
- 
read
public abstract int read() throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. Read the byte at the current position. If the current position is at or beyond the end of the underlying data return a-1. If not beyond the end of the underlying data the current position is incremented by 1.- Specified by:
 readin interfaceInputByteStream- Returns:
 - The byte at the current position or 
-1if at or beyond EOF. - Throws:
 java.io.IOException
 
- 
read
public abstract int read(byte[] bytes, int position, int length) throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. Read an array of bytes starting at the current position. The position is incremented by the length of the array that has been read.- Specified by:
 readin interfaceInputByteStream- Parameters:
 bytes- The destination array.position- The offset in the byte array to put the first byte read.length- The number of bytes to read.- Throws:
 java.io.IOException
 
- 
read
public int read(byte[] bytes) throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. Read an array of bytes starting at the current position. The position is incremented by the length of the array that has been read.- Specified by:
 readin interfaceInputByteStream- Parameters:
 bytes- The destination array.- Throws:
 java.io.IOException
 
- 
unget
public int unget() throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. "Unget" the byte from underlying data. This essentially returns the byte just before the current position and sets the current position to point at that byte (one before the current position).- Specified by:
 ungetin interfaceInputByteStream- Throws:
 java.io.IOException
 
- 
seek
public abstract InputByteStream seek(long position) throws java.io.IOException
Only for internal engineering use. This api can change without notice. Set the current position in the underlying data. This position is pegged to be no less than zero and no greater than the length of the InputByteStream.- Specified by:
 seekin interfaceInputByteStream- Parameters:
 position- Where to set the current position.- Returns:
 - This object.
 - Throws:
 java.io.IOException
 
- 
getPosition
public abstract long getPosition() throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. Get the current position.- Specified by:
 getPositionin interfaceInputByteStream- Returns:
 - The current position.
 - Throws:
 java.io.IOException
 
- 
length
public abstract long length() throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. The maximum number of bytes that can be read from thisInputByteStream.- Specified by:
 lengthin interfaceInputByteStream- Returns:
 - Total number of bytes available in this 
InputByteStream. - Throws:
 java.io.IOException
 
- 
bytesAvailable
public long bytesAvailable() throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. The number of bytes available to be read from the current position.- Specified by:
 bytesAvailablein interfaceInputByteStream- Returns:
 - Number of bytes available from the current position in this 
InputByteStream. - Throws:
 java.io.IOException
 
- 
eof
public boolean eof() throws java.io.IOExceptionDescription copied from interface:InputByteStreamOnly for internal engineering use. This api can change without notice. Is the current position of thisInputByteStreamat or beyond the end of the underlying data.- Specified by:
 eofin interfaceInputByteStream- Returns:
 - True if the current position is beyond the end of the underlying data, false otherwise.
 - Throws:
 java.io.IOException
 
- 
close
public abstract void close() throws java.io.IOExceptionDescription copied from interface:InputByteStreamCloses this InputByteStream and releases any system resources associated with the stream. After this method is called then any further calls to this instance are errors.- Specified by:
 closein interfaceInputByteStream- Throws:
 java.io.IOException
 
- 
toString
public java.lang.String toString()
Only for internal engineering use. This api can change without notice.- Overrides:
 toStringin classjava.lang.Object
 
- 
toInputStream
public java.io.InputStream toInputStream() throws java.io.IOExceptionDescription copied from interface:InputByteStreamCreate an InputStream that represents the same data as this InputByteStream. The new InputStream is independent of the InputByteStream and operations on one will not affect the other including closing of either stream.- Specified by:
 toInputStreamin interfaceInputByteStream- Returns:
 - an InputStream that refers to the same underlying data
 - Throws:
 java.io.IOException
 
 - 
 
 -