Package org.mozilla.jss.asn1
Class SET.Template
- java.lang.Object
-
- org.mozilla.jss.asn1.SET.Template
-
- All Implemented Interfaces:
ASN1Template
- Enclosing class:
- SET
public static class SET.Template extends java.lang.Object implements ASN1Template
SET.Template This class is used for decoding DER-encoded SETs.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SET.Template.Element
An element of a SET template.
-
Constructor Summary
Constructors Constructor Description Template()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addElement(ASN1Template t)
Adds a sub-template to the end of this SET template.void
addElement(ASN1Template t, ASN1Value def)
Adds a sub-template with the given default value to the end of this SET template.void
addElement(Tag implicit, ASN1Template t)
Adds a sub-template with the given implicit tag to the end of this SET template.void
addElement(Tag implicit, ASN1Template t, ASN1Value def)
Adds a sub-template with the given default value and implicit tag to the end of this SET template.void
addOptionalElement(ASN1Template t)
Adds an optional sub-template to the end of this SET template.void
addOptionalElement(Tag implicit, ASN1Template t)
Adds an optional sub-template with the given implicit tag to the end of this SET template.ASN1Value
decode(java.io.InputStream istream)
Decodes the input stream into a SET value.ASN1Value
decode(Tag tag, java.io.InputStream istream)
Decodes the input stream into a SET value with the given implicit tag.ASN1Value
defaultAt(int index)
Returns the default value for the sub-template at the given index.Tag
implicitTagAt(int index)
Returns the implicit tag of the item stored at the given index.void
insertElementAt(ASN1Template t, int index)
Inserts the template at the given index.void
insertElementAt(ASN1Template t, ASN1Value def, int index)
Inserts the template with the given default value at the given index.void
insertElementAt(Tag implicit, ASN1Template t, int index)
Inserts the template with the given implicit tag at the given index.void
insertElementAt(Tag implicit, ASN1Template t, ASN1Value def, int index)
Inserts the template with the given implicit tag and given default value at the given index.void
insertOptionalElementAt(ASN1Template t, int index)
Inserts the optional template at the given index.void
insertOptionalElementAt(Tag implicit, ASN1Template t, int index)
Inserts the optional template with the given default value at the given index.boolean
isOptionalAt(int index)
Returnstrue
if the sub-template at the given index is optional.void
removeAllElements()
void
removeElementAt(int index)
int
size()
boolean
tagMatch(Tag tag)
Determines whether the given tag satisfies this template.ASN1Template
templateAt(int index)
Returns the sub-template stored at the given index.
-
-
-
Method Detail
-
addElement
public void addElement(ASN1Template t)
Adds a sub-template to the end of this SET template. For example, if the ASN.1 included:MySet ::= SET { item SubType, ... }
the "item" element would be added to the MySet template with:mySet.addElement( new SubType.Template() );
- Parameters:
t
- Sub-template.
-
insertElementAt
public void insertElementAt(ASN1Template t, int index)
Inserts the template at the given index.- Parameters:
t
- Sub-template.index
- Index.
-
addElement
public void addElement(Tag implicit, ASN1Template t)
Adds a sub-template with the given implicit tag to the end of this SET template. For example, if the ASN.1 included:MySet ::= SET { item [0] IMPLICIT SubType, ... }
the "item" element would be added to the MySet template with:mySet.addElement( new Tag(0), new SubType.Template() );
- Parameters:
implicit
- Implicit tag.t
- Sub-template.
-
insertElementAt
public void insertElementAt(Tag implicit, ASN1Template t, int index)
Inserts the template with the given implicit tag at the given index.- Parameters:
implicit
- Implicit tag.t
- Sub-template.index
- Index.
-
addOptionalElement
public void addOptionalElement(ASN1Template t)
Adds an optional sub-template to the end of this SET template. For example, if the ASN.1 included:MySet ::= SET { item SubType OPTIONAL, ... }
the "item" element would be added to the MySet template with:mySet.addOptionalElement( new SubType.Template() );
- Parameters:
t
- Optional sub-template.
-
insertOptionalElementAt
public void insertOptionalElementAt(ASN1Template t, int index)
Inserts the optional template at the given index.- Parameters:
t
- Optional sub-template.index
- Index.
-
addOptionalElement
public void addOptionalElement(Tag implicit, ASN1Template t)
Adds an optional sub-template with the given implicit tag to the end of this SET template. For example, if the ASN.1 included:MySet ::= SET { item [0] IMPLICIT SubType OPTIONAL, ... }
the "item" element would be added to the MySet template with:mySet.addOptionalElement( new Tag(0), new SubType.Template() );
- Parameters:
implicit
- Implicit tag.t
- Optional sub-template.
-
insertOptionalElementAt
public void insertOptionalElementAt(Tag implicit, ASN1Template t, int index)
Inserts the optional template with the given default value at the given index.- Parameters:
implicit
- Implicit tag.t
- Optional sub-template.index
- Index.
-
addElement
public void addElement(ASN1Template t, ASN1Value def)
Adds a sub-template with the given default value to the end of this SET template. For example, if the ASN.1 included:MySet ::= SET { item INTEGER DEFAULT (5), ... }
the "item" element would be added to the MySet template with:mySet.addElement( new SubType.Template(), new INTEGER(5) );
- Parameters:
t
- Sub-template.def
- Default value.
-
insertElementAt
public void insertElementAt(ASN1Template t, ASN1Value def, int index)
Inserts the template with the given default value at the given index.- Parameters:
t
- Sub-template.def
- Default value.index
- Index.
-
addElement
public void addElement(Tag implicit, ASN1Template t, ASN1Value def)
Adds a sub-template with the given default value and implicit tag to the end of this SET template. For example, if the ASN.1 included:MySet ::= SET { item [0] IMPLICIT INTEGER DEFAULT (5), ... }
the "item" element would be added to the MySet template with:mySet.addElement( new Tag(0), new SubType.Template(), new INTEGER(5) );
- Parameters:
implicit
- Implicit tag.t
- Sub-template.def
- Default value.
-
insertElementAt
public void insertElementAt(Tag implicit, ASN1Template t, ASN1Value def, int index)
Inserts the template with the given implicit tag and given default value at the given index.- Parameters:
implicit
- Implicit tag.t
- Sub-template.def
- Default value.index
- Index.
-
implicitTagAt
public Tag implicitTagAt(int index)
Returns the implicit tag of the item stored at the given index. May be NULL if no implicit tag was specified.- Parameters:
index
- Index.- Returns:
- Implicit tag.
-
templateAt
public ASN1Template templateAt(int index)
Returns the sub-template stored at the given index.- Parameters:
index
- Index.- Returns:
- Sub-template.
-
isOptionalAt
public boolean isOptionalAt(int index)
Returnstrue
if the sub-template at the given index is optional.- Parameters:
index
- Index.- Returns:
- True if sub-template is optional.
-
defaultAt
public ASN1Value defaultAt(int index)
Returns the default value for the sub-template at the given index. May return NULL if no default value was specified.- Parameters:
index
- Index.- Returns:
- Default value.
-
size
public int size()
- Returns:
- The number of elements in the SET.
-
removeAllElements
public void removeAllElements()
-
removeElementAt
public void removeElementAt(int index)
-
tagMatch
public boolean tagMatch(Tag tag)
Determines whether the given tag satisfies this template.- Specified by:
tagMatch
in interfaceASN1Template
- Parameters:
tag
- Tag.- Returns:
- True if tag satisfies this template.
-
decode
public ASN1Value decode(java.io.InputStream istream) throws java.io.IOException, InvalidBERException
Decodes the input stream into a SET value.- Specified by:
decode
in interfaceASN1Template
- Parameters:
istream
- Input stream.- Returns:
- Decoded SET value.
- Throws:
java.io.IOException
- If other error occurred.InvalidBERException
- If there is an invalid BER encoding.
-
decode
public ASN1Value decode(Tag tag, java.io.InputStream istream) throws java.io.IOException, InvalidBERException
Decodes the input stream into a SET value with the given implicit tag.- Specified by:
decode
in interfaceASN1Template
- Parameters:
tag
- Implicit tag.istream
- Input stream.- Returns:
- Decoded SET value.
- Throws:
java.io.IOException
- If other error occurred.InvalidBERException
- If there is an invalid BER encoding.
-
-