Attributes.java revision a198e1ecc615e26a167d0f2dca9fa7e5fc62de10
1package org.bouncycastle.asn1.cms; 2 3import org.bouncycastle.asn1.ASN1EncodableVector; 4import org.bouncycastle.asn1.ASN1Object; 5import org.bouncycastle.asn1.ASN1Primitive; 6import org.bouncycastle.asn1.ASN1Set; 7import org.bouncycastle.asn1.DLSet; 8 9public class Attributes 10 extends ASN1Object 11{ 12 private ASN1Set attributes; 13 14 private Attributes(ASN1Set set) 15 { 16 attributes = set; 17 } 18 19 public Attributes(ASN1EncodableVector v) 20 { 21 attributes = new DLSet(v); 22 } 23 24 public static Attributes getInstance(Object obj) 25 { 26 if (obj instanceof Attributes) 27 { 28 return (Attributes)obj; 29 } 30 else if (obj != null) 31 { 32 return new Attributes(ASN1Set.getInstance(obj)); 33 } 34 35 return null; 36 } 37 38 public Attribute[] getAttributes() 39 { 40 Attribute[] rv = new Attribute[attributes.size()]; 41 42 for (int i = 0; i != rv.length; i++) 43 { 44 rv[i] = Attribute.getInstance(attributes.getObjectAt(i)); 45 } 46 47 return rv; 48 } 49 50 /** 51 * <pre> 52 * Attributes ::= 53 * SET SIZE(1..MAX) OF Attribute -- according to RFC 5652 54 * </pre> 55 * @return 56 */ 57 public ASN1Primitive toASN1Primitive() 58 { 59 return attributes; 60 } 61} 62