Package org.mozilla.jss.asn1
Class SET
- java.lang.Object
-
- org.mozilla.jss.asn1.SET
-
- All Implemented Interfaces:
ASN1Value
- Direct Known Subclasses:
SEQUENCE
public class SET extends java.lang.Object implements ASN1Value
An ASN.1 SET, which is an unordered collection of ASN.1 values. It has an interface like a Java Vector, but the ordering is arbitrary. Null entries may be added; they will be skipped when encoding.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SET.OF_Template
A Template for decoding SET OF values.static class
SET.Template
SET.Template This class is used for decoding DER-encoded SETs.
-
Constructor Summary
Constructors Constructor Description SET()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addElement(ASN1Value v)
Adds an element to this SET.void
addElement(Tag implicitTag, ASN1Value v)
Adds an element to this SET with the given implicit tag.void
BERencode(Tag implicitTag, java.io.OutputStream ostream)
Encodes this SET without re-ordering it.ASN1Value
elementAt(int index)
Returns the element at the given index in the SET.ASN1Value
elementWithTag(Tag tag)
Returns the element with the given Tag, or null if no element exists with the given tag.void
encode(java.io.OutputStream ostream)
Writes the DER encoding to the given output stream.void
encode(Tag implicitTag, java.io.OutputStream ostream)
Writes the DER encoding to the given output stream, using the given implicit tag.Tag
getTag()
Returns the base tag for this type, not counting any tags that may be imposed on it by its context.void
insertElementAt(ASN1Value v, int index)
Inserts an element at the given index.void
insertElementAt(Tag implicitTag, ASN1Value v, int index)
Inserts an element with the given implicit tag at the given index.static void
main(java.lang.String[] args)
void
removeAllElements()
Removes all elements from this SET.void
removeElementAt(int index)
Removes the element from the specified index.int
size()
Tag
tagAt(int index)
Returns the tag of the element at the given index.
-
-
-
Method Detail
-
getTag
public Tag getTag()
Description copied from interface:ASN1Value
Returns the base tag for this type, not counting any tags that may be imposed on it by its context.
-
addElement
public void addElement(ASN1Value v)
Adds an element to this SET.- Parameters:
v
- Element.
-
addElement
public void addElement(Tag implicitTag, ASN1Value v)
Adds an element to this SET with the given implicit tag. For example, if the ASN.1 were:MyType ::= SET { item [0] IMPLICIT INTEGER, ... }
then the "item" element could be added (with a sample value of 45) to the SET with:myTypeInstance.addElement(new Tag(0), new INTEGER(45));
- Parameters:
implicitTag
- Implicit tag.v
- Element.
-
insertElementAt
public void insertElementAt(ASN1Value v, int index)
Inserts an element at the given index.- Parameters:
v
- Element.index
- Index.
-
insertElementAt
public void insertElementAt(Tag implicitTag, ASN1Value v, int index)
Inserts an element with the given implicit tag at the given index.- Parameters:
implicitTag
- Implicit tag.v
- Element.index
- Index.
-
elementAt
public ASN1Value elementAt(int index)
Returns the element at the given index in the SET.- Parameters:
index
- Index.- Returns:
- Element.
-
tagAt
public Tag tagAt(int index)
Returns the tag of the element at the given index. If the element has an implicit tag, that is returned. Otherwise, the tag of the underlying type is returned.- Parameters:
index
- Index.- Returns:
- Tag.
-
elementWithTag
public ASN1Value elementWithTag(Tag tag)
Returns the element with the given Tag, or null if no element exists with the given tag.- Parameters:
tag
- Tag.- Returns:
- Element.
-
size
public int size()
- Returns:
- The number of elements in this SET.
-
removeAllElements
public void removeAllElements()
Removes all elements from this SET.
-
removeElementAt
public void removeElementAt(int index)
Removes the element from the specified index.- Parameters:
index
- Index.
-
encode
public void encode(java.io.OutputStream ostream) throws java.io.IOException
Writes the DER encoding to the given output stream.
-
encode
public void encode(Tag implicitTag, java.io.OutputStream ostream) throws java.io.IOException
Writes the DER encoding to the given output stream, using the given implicit tag. To satisfy DER encoding rules, the elements will be re-ordered either by tag or lexicographically.
-
BERencode
public void BERencode(Tag implicitTag, java.io.OutputStream ostream) throws java.io.IOException
Encodes this SET without re-ordering it. This may violate DER, but it is within BER.- Parameters:
implicitTag
- Implicit tag.ostream
- Output stream.- Throws:
java.io.IOException
- If an error occurred.
-
main
public static void main(java.lang.String[] args)
-
-