org.bouncycastle.its.asn1.IValue Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15to18 Show documentation
Show all versions of bcprov-jdk15to18 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
package org.bouncycastle.its.asn1;
import java.math.BigInteger;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.util.BigIntegers;
/**
*
* Uint16 ::= INTEGER (0..65535)
*
* IValue ::= Uint16
*
*/
public class IValue
extends ASN1Object
{
private final BigInteger value;
private IValue(ASN1Integer value)
{
int i = BigIntegers.intValueExact(value.getValue());
if (i < 0 || i > 65535)
{
throw new IllegalArgumentException("value out of range");
}
this.value = value.getValue();
}
public static IValue getInstance(Object src)
{
if (src instanceof IValue)
{
return (IValue)src;
}
else if (src != null)
{
return new IValue(ASN1Integer.getInstance(src));
}
return null;
}
public ASN1Primitive toASN1Primitive()
{
return new ASN1Integer(value);
}
}