Package org.gudy.bouncycastle.asn1
Class ASN1Set
- java.lang.Object
-
- org.gudy.bouncycastle.asn1.ASN1Encodable
-
- org.gudy.bouncycastle.asn1.DERObject
-
- org.gudy.bouncycastle.asn1.ASN1Object
-
- org.gudy.bouncycastle.asn1.ASN1Set
-
- All Implemented Interfaces:
DEREncodable
,DERTags
- Direct Known Subclasses:
DERConstructedSet
,DERSet
public abstract class ASN1Set extends ASN1Object
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Vector
set
-
Fields inherited from class org.gudy.bouncycastle.asn1.ASN1Encodable
BER, DER
-
Fields inherited from interface org.gudy.bouncycastle.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
Constructors Constructor Description ASN1Set()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addObject(DEREncodable obj)
(package private) boolean
asn1Equals(DERObject o)
(package private) abstract void
encode(DEROutputStream out)
private byte[]
getEncoded(DEREncodable obj)
static ASN1Set
getInstance(java.lang.Object obj)
return an ASN1Set from the given object.static ASN1Set
getInstance(ASN1TaggedObject obj, boolean explicit)
Return an ASN1 set from a tagged object.DEREncodable
getObjectAt(int index)
return the object at the set postion indicated by index.java.util.Enumeration
getObjects()
int
hashCode()
private boolean
lessThanOrEqual(byte[] a, byte[] b)
return true if a <= b (arrays are assumed padded with zeros).ASN1SetParser
parser()
int
size()
return the number of objects in this set.protected void
sort()
java.lang.String
toString()
-
Methods inherited from class org.gudy.bouncycastle.asn1.ASN1Object
equals, fromByteArray
-
Methods inherited from class org.gudy.bouncycastle.asn1.DERObject
toASN1Object
-
Methods inherited from class org.gudy.bouncycastle.asn1.ASN1Encodable
getDEREncoded, getDERObject, getEncoded, getEncoded
-
-
-
-
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.
-
parser
public ASN1SetParser parser()
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classASN1Object
-
asn1Equals
boolean asn1Equals(DERObject o)
- Specified by:
asn1Equals
in classASN1Object
-
lessThanOrEqual
private boolean lessThanOrEqual(byte[] a, byte[] b)
return true if a <= b (arrays are assumed padded with zeros).
-
getEncoded
private byte[] getEncoded(DEREncodable obj)
-
sort
protected void sort()
-
addObject
protected void addObject(DEREncodable obj)
-
encode
abstract void encode(DEROutputStream out) throws java.io.IOException
- Specified by:
encode
in classASN1Object
- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-