1package org.bouncycastle.asn1;
2
3import java.io.IOException;
4import java.io.InputStream;
5
6import org.bouncycastle.util.io.Streams;
7
8public class BEROctetStringParser
9    implements ASN1OctetStringParser
10{
11    private ASN1StreamParser _parser;
12
13    BEROctetStringParser(
14        ASN1StreamParser parser)
15    {
16        _parser = parser;
17    }
18
19    public InputStream getOctetStream()
20    {
21        return new ConstructedOctetStream(_parser);
22    }
23
24    public ASN1Primitive getLoadedObject()
25        throws IOException
26    {
27        return new BEROctetString(Streams.readAll(getOctetStream()));
28    }
29
30    public ASN1Primitive toASN1Primitive()
31    {
32        try
33        {
34            return getLoadedObject();
35        }
36        catch (IOException e)
37        {
38            throw new ASN1ParsingException("IOException converting stream to byte array: " + e.getMessage(), e);
39        }
40    }
41}
42