001package org.apache.commons.ssl.org.bouncycastle.asn1.cmp;
002
003import java.math.BigInteger;
004
005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Integer;
006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object;
007import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive;
008
009public class PKIStatus
010    extends ASN1Object
011{
012    public static final int GRANTED                 = 0;
013    public static final int GRANTED_WITH_MODS       = 1;
014    public static final int REJECTION               = 2;
015    public static final int WAITING                 = 3;
016    public static final int REVOCATION_WARNING      = 4;
017    public static final int REVOCATION_NOTIFICATION = 5;
018    public static final int KEY_UPDATE_WARNING      = 6;
019
020    public static final PKIStatus granted = new PKIStatus(GRANTED);
021    public static final PKIStatus grantedWithMods = new PKIStatus(GRANTED_WITH_MODS);
022    public static final PKIStatus rejection = new PKIStatus(REJECTION);
023    public static final PKIStatus waiting = new PKIStatus(WAITING);
024    public static final PKIStatus revocationWarning = new PKIStatus(REVOCATION_WARNING);
025    public static final PKIStatus revocationNotification = new PKIStatus(REVOCATION_NOTIFICATION);
026    public static final PKIStatus keyUpdateWaiting = new PKIStatus(KEY_UPDATE_WARNING);
027
028    private ASN1Integer value;
029
030    private PKIStatus(int value)
031    {
032        this(new ASN1Integer(value));
033    }
034
035    private PKIStatus(ASN1Integer value)
036    {
037        this.value = value;
038    }
039
040    public static PKIStatus getInstance(Object o)
041    {
042        if (o instanceof PKIStatus)
043        {
044            return (PKIStatus)o;
045        }
046
047        if (o != null)
048        {
049            return new PKIStatus(ASN1Integer.getInstance(o));
050        }
051
052        return null;
053    }
054
055    public BigInteger getValue()
056    {
057        return value.getValue();
058    }
059    
060    public ASN1Primitive toASN1Primitive()
061    {
062        return value;
063    }
064}