001package org.apache.commons.ssl.org.bouncycastle.asn1.esf; 002 003import java.util.Enumeration; 004 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 007import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Sequence; 008import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 009 010/** 011 * <pre> 012 * CRLListID ::= SEQUENCE { 013 * crls SEQUENCE OF CrlValidatedID } 014 * </pre> 015 */ 016public class CrlListID 017 extends ASN1Object 018{ 019 020 private ASN1Sequence crls; 021 022 public static CrlListID getInstance(Object obj) 023 { 024 if (obj instanceof CrlListID) 025 { 026 return (CrlListID)obj; 027 } 028 else if (obj != null) 029 { 030 return new CrlListID(ASN1Sequence.getInstance(obj)); 031 } 032 033 return null; 034 } 035 036 private CrlListID(ASN1Sequence seq) 037 { 038 this.crls = (ASN1Sequence)seq.getObjectAt(0); 039 Enumeration e = this.crls.getObjects(); 040 while (e.hasMoreElements()) 041 { 042 CrlValidatedID.getInstance(e.nextElement()); 043 } 044 } 045 046 public CrlListID(CrlValidatedID[] crls) 047 { 048 this.crls = new DERSequence(crls); 049 } 050 051 public CrlValidatedID[] getCrls() 052 { 053 CrlValidatedID[] result = new CrlValidatedID[this.crls.size()]; 054 for (int idx = 0; idx < result.length; idx++) 055 { 056 result[idx] = CrlValidatedID 057 .getInstance(this.crls.getObjectAt(idx)); 058 } 059 return result; 060 } 061 062 public ASN1Primitive toASN1Primitive() 063 { 064 return new DERSequence(this.crls); 065 } 066}