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 * CompleteRevocationRefs ::= SEQUENCE OF CrlOcspRef
013 * </pre>
014 */
015public class CompleteRevocationRefs
016    extends ASN1Object
017{
018
019    private ASN1Sequence crlOcspRefs;
020
021    public static CompleteRevocationRefs getInstance(Object obj)
022    {
023        if (obj instanceof CompleteRevocationRefs)
024        {
025            return (CompleteRevocationRefs)obj;
026        }
027        else if (obj != null)
028        {
029            return new CompleteRevocationRefs(ASN1Sequence.getInstance(obj));
030        }
031
032        return null;
033    }
034
035    private CompleteRevocationRefs(ASN1Sequence seq)
036    {
037        Enumeration seqEnum = seq.getObjects();
038        while (seqEnum.hasMoreElements())
039        {
040            CrlOcspRef.getInstance(seqEnum.nextElement());
041        }
042        this.crlOcspRefs = seq;
043    }
044
045    public CompleteRevocationRefs(CrlOcspRef[] crlOcspRefs)
046    {
047        this.crlOcspRefs = new DERSequence(crlOcspRefs);
048    }
049
050    public CrlOcspRef[] getCrlOcspRefs()
051    {
052        CrlOcspRef[] result = new CrlOcspRef[this.crlOcspRefs.size()];
053        for (int idx = 0; idx < result.length; idx++)
054        {
055            result[idx] = CrlOcspRef.getInstance(this.crlOcspRefs
056                .getObjectAt(idx));
057        }
058        return result;
059    }
060
061    public ASN1Primitive toASN1Primitive()
062    {
063        return this.crlOcspRefs;
064    }
065}