com.objsys.asn1j.runtime
Class Asn1PerInputStream
java.lang.Object
com.objsys.asn1j.runtime.Asn1MessageBufferBase
com.objsys.asn1j.runtime.Asn1MessageBuffer
com.objsys.asn1j.runtime.Asn1DecodeBuffer
com.objsys.asn1j.runtime.Asn1PerDecodeBuffer
com.objsys.asn1j.runtime.Asn1PerInputStream
- All Implemented Interfaces:
- Asn1InputStream, Asn1PerMessageBuffer
public class Asn1PerInputStream
- extends Asn1PerDecodeBuffer
- implements Asn1InputStream
This class handles the input stream for decoding of ASN.1 messages
as specified in the Packed Encoding Rules (PER) ITU-T X.691 standard.
Constructor Summary |
Asn1PerInputStream(java.io.InputStream istream,
boolean aligned)
This constructor creates a PER input stream object that
references an encoded ASN.1 message. |
Method Summary |
int |
available()
Returns the number of bytes that can be read (or skipped over) from
this input stream without blocking by the next caller of a method for
this input stream. |
void |
close()
Closes this input stream and releases any system resources associated
with the stream. |
void |
mark(int readLimit)
This method is used to mark the current position in the input
stream for retry processing. |
boolean |
markSupported()
Tests if this input stream supports the mark and
reset methods. |
void |
reset()
This method is used to reset the current position in the input
stream back to the location of the last 'mark' call. |
long |
skip(long nbytes)
This method will skip over the requested number of bytes in
the input stream. |
Methods inherited from class com.objsys.asn1j.runtime.Asn1PerDecodeBuffer |
binDump, binDump, byteAlign, decodeBit, decodeBit, decodeBitsToInt, decodeBitsToInt, decodeBitsToLong, decodeBitsToLong, decodeBitsToOctetArray, decodeBitsToOctetArray, decodeBitsToOctetArray, decodeCharString, decodeConsWholeNumber, decodeConsWholeNumber, decodeExtLength, decodeInt, decodeInt, decodeLength, decodeLength, decodeSmallLength, decodeSmallNonNegWholeNumber, getBitOffset, getMsgBitCnt, getTraceHandler, isAligned, moveBitCursor, readByte, setAligned, setBuffer, setInputStream |
Methods inherited from class com.objsys.asn1j.runtime.Asn1DecodeBuffer |
addCaptureBuffer, capture, decodeIntValue, decodeOIDContents, decodeRelOIDContents, getByteCount, getInputStream, getLazyOpenTypeDecode, hexDump, init, read, read, read, read2Bytes, read4Bytes, removeCaptureBuffer, setLazyOpenTypeDecode |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Asn1PerInputStream
public Asn1PerInputStream(java.io.InputStream istream,
boolean aligned)
- This constructor creates a PER input stream object that
references an encoded ASN.1 message. In this case, the
message is passed in using an InputStream object.
- Parameters:
istream
- Input stream containing an encoded ASN.1 message.aligned
- Boolean specifying PER aligned or unaligned encoding.
available
public int available()
throws java.io.IOException
- Returns the number of bytes that can be read (or skipped over) from
this input stream without blocking by the next caller of a method for
this input stream. The next caller might be the same thread or or
another thread.
- Specified by:
available
in interface Asn1InputStream
- Returns:
- the number of bytes that can be read from this input stream
without blocking.
- Throws:
java.io.IOException
- if an I/O error occurs.
close
public void close()
throws java.io.IOException
- Closes this input stream and releases any system resources associated
with the stream.
- Specified by:
close
in interface Asn1InputStream
- Throws:
java.io.IOException
- if an I/O error occurs.
mark
public void mark(int readLimit)
- This method is used to mark the current position in the input
stream for retry processing. It is equivalent to the Java
InputStream 'mark' method.
- Specified by:
mark
in interface Asn1InputStream
- Overrides:
mark
in class Asn1DecodeBuffer
- Parameters:
readLimit
- Max number of bytes that can be read before mark
becomes invalid.
markSupported
public boolean markSupported()
- Tests if this input stream supports the
mark
and
reset
methods. The markSupported
method of
InputStream
returns false
.
- Specified by:
markSupported
in interface Asn1InputStream
- Returns:
true
if this true type supports the mark and reset
method; false
otherwise.
reset
public void reset()
- This method is used to reset the current position in the input
stream back to the location of the last 'mark' call. It is
equivalent to the Java InputStream 'reset' method.
- Specified by:
reset
in interface Asn1InputStream
- Overrides:
reset
in class Asn1DecodeBuffer
skip
public long skip(long nbytes)
throws java.io.IOException
- This method will skip over the requested number of bytes in
the input stream.
- Specified by:
skip
in interface Asn1InputStream
- Overrides:
skip
in class Asn1DecodeBuffer
- Parameters:
nbytes
- Number of bytes to skip
- Throws:
java.io.IOException
- if an I/O error occurs.