package org.bouncycastle.asn1;

import java.io.IOException;
import java.io.InputStream;

import org.bouncycastle.util.io.Streams;

A parser for indefinite-length OCTET STRINGs.
/** * A parser for indefinite-length OCTET STRINGs. */
public class BEROctetStringParser implements ASN1OctetStringParser { private ASN1StreamParser _parser; BEROctetStringParser( ASN1StreamParser parser) { _parser = parser; }
Return an InputStream representing the contents of the OCTET STRING.
Returns:an InputStream with its source as the OCTET STRING content.
/** * Return an InputStream representing the contents of the OCTET STRING. * * @return an InputStream with its source as the OCTET STRING content. */
public InputStream getOctetStream() { return new ConstructedOctetStream(_parser); }
Return an in-memory, encodable, representation of the OCTET STRING.
Throws:
Returns:a BEROctetString.
/** * Return an in-memory, encodable, representation of the OCTET STRING. * * @return a BEROctetString. * @throws IOException if there is an issue loading the data. */
public ASN1Primitive getLoadedObject() throws IOException { return new BEROctetString(Streams.readAll(getOctetStream())); }
Return an BEROctetString representing this parser and its contents.
Returns:an BEROctetString
/** * Return an BEROctetString representing this parser and its contents. * * @return an BEROctetString */
public ASN1Primitive toASN1Primitive() { try { return getLoadedObject(); } catch (IOException e) { throw new ASN1ParsingException("IOException converting stream to byte array: " + e.getMessage(), e); } } }