FileDocCategorySizeDatePackage
DERInteger.javaAPI DocAzureus 3.0.3.42838Tue Jun 08 05:12:56 BST 2004org.bouncycastle.asn1

DERInteger

public class DERInteger extends DERObject

Fields Summary
byte[]
bytes
Constructors Summary
public DERInteger(int value)

        bytes = BigInteger.valueOf(value).toByteArray();
    
public DERInteger(BigInteger value)

        bytes = value.toByteArray();
    
public DERInteger(byte[] bytes)

        this.bytes = bytes;
    
Methods Summary
voidencode(DEROutputStream out)

        out.writeEncoded(INTEGER, bytes);
    
public booleanequals(java.lang.Object o)

        if (o == null || !(o instanceof DERInteger))
        {
            return false;
        }

        DERInteger other = (DERInteger)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;
    
public static org.bouncycastle.asn1.DERIntegergetInstance(java.lang.Object obj)
return an integer from the passed in object

exception
IllegalArgumentException if the object cannot be converted.

        if (obj == null || obj instanceof DERInteger)
        {
            return (DERInteger)obj;
        }

        if (obj instanceof ASN1OctetString)
        {
            return new DERInteger(((ASN1OctetString)obj).getOctets());
        }

        if (obj instanceof ASN1TaggedObject)
        {
            return getInstance(((ASN1TaggedObject)obj).getObject());
        }

        throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName());
    
public static org.bouncycastle.asn1.DERIntegergetInstance(ASN1TaggedObject obj, boolean explicit)
return an Integer 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.

        return getInstance(obj.getObject());
    
public java.math.BigIntegergetPositiveValue()
in some cases positive values get crammed into a space, that's not quite big enough...

        return new BigInteger(1, bytes);
    
public java.math.BigIntegergetValue()

        return new BigInteger(bytes);
    
public inthashCode()

         int     value = 0;
 
         for (int i = 0; i != bytes.length; i++)
         {
             value ^= (bytes[i] & 0xff) << (i % 4);
         }
 
         return value;