package org.bouncycastle.asn1.cmc; import java.util.HashMap; import java.util.Map; import org.bouncycastle.asn1.ASN1Integer; import org.bouncycastle.asn1.ASN1Object; import org.bouncycastle.asn1.ASN1Primitive; /** * <pre> * * CMCStatus ::= INTEGER { * success (0), * failed (2), * pending (3), * noSupport (4), * confirmRequired (5), * popRequired (6), * partial (7) * } * </pre> */ public class CMCStatus extends ASN1Object { public static final CMCStatus success = new CMCStatus(new ASN1Integer(0)); public static final CMCStatus failed = new CMCStatus(new ASN1Integer(2)); public static final CMCStatus pending = new CMCStatus(new ASN1Integer(3)); public static final CMCStatus noSupport = new CMCStatus(new ASN1Integer(4)); public static final CMCStatus confirmRequired = new CMCStatus(new ASN1Integer(5)); public static final CMCStatus popRequired = new CMCStatus(new ASN1Integer(6)); public static final CMCStatus partial = new CMCStatus(new ASN1Integer(7)); private static Map range = new HashMap(); static { range.put(success.value, success); range.put(failed.value, failed); range.put(pending.value, pending); range.put(noSupport.value, noSupport); range.put(confirmRequired.value, confirmRequired); range.put(popRequired.value, popRequired); range.put(partial.value, partial); } private final ASN1Integer value; private CMCStatus(ASN1Integer value) { this.value = value; } public static CMCStatus getInstance(Object o) { if (o instanceof CMCStatus) { return (CMCStatus)o; } if (o != null) { CMCStatus status = (CMCStatus)range.get(ASN1Integer.getInstance(o)); if (status != null) { return status; } throw new IllegalArgumentException("unknown object in getInstance(): " + o.getClass().getName()); } return null; } public ASN1Primitive toASN1Primitive() { return value; } }