Class IntegerValue
- java.lang.Object
-
- org.ow2.authzforce.core.pdp.api.value.SimpleValue<V>
-
- org.ow2.authzforce.core.pdp.api.value.StringParseableValue<N>
-
- org.ow2.authzforce.core.pdp.api.value.NumericValue<GenericInteger,IntegerValue>
-
- org.ow2.authzforce.core.pdp.api.value.IntegerValue
-
- All Implemented Interfaces:
Comparable<IntegerValue>
,AttributeValue
,PrimitiveValue
,Value
public final class IntegerValue extends NumericValue<GenericInteger,IntegerValue> implements Comparable<IntegerValue>
Representation of a xs:integer value. This class supports parsing xs:integer values. All objects of this class are immutable and all methods of the class are thread-safe.- Version:
- $Id: $
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.ow2.authzforce.core.pdp.api.value.StringParseableValue
StringParseableValue.Factory<AV extends AttributeValue>
-
Nested classes/interfaces inherited from class org.ow2.authzforce.core.pdp.api.value.SimpleValue
SimpleValue.BaseFactory<AV extends AttributeValue>
-
-
Field Summary
-
Fields inherited from class org.ow2.authzforce.core.pdp.api.value.SimpleValue
value
-
-
Constructor Summary
Constructors Constructor Description IntegerValue(GenericInteger val)
Creates instance from integer argument
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IntegerValue
abs()
Returns the absolute value ofthis
.IntegerValue
add(Deque<? extends IntegerValue> others)
Adds numbers to this.int
compareTo(IntegerValue o)
IntegerValue
divide(IntegerValue divisor)
Dividethis
by some other number.double
doubleValue()
Converts this integer to a double as specified byBigInteger.doubleValue()
net.sf.saxon.s9api.XdmItem
getXdmItem()
int
intValueExact()
Converts this value to an int, checking for lost information.IntegerValue
multiply(Deque<? extends IntegerValue> others)
Multiplythis
by other numbers.String
printXML()
Converts the internal value (accessible viaSimpleValue.getUnderlyingValue()
) to a valid lexical representation for XML marshalling.IntegerValue
remainder(IntegerValue divisor)
Returns this %divisor
IntegerValue
subtract(IntegerValue subtractedVal)
Subtract a number from this.static IntegerValue
valueOf(int i)
Returns anIntegerValue
instance representing the specified int valuestatic IntegerValue
valueOf(long l)
Returns anIntegerValue
instance representing the specified long value-
Methods inherited from class org.ow2.authzforce.core.pdp.api.value.StringParseableValue
getXmlAttributes
-
Methods inherited from class org.ow2.authzforce.core.pdp.api.value.SimpleValue
equals, getContent, getUnderlyingValue, hashCode, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ow2.authzforce.core.pdp.api.value.PrimitiveValue
getXdmValue
-
-
-
-
Constructor Detail
-
IntegerValue
public IntegerValue(GenericInteger val)
Creates instance from integer argument- Parameters:
val
- Java representation of xsd:integer
-
-
Method Detail
-
getXdmItem
public net.sf.saxon.s9api.XdmItem getXdmItem()
- Specified by:
getXdmItem
in interfacePrimitiveValue
- Returns:
- corresponding XPath (XDM) value
-
valueOf
public static IntegerValue valueOf(int i)
Returns anIntegerValue
instance representing the specified int value- Parameters:
i
- integer- Returns:
- instance representing
i
-
valueOf
public static IntegerValue valueOf(long l)
Returns anIntegerValue
instance representing the specified long value- Parameters:
l
- long integer- Returns:
- instance representing
l
-
compareTo
public int compareTo(IntegerValue o)
- Specified by:
compareTo
in interfaceComparable<IntegerValue>
-
abs
public IntegerValue abs()
Description copied from class:NumericValue
Returns the absolute value ofthis
. Used by the XACML "abs" functions.- Specified by:
abs
in classNumericValue<GenericInteger,IntegerValue>
- Returns:
- the absolute value
-
add
public IntegerValue add(Deque<? extends IntegerValue> others) throws ArithmeticException
Description copied from class:NumericValue
Adds numbers to this. Used by the XACML numeric *-add functions.- Specified by:
add
in classNumericValue<GenericInteger,IntegerValue>
- Parameters:
others
- values to add to this value- Returns:
- sum of this and the others.
- Throws:
ArithmeticException
- if the result overflows the value space ofN
-
multiply
public IntegerValue multiply(Deque<? extends IntegerValue> others) throws ArithmeticException
Description copied from class:NumericValue
Multiplythis
by other numbers. Used by the XACML "multiply" functions.- Specified by:
multiply
in classNumericValue<GenericInteger,IntegerValue>
- Parameters:
others
- other values to multiply by- Returns:
- product of this by the others
- Throws:
ArithmeticException
- if the result overflows the value space ofN
-
divide
public IntegerValue divide(IntegerValue divisor) throws ArithmeticException
Description copied from class:NumericValue
Dividethis
by some other number. Used by XACML *-divide functions.- Specified by:
divide
in classNumericValue<GenericInteger,IntegerValue>
- Parameters:
divisor
- number by whichthis
is divided- Returns:
- the result quotient
- Throws:
ArithmeticException
- if divisor is zero
-
subtract
public IntegerValue subtract(IntegerValue subtractedVal) throws ArithmeticException
Description copied from class:NumericValue
Subtract a number from this. Used by XACML numeric *-subtract functions.- Specified by:
subtract
in classNumericValue<GenericInteger,IntegerValue>
- Parameters:
subtractedVal
- value to be subtracted fromthis
- Returns:
- this - subtractedVal
- Throws:
ArithmeticException
- if the result overflows the value space ofN
-
printXML
public String printXML()
Description copied from class:SimpleValue
Converts the internal value (accessible viaSimpleValue.getUnderlyingValue()
) to a valid lexical representation for XML marshalling. Equivalent to the 'printMethod' in JAXB 'javaType' binding customizations. Implementations of this typically callDatatypeConverter
. This method is called bySimpleValue.getContent()
and its result cached by the same method for later use. Therefore, no need to cache the result in the implementation.- Specified by:
printXML
in classSimpleValue<GenericInteger>
- Returns:
- XML-valid lexical representation.
-
remainder
public IntegerValue remainder(IntegerValue divisor) throws ArithmeticException
Returns this %divisor
- Parameters:
divisor
- second argument- Returns:
- this % divisor using
BigInteger.remainder(BigInteger)
- Throws:
ArithmeticException
- if divisor is zero
-
doubleValue
public double doubleValue() throws IllegalArgumentException
Converts this integer to a double as specified byBigInteger.doubleValue()
- Returns:
this
as a double- Throws:
IllegalArgumentException
- if this integer is outside the range which can be represented by a double
-
intValueExact
public int intValueExact() throws ArithmeticException
Converts this value to an int, checking for lost information. If the value of this BigInteger is out of the range of the int type, then an ArithmeticException is thrown.- Returns:
- this converted to an int
- Throws:
ArithmeticException
- if the value of this will not exactly fit in an int.- See Also:
- The CERT Oracle Secure Coding Standard for Java - NUM00-J. Detect or prevent integer overflow
-
-