org.bouncycastle.asn1.x509.qualified.MonetaryValue Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-debug-jdk18on Show documentation
Show all versions of bcprov-ext-debug-jdk18on 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 Java 1.8 and later with debug enabled.
The newest version!
package org.bouncycastle.asn1.x509.qualified;
import java.math.BigInteger;
import java.util.Enumeration;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DERSequence;
/**
* The MonetaryValue object.
*
* MonetaryValue ::= SEQUENCE {
* currency Iso4217CurrencyCode,
* amount INTEGER,
* exponent INTEGER }
* -- value = amount * 10^exponent
*
*/
public class MonetaryValue
extends ASN1Object
{
private Iso4217CurrencyCode currency;
private ASN1Integer amount;
private ASN1Integer exponent;
public static MonetaryValue getInstance(
Object obj)
{
if (obj instanceof MonetaryValue)
{
return (MonetaryValue)obj;
}
if (obj != null)
{
return new MonetaryValue(ASN1Sequence.getInstance(obj));
}
return null;
}
private MonetaryValue(
ASN1Sequence seq)
{
Enumeration e = seq.getObjects();
// currency
currency = Iso4217CurrencyCode.getInstance(e.nextElement());
// hashAlgorithm
amount = ASN1Integer.getInstance(e.nextElement());
// exponent
exponent = ASN1Integer.getInstance(e.nextElement());
}
public MonetaryValue(
Iso4217CurrencyCode currency,
int amount,
int exponent)
{
this.currency = currency;
this.amount = new ASN1Integer(amount);
this.exponent = new ASN1Integer(exponent);
}
public Iso4217CurrencyCode getCurrency()
{
return currency;
}
public BigInteger getAmount()
{
return amount.getValue();
}
public BigInteger getExponent()
{
return exponent.getValue();
}
public ASN1Primitive toASN1Primitive()
{
ASN1EncodableVector seq = new ASN1EncodableVector(3);
seq.add(currency);
seq.add(amount);
seq.add(exponent);
return new DERSequence(seq);
}
}