Overview | Package | Class | Tree | Deprecated | Index | Help
| JSS 3.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mozilla.jss.asn1
Class CHOICE

    java.lang.Object
      |
      +--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 `CHOICE`s

Field Summary
`private Tag` | `tag`
`private ASN1Value` | `val`

Constructor Summary
`private` | `CHOICE()`
`` | `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`

Field Detail

### tag

    private Tag tag

### val

    private ASN1Value val

Constructor Detail

### CHOICE

    private CHOICE()

### 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`
    `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.
    `java.io.IOException`

Overview | Package | Class | Tree | Deprecated | Index | Help
| JSS 3.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD