Class ASN1Sequence

All Implemented Interfaces:
ASN1Encodable
Direct Known Subclasses:
BERSequence, DERSequence, DLSequence

public abstract class ASN1Sequence
extends ASN1Primitive
  • Field Details

  • Constructor Details

    • ASN1Sequence

      protected ASN1Sequence()
      create an empty sequence
    • ASN1Sequence

      protected ASN1Sequence​(ASN1Encodable obj)
      create a sequence containing one object
    • ASN1Sequence

      protected ASN1Sequence​(ASN1EncodableVector v)
      create a sequence containing a vector of objects.
    • ASN1Sequence

      protected ASN1Sequence​(ASN1Encodable[] array)
      create a sequence containing a vector of objects.
  • Method Details

    • getInstance

      public static ASN1Sequence getInstance​(Object obj)
      return an ASN1Sequence from the given object.
      Parameters:
      obj - the object we want converted.
      Throws:
      IllegalArgumentException - if the object cannot be converted.
    • getInstance

      public static ASN1Sequence getInstance​(ASN1TaggedObject obj, boolean explicit)
      Return an ASN1 sequence from a tagged object. There is a special case here, if an object appears to have been explicitly tagged on reading but we were expecting it to be implicitly tagged in the normal course of events it indicates that we lost the surrounding sequence - so we need to add it back (this will happen if the tagged object is a sequence that contains other sequences). If you are dealing with implicitly tagged sequences you really should be using this method.
      Parameters:
      obj - the tagged object.
      explicit - true if the object is meant to be explicitly tagged, false otherwise.
      Throws:
      IllegalArgumentException - if the tagged object cannot be converted.
    • toArray

      public ASN1Encodable[] toArray()
    • getObjects

      public Enumeration getObjects()
    • parser

      public ASN1SequenceParser parser()
    • getObjectAt

      public ASN1Encodable getObjectAt​(int index)
      return the object at the sequence position indicated by index.
      Parameters:
      index - the sequence number (starting at zero) of the object
      Returns:
      the object at the sequence position indicated by index.
    • size

      public int size()
      return the number of objects in this sequence.
      Returns:
      the number of objects in this sequence.
    • hashCode

      public int hashCode()
      Description copied from class: Object
      Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

      Note that hash values must not change over time unless information used in equals comparisons also changes.

      See Writing a correct hashCode method if you intend implementing your own hashCode method.

      Specified by:
      hashCode in class ASN1Primitive
      Returns:
      this object's hash code.
      See Also:
      Object.equals(java.lang.Object)
    • toString

      public String toString()
      Description copied from class: Object
      Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
         getClass().getName() + '@' + Integer.toHexString(hashCode())

      See Writing a useful toString method if you intend implementing your own toString method.

      Overrides:
      toString in class Object
      Returns:
      a printable representation of this object.