You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.




org.mozilla.jss.asn1
Class CHOICE

java.lang.Object
  extended by org.mozilla.jss.asn1.CHOICE
All Implemented Interfaces:
ASN1Value

public class CHOICE
extends java.lang.Object
implements ASN1Value

Objects of this class are generated by CHOICE.Template.decode(). It is not necessary to use them to encode a CHOICE. Since the encoding of a CHOICE is simply the encoding of the chosen element, it is easier to just write out the chosen element.


Nested Class Summary
static class CHOICE.Template
          A Template for decoding ASN.1 CHOICEs
 
Constructor Summary
CHOICE(ASN1Value val)
          Create a CHOICE whose chosen element has no implicit tag.
CHOICE(Tag implicitTag, ASN1Value val)
          Create a CHOICE whose chosen element has an implicit tag.
 
Method Summary
 void encode(java.io.OutputStream ostream)
          Encodes this CHOICE.
 void encode(Tag implicitTag, java.io.OutputStream ostream)
          Encodes this CHOICE.
 Tag getTag()
          Returns the tag that the chosen element is encoded with, which is either the underlying tag of the element or an implicit tag.
static CHOICE.Template getTemplate()
           
 ASN1Value getValue()
          Returns the chosen value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CHOICE

public CHOICE(Tag implicitTag,
              ASN1Value val)
Create a CHOICE whose chosen element has an implicit tag.


CHOICE

public CHOICE(ASN1Value val)
Create a CHOICE whose chosen element has no implicit tag.

Method Detail

getTag

public Tag getTag()
Returns the tag that the chosen element is encoded with, which is either the underlying tag of the element or an implicit tag.

Specified by:
getTag in interface ASN1Value

getValue

public ASN1Value getValue()
Returns the chosen value.


getTemplate

public static CHOICE.Template getTemplate()

encode

public void encode(java.io.OutputStream ostream)
            throws java.io.IOException
Encodes this CHOICE. This merely consists of encoding the chosen element with an implicit tag, if one was given in the constructor, or with its own underlying tag.

Specified by:
encode in interface ASN1Value
Throws:
java.io.IOException

encode

public void encode(Tag implicitTag,
                   java.io.OutputStream ostream)
            throws java.io.IOException
Encodes this CHOICE. This merely consists of encoding the chosen element with an implicit tag, if one was given in the constructor, or with its own underlying tag.

Specified by:
encode in interface ASN1Value
Parameters:
implicitTag - This value is ignored. The tag of a CHOICE is merely the tag of the chosen element of the CHOICE. A CHOICE cannot itself have an implicit tag.
Throws:
java.io.IOException