blob: 674e4883e2fd0a4e7848e930cc1b2191f39288a4 [file] [log] [blame]
/* GENERATED SOURCE. DO NOT MODIFY. */
package com.android.org.bouncycastle.asn1;
import java.io.IOException;
import java.io.InputStream;
import com.android.org.bouncycastle.util.io.Streams;
/**
* A parser for indefinite-length OCTET STRINGs.
* @hide This class is not part of the Android public SDK API
*/
public class BEROctetStringParser
implements ASN1OctetStringParser
{
private ASN1StreamParser _parser;
BEROctetStringParser(
ASN1StreamParser parser)
{
_parser = parser;
}
/**
* 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.
*
* @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.
*
* @return an BEROctetString
*/
public ASN1Primitive toASN1Primitive()
{
try
{
return getLoadedObject();
}
catch (IOException e)
{
throw new ASN1ParsingException("IOException converting stream to byte array: " + e.getMessage(), e);
}
}
}