Class ArbitrarilyBigInteger
- java.lang.Object
-
- java.lang.Number
-
- org.ow2.authzforce.core.pdp.api.value.GenericInteger
-
- org.ow2.authzforce.core.pdp.api.value.ArbitrarilyBigInteger
-
- All Implemented Interfaces:
Serializable
,Comparable<GenericInteger>
public final class ArbitrarilyBigInteger extends GenericInteger
Arbitrary-precision integer, that can represent xsd:integer values. The actual type of the underlying value isBigInteger
. See https://jaxb.java.net/tutorial/section_2_2_2-Numeric-Types.html- Version:
- $Id: $
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ArbitrarilyBigInteger(long val)
Creates instance from long argument, mostly for easy writing of testsArbitrarilyBigInteger(BigInteger value)
Creates instance from integer argument
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ArbitrarilyBigInteger
abs()
Returns the absolute value ofthis
.ArbitrarilyBigInteger
add(GenericInteger other)
Add integer to this.BigInteger
bigIntegerValue()
Convert to BigIntegerint
compareTo(GenericInteger o)
ArbitrarilyBigInteger
divide(GenericInteger divisor)
Dividethis
by some other number.double
doubleValue()
boolean
equals(Object obj)
float
floatValue()
int
hashCode()
int
intValue()
int
intValueExact()
Converts this value to a primitive int safely, i.e.long
longValue()
long
longValueExact()
Converts this value to a primitive long safely, i.e.ArbitrarilyBigInteger
multiply(GenericInteger other)
Multiplythis
by another integer.ArbitrarilyBigInteger
remainder(GenericInteger divisor)
Returns this %divisor
ArbitrarilyBigInteger
subtract(GenericInteger subtractedVal)
Subtract a number from this.static ArbitrarilyBigInteger
valueOf(BigInteger big)
Returns anArbitrarilyBigInteger
instance representing the specified big integer value-
Methods inherited from class java.lang.Number
byteValue, shortValue
-
-
-
-
Constructor Detail
-
ArbitrarilyBigInteger
public ArbitrarilyBigInteger(BigInteger value)
Creates instance from integer argument- Parameters:
value
- Java equivalent of xsd:integer
-
ArbitrarilyBigInteger
public ArbitrarilyBigInteger(long val)
Creates instance from long argument, mostly for easy writing of testsBe aware that type long is not equivalent to xsd:integer type, BigInteger is. See https://jaxb.java.net/tutorial/section_2_2_2-Numeric-Types.html
- Parameters:
val
- integer value as Java long
-
-
Method Detail
-
valueOf
public static ArbitrarilyBigInteger valueOf(BigInteger big)
Returns anArbitrarilyBigInteger
instance representing the specified big integer value- Parameters:
big
- integer- Returns:
- instance representing
big
-
floatValue
public float floatValue()
- Specified by:
floatValue
in classNumber
-
bigIntegerValue
public BigInteger bigIntegerValue()
Description copied from class:GenericInteger
Convert to BigInteger- Specified by:
bigIntegerValue
in classGenericInteger
- Returns:
- this as
BigInteger
-
intValueExact
public int intValueExact() throws ArithmeticException
Description copied from class:GenericInteger
Converts this value to a primitive int safely, i.e. checking for lost information.- Specified by:
intValueExact
in classGenericInteger
- Returns:
- this converted to an int
- Throws:
ArithmeticException
- if the value of this will not exactly fit into an int.- See Also:
- The CERT Oracle Secure Coding Standard for Java - NUM00-J. Detect or prevent integer overflow
-
longValueExact
public long longValueExact()
Description copied from class:GenericInteger
Converts this value to a primitive long safely, i.e. checking for lost information.- Specified by:
longValueExact
in classGenericInteger
- Returns:
- this converted to an int
- See Also:
- The CERT Oracle Secure Coding Standard for Java - NUM00-J. Detect or prevent integer overflow
-
compareTo
public int compareTo(GenericInteger o)
-
abs
public ArbitrarilyBigInteger abs()
Returns the absolute value ofthis
. Used by the XACML "abs" functions.- Specified by:
abs
in classGenericInteger
- Returns:
- the absolute value
-
add
public ArbitrarilyBigInteger add(GenericInteger other)
Add integer to this. Used by the XACML numeric *-add functions.- Specified by:
add
in classGenericInteger
- Parameters:
other
- value to add to this value- Returns:
- this + other.
-
multiply
public ArbitrarilyBigInteger multiply(GenericInteger other) throws ArithmeticException
Multiplythis
by another integer. Used by the XACML "multiply" functions.- Specified by:
multiply
in classGenericInteger
- Parameters:
other
- factor (other integer to multiply by)- Returns:
- this * factor
- Throws:
ArithmeticException
- if the result overflows the value space of this type
-
divide
public ArbitrarilyBigInteger divide(GenericInteger divisor) throws ArithmeticException
Dividethis
by some other number. Used by XACML *-divide functions.- Specified by:
divide
in classGenericInteger
- Parameters:
divisor
- number by whichthis
is divided- Returns:
- the result quotient
- Throws:
ArithmeticException
- if divisor is zero
-
subtract
public ArbitrarilyBigInteger subtract(GenericInteger subtractedVal)
Subtract a number from this. Used by XACML numeric *-subtract functions.- Specified by:
subtract
in classGenericInteger
- Parameters:
subtractedVal
- value to be subtracted fromthis
- Returns:
- this - subtractedValue
-
remainder
public ArbitrarilyBigInteger remainder(GenericInteger divisor) throws ArithmeticException
Description copied from class:GenericInteger
Returns this %divisor
- Specified by:
remainder
in classGenericInteger
- Parameters:
divisor
- second argument- Returns:
- this % divisor
- Throws:
ArithmeticException
- if divisor is zero
-
doubleValue
public double doubleValue() throws IllegalArgumentException
- Specified by:
doubleValue
in classNumber
- Throws:
IllegalArgumentException
-
-