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 GenRepContent 010 extends ASN1Object 011{ 012 private ASN1Sequence content; 013 014 private GenRepContent(ASN1Sequence seq) 015 { 016 content = seq; 017 } 018 019 public static GenRepContent getInstance(Object o) 020 { 021 if (o instanceof GenRepContent) 022 { 023 return (GenRepContent)o; 024 } 025 026 if (o != null) 027 { 028 return new GenRepContent(ASN1Sequence.getInstance(o)); 029 } 030 031 return null; 032 } 033 034 public GenRepContent(InfoTypeAndValue itv) 035 { 036 content = new DERSequence(itv); 037 } 038 039 public GenRepContent(InfoTypeAndValue[] itv) 040 { 041 ASN1EncodableVector v = new ASN1EncodableVector(); 042 for (int i = 0; i < itv.length; i++) 043 { 044 v.add(itv[i]); 045 } 046 content = new DERSequence(v); 047 } 048 049 public InfoTypeAndValue[] toInfoTypeAndValueArray() 050 { 051 InfoTypeAndValue[] result = new InfoTypeAndValue[content.size()]; 052 053 for (int i = 0; i != result.length; i++) 054 { 055 result[i] = InfoTypeAndValue.getInstance(content.getObjectAt(i)); 056 } 057 058 return result; 059 } 060 061 /** 062 * <pre> 063 * GenRepContent ::= SEQUENCE OF InfoTypeAndValue 064 * </pre> 065 * @return a basic ASN.1 object representation. 066 */ 067 public ASN1Primitive toASN1Primitive() 068 { 069 return content; 070 } 071}