|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavacardx.framework.math.BigNumber
@TransactionType(value=SUPPORTS) public final class BigNumber
The BigNumber
class encapsulates an unsigned number whose
value is represented in internal hexadecimal format using an implementation
specific maximum number of bytes. This class supports the BCD (binary coded
decimal) format for I/O.
Field Summary | |
---|---|
static byte |
FORMAT_BCD
Constant to indicate a BCD (binary coded decimal) data format. |
static byte |
FORMAT_HEX
Constant to indicate a hexadecimal (simple binary) data format. |
Constructor Summary | |
---|---|
BigNumber(short maxBytes)
Creates a BigNumber instance with initial value 0. |
Method Summary | |
---|---|
void |
add(byte[] bArray,
short bOff,
short bLen,
byte arrayFormat)
Increments the internal big number by the specified operand value |
byte |
compareTo(BigNumber operand)
Compares the internal big number against the specified operand |
byte |
compareTo(byte[] bArray,
short bOff,
short bLen,
byte arrayFormat)
Compares the internal big number against the specified operand. |
short |
getByteLength(byte arrayFormat)
Returns the number of bytes required to represent the big number using the desired format |
static short |
getMaxBytesSupported()
This method returns the byte length of the hex array that can store the biggest BigNumber supported. |
void |
init(byte[] bArray,
short bOff,
short bLen,
byte arrayFormat)
Initializes the big number using the input data |
void |
multiply(byte[] bArray,
short bOff,
short bLen,
byte arrayFormat)
Multiplies the internal big number by the specified operand value |
void |
reset()
Resets the big number to 0 |
void |
setMaximum(byte[] maxValue,
short bOff,
short bLen,
byte arrayFormat)
Sets the maximum value that the BigNumber may contain. |
void |
subtract(byte[] bArray,
short bOff,
short bLen,
byte arrayFormat)
Decrements the internal big number by the specified operand value |
void |
toBytes(byte[] outBuf,
short bOff,
short numBytes,
byte arrayFormat)
Writes the internal big number out in the desired format. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final byte FORMAT_BCD
public static final byte FORMAT_HEX
Constructor Detail |
---|
public BigNumber(short maxBytes)
maxBytes
- maximum number of bytes needed in the hexadecimal format for
the largest unsigned big number. For example, maxBytes = 2
allows a big number representation range 0-65535.
ArithmeticException
- if maxBytes is 0, negative or larger than the supported
maximumMethod Detail |
---|
public void setMaximum(byte[] maxValue, short bOff, short bLen, byte arrayFormat)
Note:
maxValue
- input byte arraybOff
- offset within input byte array containing first byte (the high
order byte)bLen
- byte length of input dataarrayFormat
- indicates the format of the input data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
NullPointerException
- if maxValue
is null
ArrayIndexOutOfBoundsException
- if accessing the input array would cause access of data
outside array bounds or if bLen
is negative
ArithmeticException
- for the following conditions:
arrayFormat
parameter
bLen
is 0
arrayFormat
is not one of the
FORMAT_ constants.
public static short getMaxBytesSupported()
public void init(byte[] bArray, short bOff, short bLen, byte arrayFormat)
bArray
- input byte arraybOff
- offset within byte array containing first byte (the high order
byte)bLen
- byte length of input dataarrayFormat
- indicates the format of the input data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
ArrayIndexOutOfBoundsException
- if accessing the input array would cause access outside
array bounds or if bLen
is negative
NullPointerException
- if bArray
is null
ArithmeticException
- for the following conditions:
arrayFormat
parameter
bLen
is 0
arrayFormat
is not one of the
FORMAT_ constants.
public void add(byte[] bArray, short bOff, short bLen, byte arrayFormat)
bArray
- input byte arraybOff
- offset within input byte array containing first byte (the high
order byte)bLen
- byte length of input dataarrayFormat
- indicates the format of the input data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
ArrayIndexOutOfBoundsException
- if accessing the input array would cause access of data
outside array bounds or if bLen
is negative
NullPointerException
- if bArray
is null
ArithmeticException
- for the following conditions:
arrayFormat
parameter
bLen
is 0
arrayFormat
is not one of the
FORMAT_ constants
public void subtract(byte[] bArray, short bOff, short bLen, byte arrayFormat)
bArray
- input byte arraybOff
- offset within input byte array containing first byte (the high
order byte)bLen
- byte length of input dataarrayFormat
- indicates the format of the input data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
ArrayIndexOutOfBoundsException
- if accessing the input array would cause access of data
outside array bounds or if bLen
is negative
NullPointerException
- if bArray
is null
ArithmeticException
- for the following conditions:
arrayFormat
parameter
bLen
is 0
arrayFormat
is not one of the
FORMAT_ constants.
public void multiply(byte[] bArray, short bOff, short bLen, byte arrayFormat)
bArray
- input byte arraybOff
- offset within input byte array containing first byte (the high
order byte)bLen
- byte length of input dataarrayFormat
- indicates the format of the input data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
ArrayIndexOutOfBoundsException
- if accessing the input array would cause access of data
outside array bounds or if bLen
is negative
NullPointerException
- if bArray
is null
ArithmeticException
- for the following conditions:
arrayFormat
parameter
bLen
is 0
arrayFormat
is not one of the
FORMAT_ constants.
public byte compareTo(BigNumber operand)
operand
- contains the BigNumber operand
0
if equal-1
if the internal big number is less than
the specified operand1
if the internal big number is greater than
the specified operandNullPointerException
- if operand
is null
public byte compareTo(byte[] bArray, short bOff, short bLen, byte arrayFormat)
bArray
- input byte arraybOff
- offset within input byte array containing first byte (the high
order byte)bLen
- byte length of input dataarrayFormat
- indicates the format of the input data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
0
if equal-1
if the internal big number is less than
the specified operand1
if the internal big number is greater than
the specified operandArrayIndexOutOfBoundsException
- if accessing the input array would cause access of data
outside array bounds or if bLen
is negative
NullPointerException
- if bArray
is null
ArithmeticException
- for the following conditions:
arrayFormat
parameter
bLen
is 0
arrayFormat
is not one of the
FORMAT_ constants.
public void toBytes(byte[] outBuf, short bOff, short numBytes, byte arrayFormat)
outBuf
- output byte arraybOff
- offset within byte array containing first byte (the high order
byte)numBytes
- number of output bytes requiredarrayFormat
- indicates the format of the input data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
ArrayIndexOutOfBoundsException
- if accessing the output array would cause access of data
outside array bounds or if numBytes
is
negative
NullPointerException
- if outBuf
is null
ArithmeticException
- for the following conditions:
numBytes
is not sufficient to
represent the big number in the desired format
numBytes
is 0
arrayFormat
is not one of the
FORMAT_ constants.
public short getByteLength(byte arrayFormat)
arrayFormat
- indicates the format of the output data. Valid codes listed in
FORMAT_*
constants. See
FORMAT_BCD
.
ArithmeticException
- if arrayFormat
is not one of the FORMAT_
constants.public void reset()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |