Class CHOICE.Template

  • All Implemented Interfaces:
    ASN1Template
    Enclosing class:
    CHOICE

    public static class CHOICE.Template
    extends java.lang.Object
    implements ASN1Template
    A Template for decoding ASN.1 CHOICEs
    • Constructor Summary

      Constructors 
      Constructor Description
      Template()
      Creates an empty CHOICE template
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addElement​(ASN1Template template)
      Adds a new sub-template to this CHOICE template with no implicit tag.
      void addElement​(Tag implicitTag, ASN1Template template)
      Adds a new sub-template to this CHOICE template with an implicit tag.
      ASN1Value decode​(java.io.InputStream istream)
      Decodes an ASN1Value from the InputStream without an implicit tag.
      ASN1Value decode​(Tag implicitTag, java.io.InputStream istream)
      Decodes a CHOICE.
      ASN1Template elementAt​(int index)  
      Tag implicitTagAt​(int index)
      Retrieves the implicit tag of the element at the specified index.
      void removeAllElements()
      Empties this CHOICE template.
      void removeElementAt​(int index)
      Removes the element at the specified index.
      int size()  
      boolean tagMatch​(Tag t)
      Determines whether the given tag will satisfy this template.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Template

        public Template()
        Creates an empty CHOICE template
    • Method Detail

      • addElement

        public void addElement​(ASN1Template template)
        Adds a new sub-template to this CHOICE template with no implicit tag.
        Parameters:
        template - Sub-template.
      • addElement

        public void addElement​(Tag implicitTag,
                               ASN1Template template)
        Adds a new sub-template to this CHOICE template with an implicit tag.
        Parameters:
        implicitTag - Implicit tag.
        template - Sub-template.
      • size

        public int size()
        Returns:
        The number of elements in this CHOICE template.
      • elementAt

        public ASN1Template elementAt​(int index)
        Parameters:
        index - Element index.
        Returns:
        The element at the specified index.
      • implicitTagAt

        public Tag implicitTagAt​(int index)
        Retrieves the implicit tag of the element at the specified index. Returns null if there is no implicit tag for this element.
        Parameters:
        index - Element index.
        Returns:
        The implicit tag.
      • removeAllElements

        public void removeAllElements()
        Empties this CHOICE template.
      • removeElementAt

        public void removeElementAt​(int index)
        Removes the element at the specified index.
        Parameters:
        index - Element index.
      • tagMatch

        public boolean tagMatch​(Tag t)
        Determines whether the given tag will satisfy this template.
        Specified by:
        tagMatch in interface ASN1Template
        Parameters:
        t - The tag.
        Returns:
        True if the tag satisfies any sub-template.
      • decode

        public ASN1Value decode​(java.io.InputStream istream)
                         throws java.io.IOException,
                                InvalidBERException
        Description copied from interface: ASN1Template
        Decodes an ASN1Value from the InputStream without an implicit tag.
        Specified by:
        decode in interface ASN1Template
        Parameters:
        istream - Must support marking (markSupported() == true). For example, ByteArrayInputStream and BufferedInputStream support marking, but FileInputStream does not. If your source does not support marking, you can wrap it in a BufferedInputStream.
        Returns:
        ASN.1 value.
        Throws:
        java.io.IOException - If other error occurred.
        InvalidBERException - If there is an invalid BER encoding.
      • decode

        public ASN1Value decode​(Tag implicitTag,
                                java.io.InputStream istream)
                         throws java.io.IOException,
                                InvalidBERException
        Decodes a CHOICE.
        Specified by:
        decode in interface ASN1Template
        Parameters:
        implicitTag - This parameter is ignored. A choice cannot have an implicit tag.
        istream - Must support marking (markSupported() == true). For example, ByteArrayInputStream and BufferedInputStream support marking, but FileInputStream does not. If your source does not support marking, you can wrap it in a BufferedInputStream.
        Returns:
        ASN.1 value.
        Throws:
        java.io.IOException - If other error occurred.
        InvalidBERException - If there is an invalid BER encoding.