Package org.mozilla.jss.asn1
Class CHOICE.Template
- java.lang.Object
-
- org.mozilla.jss.asn1.CHOICE.Template
-
- All Implemented Interfaces:
ASN1Template
- Enclosing class:
- CHOICE
public static class CHOICE.Template extends java.lang.Object implements ASN1Template
A Template for decoding ASN.1CHOICE
s
-
-
Constructor Summary
Constructors Constructor Description Template()
Creates an empty CHOICE template
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addElement(ASN1Template template)
Adds a new sub-template to this CHOICE template with no implicit tag.void
addElement(Tag implicitTag, ASN1Template template)
Adds a new sub-template to this CHOICE template with an implicit tag.ASN1Value
decode(java.io.InputStream istream)
Decodes an ASN1Value from the InputStream without an implicit tag.ASN1Value
decode(Tag implicitTag, java.io.InputStream istream)
Decodes a CHOICE.ASN1Template
elementAt(int index)
Tag
implicitTagAt(int index)
Retrieves the implicit tag of the element at the specified index.void
removeAllElements()
Empties this CHOICE template.void
removeElementAt(int index)
Removes the element at the specified index.int
size()
boolean
tagMatch(Tag t)
Determines whether the given tag will satisfy this template.
-
-
-
Method Detail
-
addElement
public void addElement(ASN1Template template)
Adds a new sub-template to this CHOICE template with no implicit tag.- Parameters:
template
- Sub-template.
-
addElement
public void addElement(Tag implicitTag, ASN1Template template)
Adds a new sub-template to this CHOICE template with an implicit tag.- Parameters:
implicitTag
- Implicit tag.template
- Sub-template.
-
size
public int size()
- Returns:
- The number of elements in this CHOICE template.
-
elementAt
public ASN1Template elementAt(int index)
- Parameters:
index
- Element index.- Returns:
- The element at the specified index.
-
implicitTagAt
public Tag implicitTagAt(int index)
Retrieves the implicit tag of the element at the specified index. Returns null if there is no implicit tag for this element.- Parameters:
index
- Element index.- Returns:
- The implicit tag.
-
removeAllElements
public void removeAllElements()
Empties this CHOICE template.
-
removeElementAt
public void removeElementAt(int index)
Removes the element at the specified index.- Parameters:
index
- Element index.
-
tagMatch
public boolean tagMatch(Tag t)
Determines whether the given tag will satisfy this template.- Specified by:
tagMatch
in interfaceASN1Template
- Parameters:
t
- The tag.- Returns:
- True if the tag satisfies any sub-template.
-
decode
public ASN1Value decode(java.io.InputStream istream) throws java.io.IOException, InvalidBERException
Description copied from interface:ASN1Template
Decodes an ASN1Value from the InputStream without an implicit tag.- Specified by:
decode
in interfaceASN1Template
- Parameters:
istream
- Must support marking (markSupported() == true). For example, ByteArrayInputStream and BufferedInputStream support marking, but FileInputStream does not. If your source does not support marking, you can wrap it in a BufferedInputStream.- Returns:
- ASN.1 value.
- Throws:
java.io.IOException
- If other error occurred.InvalidBERException
- If there is an invalid BER encoding.
-
decode
public ASN1Value decode(Tag implicitTag, java.io.InputStream istream) throws java.io.IOException, InvalidBERException
Decodes a CHOICE.- Specified by:
decode
in interfaceASN1Template
- Parameters:
implicitTag
- This parameter is ignored. A choice cannot have an implicit tag.istream
- Must support marking (markSupported() == true). For example, ByteArrayInputStream and BufferedInputStream support marking, but FileInputStream does not. If your source does not support marking, you can wrap it in a BufferedInputStream.- Returns:
- ASN.1 value.
- Throws:
java.io.IOException
- If other error occurred.InvalidBERException
- If there is an invalid BER encoding.
-
-