package org.bouncycastle.asn1.x509.qualified;

import java.util.Enumeration;

import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DERSequence;

The QCStatement object.
QCStatement ::= SEQUENCE {
  statementId        OBJECT IDENTIFIER,
  statementInfo      ANY DEFINED BY statementId OPTIONAL} 
/** * The QCStatement object. * <pre> * QCStatement ::= SEQUENCE { * statementId OBJECT IDENTIFIER, * statementInfo ANY DEFINED BY statementId OPTIONAL} * </pre> */
public class QCStatement extends ASN1Object implements ETSIQCObjectIdentifiers, RFC3739QCObjectIdentifiers { ASN1ObjectIdentifier qcStatementId; ASN1Encodable qcStatementInfo; public static QCStatement getInstance( Object obj) { if (obj instanceof QCStatement) { return (QCStatement)obj; } if (obj != null) { return new QCStatement(ASN1Sequence.getInstance(obj)); } return null; } private QCStatement( ASN1Sequence seq) { Enumeration e = seq.getObjects(); // qcStatementId qcStatementId = ASN1ObjectIdentifier.getInstance(e.nextElement()); // qcstatementInfo if (e.hasMoreElements()) { qcStatementInfo = (ASN1Encodable) e.nextElement(); } } public QCStatement( ASN1ObjectIdentifier qcStatementId) { this.qcStatementId = qcStatementId; this.qcStatementInfo = null; } public QCStatement( ASN1ObjectIdentifier qcStatementId, ASN1Encodable qcStatementInfo) { this.qcStatementId = qcStatementId; this.qcStatementInfo = qcStatementInfo; } public ASN1ObjectIdentifier getStatementId() { return qcStatementId; } public ASN1Encodable getStatementInfo() { return qcStatementInfo; } public ASN1Primitive toASN1Primitive() { ASN1EncodableVector seq = new ASN1EncodableVector(); seq.add(qcStatementId); if (qcStatementInfo != null) { seq.add(qcStatementInfo); } return new DERSequence(seq); } }