001package org.apache.commons.ssl.org.bouncycastle.asn1.cmp; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1EncodableVector; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Sequence; 007import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 008 009public class PKIMessages 010 extends ASN1Object 011{ 012 private ASN1Sequence content; 013 014 private PKIMessages(ASN1Sequence seq) 015 { 016 content = seq; 017 } 018 019 public static PKIMessages getInstance(Object o) 020 { 021 if (o instanceof PKIMessages) 022 { 023 return (PKIMessages)o; 024 } 025 026 if (o != null) 027 { 028 return new PKIMessages(ASN1Sequence.getInstance(o)); 029 } 030 031 return null; 032 } 033 034 public PKIMessages(PKIMessage msg) 035 { 036 content = new DERSequence(msg); 037 } 038 039 public PKIMessages(PKIMessage[] msgs) 040 { 041 ASN1EncodableVector v = new ASN1EncodableVector(); 042 for (int i = 0; i < msgs.length; i++) 043 { 044 v.add(msgs[i]); 045 } 046 content = new DERSequence(v); 047 } 048 049 public PKIMessage[] toPKIMessageArray() 050 { 051 PKIMessage[] result = new PKIMessage[content.size()]; 052 053 for (int i = 0; i != result.length; i++) 054 { 055 result[i] = PKIMessage.getInstance(content.getObjectAt(i)); 056 } 057 058 return result; 059 } 060 061 /** 062 * <pre> 063 * PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage 064 * </pre> 065 * @return a basic ASN.1 object representation. 066 */ 067 public ASN1Primitive toASN1Primitive() 068 { 069 return content; 070 } 071}