## com.lowagie.bc.asn1
Class ASN1Set

    java.lang.Object
      com.lowagie.bc.asn1.DERObject
          com.lowagie.bc.asn1.ASN1Set

All Implemented Interfaces:
  DEREncodable, DERTags

Direct Known Subclasses:
  DERConstructedSet, DERSet

    public abstract class ASN1Set

extends DERObject

Field Summary
`protected java.util.Vector` `set`

Fields inherited from interface com.lowagie.bc.asn1.DERTags
`APPLICATION, BIT_STRING, BMP_STRING, BOOLEAN, CONSTRUCTED, ENUMERATED, EXTERNAL, GENERAL_STRING, GENERALIZED_TIME, GRAPHIC_STRING, IA5_STRING, INTEGER, NULL, NUMERIC_STRING, OBJECT_IDENTIFIER, OCTET_STRING, PRINTABLE_STRING, SEQUENCE, SEQUENCE_OF, SET, SET_OF, T61_STRING, TAGGED, UNIVERSAL_STRING, UTC_TIME, UTF8_STRING, VIDEOTEX_STRING, VISIBLE_STRING`

Constructor Summary
`ASN1Set()`

Method Summary
`protected void` `addObject(DEREncodable obj)`
`(package private) abstract void` `encode(DEROutputStream out)`
`boolean` `equals(java.lang.Object o)`
`static ASN1Set` `getInstance(ASN1TaggedObject obj, boolean explicit)` Return an ASN1 set from a tagged object.
`static ASN1Set` `getInstance(java.lang.Object obj)` return an ASN1Set from the given object.
`DEREncodable` `getObjectAt(int index)` return the object at the set postion indicated by index.
`java.util.Enumeration` `getObjects()`
`int` `hashCode()`
`int` `size()` return the number of objects in this set.

Methods inherited from class com.lowagie.bc.asn1.DERObject
`getDERObject`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### set

    protected java.util.Vector set

Constructor Detail

### ASN1Set

    public ASN1Set()

Method Detail

### getInstance

    public static ASN1Set getInstance(java.lang.Object obj)

  return an ASN1Set from the given object.

  Parameters:
    `obj` - the object we want converted.
  Throws:
    `java.lang.IllegalArgumentException` - if the object cannot be converted.

### getInstance

    public static ASN1Set getInstance(ASN1TaggedObject obj,
                                      boolean explicit)

  Return an ASN1 set 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 implictly tagged in the normal course of events it indicates that we lost the surrounding set - 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 sets 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:
    `java.lang.IllegalArgumentException` - if the tagged object cannot be converted.

### getObjects

    public java.util.Enumeration getObjects()

### getObjectAt

    public DEREncodable getObjectAt(int index)

  return the object at the set postion indicated by index.

  Parameters:
    `index` - the set number (starting at zero) of the object
  Returns:
    the object at the set postion indicated by index.

### size

    public int size()

  return the number of objects in this set.

  Returns:
    the number of objects in this set.

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### equals

    public boolean equals(java.lang.Object o)

  Overrides:
    `equals` in class `java.lang.Object`

### addObject

    protected void addObject(DEREncodable obj)

### encode

    abstract void encode(DEROutputStream out)
                  throws java.io.IOException

  Specified by:
    `encode` in class `DERObject`
  Throws:
    `java.io.IOException`