Bouncy Castle Cryptography Library 1.71

org.bouncycastle.asn1
Interface ASN1TaggedObjectParser

All Superinterfaces:
ASN1Encodable, InMemoryRepresentable
All Known Subinterfaces:
ASN1ApplicationSpecificParser
All Known Implementing Classes:
ASN1ApplicationSpecific, ASN1TaggedObject, BERApplicationSpecificParser, BERTaggedObjectParser

public interface ASN1TaggedObjectParser
extends ASN1Encodable, InMemoryRepresentable

Interface for the parsing of a generic tagged ASN.1 object.


Method Summary
 ASN1Encodable getObjectParser(int tag, boolean isExplicit)
          Deprecated. This parser now includes the tag class. This method will raise an exception if it is not BERTags.CONTEXT_SPECIFIC. Use ASN1Util#parseContextBaseUniversal(ASN1TaggedObjectParser, int, int, boolean, int) as a direct replacement, or use parseBaseUniversal(boolean, int) only after confirming the expected tag class (e.g. ASN1Util.tryParseContextBaseUniversal(ASN1TaggedObjectParser, int, boolean, int).
 int getTagClass()
          Return the tag class associated with this object.
 int getTagNo()
          Return the tag number associated with this object.
 boolean hasContextTag(int tagNo)
           
 boolean hasTag(int tagClass, int tagNo)
           
 ASN1Encodable parseBaseUniversal(boolean declaredExplicit, int baseTagNo)
           
 ASN1Encodable parseExplicitBaseObject()
          Needed for open types, until we have better type-guided parsing support.
 ASN1TaggedObjectParser parseExplicitBaseTagged()
           
 ASN1TaggedObjectParser parseImplicitBaseTagged(int baseTagClass, int baseTagNo)
           
 
Methods inherited from interface org.bouncycastle.asn1.ASN1Encodable
toASN1Primitive
 
Methods inherited from interface org.bouncycastle.asn1.InMemoryRepresentable
getLoadedObject
 

Method Detail

getTagClass

public int getTagClass()
Return the tag class associated with this object.

Returns:
the tag class.

getTagNo

public int getTagNo()
Return the tag number associated with this object.

Returns:
the tag number.

hasContextTag

public boolean hasContextTag(int tagNo)

hasTag

public boolean hasTag(int tagClass,
                      int tagNo)

getObjectParser

public ASN1Encodable getObjectParser(int tag,
                                     boolean isExplicit)
                              throws java.io.IOException
Deprecated. This parser now includes the tag class. This method will raise an exception if it is not BERTags.CONTEXT_SPECIFIC. Use ASN1Util#parseContextBaseUniversal(ASN1TaggedObjectParser, int, int, boolean, int) as a direct replacement, or use parseBaseUniversal(boolean, int) only after confirming the expected tag class (e.g. ASN1Util.tryParseContextBaseUniversal(ASN1TaggedObjectParser, int, boolean, int).

Return a parser for the actual object tagged.

Parameters:
tag - the primitive tag value for the object tagged originally.
isExplicit - true if the tagging was done explicitly.
Returns:
a parser for the tagged object.
Throws:
java.io.IOException - if a parser cannot be constructed.

parseBaseUniversal

public ASN1Encodable parseBaseUniversal(boolean declaredExplicit,
                                        int baseTagNo)
                                 throws java.io.IOException
Throws:
java.io.IOException

parseExplicitBaseObject

public ASN1Encodable parseExplicitBaseObject()
                                      throws java.io.IOException
Needed for open types, until we have better type-guided parsing support. Use sparingly for other purposes, and prefer parseExplicitBaseTagged() or parseBaseUniversal(boolean, int) where possible. Before using, check for matching tag class and number.

Throws:
java.io.IOException

parseExplicitBaseTagged

public ASN1TaggedObjectParser parseExplicitBaseTagged()
                                               throws java.io.IOException
Throws:
java.io.IOException

parseImplicitBaseTagged

public ASN1TaggedObjectParser parseImplicitBaseTagged(int baseTagClass,
                                                      int baseTagNo)
                                               throws java.io.IOException
Throws:
java.io.IOException

Bouncy Castle Cryptography Library 1.71