Methods Summary |
---|
protected void | addObject(DEREncodable obj)
set.addElement(obj);
|
abstract void | encode(DEROutputStream out)
|
public boolean | equals(java.lang.Object o)
if (o == null || !(o instanceof ASN1Set))
{
return false;
}
ASN1Set other = (ASN1Set)o;
if (this.size() != other.size())
{
return false;
}
Enumeration s1 = this.getObjects();
Enumeration s2 = other.getObjects();
while (s1.hasMoreElements())
{
if (!s1.nextElement().equals(s2.nextElement()))
{
return false;
}
}
return true;
|
public static org.bouncycastle.asn1.ASN1Set | getInstance(java.lang.Object obj)return an ASN1Set from the given object.
if (obj == null || obj instanceof ASN1Set)
{
return (ASN1Set)obj;
}
throw new IllegalArgumentException("unknown object in getInstance");
|
public static org.bouncycastle.asn1.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.
if (explicit)
{
if (!obj.isExplicit())
{
throw new IllegalArgumentException("object implicit - explicit expected.");
}
return (ASN1Set)obj.getObject();
}
else
{
//
// constructed object which appears to be explicitly tagged
// and it's really implicit means we have to add the
// surrounding sequence.
//
if (obj.isExplicit())
{
ASN1Set set = new DERSet(obj.getObject());
return set;
}
else
{
if (obj.getObject() instanceof ASN1Set)
{
return (ASN1Set)obj.getObject();
}
//
// in this case the parser returns a sequence, convert it
// into a set.
//
ASN1EncodableVector v = new ASN1EncodableVector();
if (obj.getObject() instanceof ASN1Sequence)
{
ASN1Sequence s = (ASN1Sequence)obj.getObject();
Enumeration e = s.getObjects();
while (e.hasMoreElements())
{
v.add((DEREncodable)e.nextElement());
}
return new DERSet(v);
}
}
}
throw new IllegalArgumentException(
"unknown object in getInstanceFromTagged");
|
public DEREncodable | getObjectAt(int index)return the object at the set postion indicated by index.
return (DEREncodable)set.elementAt(index);
|
public java.util.Enumeration | getObjects()
return set.elements();
|
public int | hashCode()
Enumeration e = this.getObjects();
int hashCode = 0;
while (e.hasMoreElements())
{
hashCode ^= e.nextElement().hashCode();
}
return hashCode;
|
public int | size()return the number of objects in this set.
return set.size();
|