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