001package org.apache.commons.ssl.org.bouncycastle.asn1.esf; 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.ASN1ObjectIdentifier; 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 010public class CommitmentTypeIndication 011 extends ASN1Object 012{ 013 private ASN1ObjectIdentifier commitmentTypeId; 014 private ASN1Sequence commitmentTypeQualifier; 015 016 private CommitmentTypeIndication( 017 ASN1Sequence seq) 018 { 019 commitmentTypeId = (ASN1ObjectIdentifier)seq.getObjectAt(0); 020 021 if (seq.size() > 1) 022 { 023 commitmentTypeQualifier = (ASN1Sequence)seq.getObjectAt(1); 024 } 025 } 026 027 public CommitmentTypeIndication( 028 ASN1ObjectIdentifier commitmentTypeId) 029 { 030 this.commitmentTypeId = commitmentTypeId; 031 } 032 033 public CommitmentTypeIndication( 034 ASN1ObjectIdentifier commitmentTypeId, 035 ASN1Sequence commitmentTypeQualifier) 036 { 037 this.commitmentTypeId = commitmentTypeId; 038 this.commitmentTypeQualifier = commitmentTypeQualifier; 039 } 040 041 public static CommitmentTypeIndication getInstance( 042 Object obj) 043 { 044 if (obj == null || obj instanceof CommitmentTypeIndication) 045 { 046 return (CommitmentTypeIndication)obj; 047 } 048 049 return new CommitmentTypeIndication(ASN1Sequence.getInstance(obj)); 050 } 051 052 public ASN1ObjectIdentifier getCommitmentTypeId() 053 { 054 return commitmentTypeId; 055 } 056 057 public ASN1Sequence getCommitmentTypeQualifier() 058 { 059 return commitmentTypeQualifier; 060 } 061 062 /** 063 * <pre> 064 * CommitmentTypeIndication ::= SEQUENCE { 065 * commitmentTypeId CommitmentTypeIdentifier, 066 * commitmentTypeQualifier SEQUENCE SIZE (1..MAX) OF 067 * CommitmentTypeQualifier OPTIONAL } 068 * </pre> 069 */ 070 public ASN1Primitive toASN1Primitive() 071 { 072 ASN1EncodableVector v = new ASN1EncodableVector(); 073 074 v.add(commitmentTypeId); 075 076 if (commitmentTypeQualifier != null) 077 { 078 v.add(commitmentTypeQualifier); 079 } 080 081 return new DERSequence(v); 082 } 083}