Class 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

      Nested Classes 
      Modifier and Type Class Description
      static class  CHOICE.Template
      A Template for decoding ASN.1 CHOICEs
    • Constructor Summary

      Constructors 
      Constructor Description
      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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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()  
      • 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.
        Parameters:
        implicitTag - Implicit tag.
        val - The value.
      • CHOICE

        public CHOICE​(ASN1Value val)
        Create a CHOICE whose chosen element has no implicit tag.
        Parameters:
        val - The value.
    • 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
        Returns:
        Base tag.
      • getValue

        public ASN1Value getValue()
        Returns:
        The chosen value.
      • 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
        Parameters:
        ostream - Output stream.
        Throws:
        java.io.IOException - If an error occurred.
      • 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.
        ostream - Output stream.
        Throws:
        java.io.IOException - If an error occurred.