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}