001package org.apache.commons.ssl.org.bouncycastle.asn1.dvcs; 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.ASN1TaggedObject; 008import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 009import org.apache.commons.ssl.org.bouncycastle.asn1.cmp.PKIStatusInfo; 010import org.apache.commons.ssl.org.bouncycastle.asn1.x509.GeneralName; 011 012/** 013 * <pre> 014 * DVCSErrorNotice ::= SEQUENCE { 015 * transactionStatus PKIStatusInfo , 016 * transactionIdentifier GeneralName OPTIONAL 017 * } 018 * </pre> 019 */ 020public class DVCSErrorNotice 021 extends ASN1Object 022{ 023 private PKIStatusInfo transactionStatus; 024 private GeneralName transactionIdentifier; 025 026 public DVCSErrorNotice(PKIStatusInfo status) 027 { 028 this(status, null); 029 } 030 031 public DVCSErrorNotice(PKIStatusInfo status, GeneralName transactionIdentifier) 032 { 033 this.transactionStatus = status; 034 this.transactionIdentifier = transactionIdentifier; 035 } 036 037 private DVCSErrorNotice(ASN1Sequence seq) 038 { 039 this.transactionStatus = PKIStatusInfo.getInstance(seq.getObjectAt(0)); 040 if (seq.size() > 1) 041 { 042 this.transactionIdentifier = GeneralName.getInstance(seq.getObjectAt(1)); 043 } 044 } 045 046 public static DVCSErrorNotice getInstance(Object obj) 047 { 048 if (obj instanceof DVCSErrorNotice) 049 { 050 return (DVCSErrorNotice)obj; 051 } 052 else if (obj != null) 053 { 054 return new DVCSErrorNotice(ASN1Sequence.getInstance(obj)); 055 } 056 057 return null; 058 } 059 060 public static DVCSErrorNotice getInstance( 061 ASN1TaggedObject obj, 062 boolean explicit) 063 { 064 return getInstance(ASN1Sequence.getInstance(obj, explicit)); 065 } 066 067 public ASN1Primitive toASN1Primitive() 068 { 069 ASN1EncodableVector v = new ASN1EncodableVector(); 070 v.add(transactionStatus); 071 if (transactionIdentifier != null) 072 { 073 v.add(transactionIdentifier); 074 } 075 return new DERSequence(v); 076 } 077 078 public String toString() 079 { 080 return "DVCSErrorNotice {\n" + 081 "transactionStatus: " + transactionStatus + "\n" + 082 (transactionIdentifier != null ? "transactionIdentifier: " + transactionIdentifier + "\n" : "") + 083 "}\n"; 084 } 085 086 087 public PKIStatusInfo getTransactionStatus() 088 { 089 return transactionStatus; 090 } 091 092 public GeneralName getTransactionIdentifier() 093 { 094 return transactionIdentifier; 095 } 096}