derenumerated.java

来自「说明: 1、里面有什么: 1.1、org.bouncycastle.*」· Java 代码 · 共 109 行

JAVA
109
字号
package org.bouncycastle.asn1;import java.io.*;import java.math.BigInteger;public class DEREnumerated    extends DERObject{    byte[]      bytes;    /**     * return an integer from the passed in object     *     * @exception IllegalArgumentException if the object cannot be converted.     */    public static DEREnumerated getInstance(        Object  obj)    {        if (obj == null || obj instanceof DEREnumerated)        {            return (DEREnumerated)obj;        }        if (obj instanceof ASN1OctetString)        {            return new DEREnumerated(((ASN1OctetString)obj).getOctets());        }        if (obj instanceof ASN1TaggedObject)        {            return getInstance(((ASN1TaggedObject)obj).getObject());        }        throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName());    }    /**     * return an Enumerated from a tagged object.     *     * @param obj the tagged object holding the object we want     * @param explicit true if the object is meant to be explicitly     *              tagged false otherwise.     * @exception IllegalArgumentException if the tagged object cannot     *               be converted.     */    public static DEREnumerated getInstance(        ASN1TaggedObject obj,        boolean          explicit)    {        return getInstance(obj.getObject());    }    public DEREnumerated(        int         value)    {        bytes = BigInteger.valueOf(value).toByteArray();    }    public DEREnumerated(        BigInteger   value)    {        bytes = value.toByteArray();    }    public DEREnumerated(        byte[]   bytes)    {        this.bytes = bytes;    }    public BigInteger getValue()    {        return new BigInteger(bytes);    }    void encode(        DEROutputStream out)        throws IOException    {        out.writeEncoded(ENUMERATED, bytes);    }        public boolean equals(        Object  o)    {        if (o == null || !(o instanceof DEREnumerated))        {            return false;        }        DEREnumerated other = (DEREnumerated)o;        if (bytes.length != other.bytes.length)        {            return false;        }        for (int i = 0; i != bytes.length; i++)        {            if (bytes[i] != other.bytes[i])            {                return false;            }        }        return true;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?