public final class BigIntegerValue extends NumericValue
| Modifier and Type | Field and Description |
|---|---|
static java.math.BigInteger |
MAX_UNSIGNED_LONG |
static BigIntegerValue |
ZERO |
EMPTY_CLASS_ARRAYEMPTY_VALUE_ARRAYEVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD| Constructor and Description |
|---|
BigIntegerValue(java.math.BigInteger value) |
BigIntegerValue(long value) |
| Modifier and Type | Method and Description |
|---|---|
NumericValue |
arithmetic(int operator,
NumericValue other,
XPathContext context)
Evaluate a binary arithmetic operator.
|
java.math.BigDecimal |
asDecimal() |
NumericValue |
ceiling()
Implement the XPath ceiling() function
|
int |
compareTo(long other)
Compare the value to a long
|
int |
compareTo(java.lang.Object other)
Compare the value to another numeric value
|
AtomicValue |
convertPrimitive(BuiltInAtomicType requiredType,
boolean validate,
XPathContext context)
Convert to target data type
|
java.lang.Object |
convertToJava(java.lang.Class target,
XPathContext context)
Convert to Java object (for passing to external functions)
|
ValidationException |
convertToSubType(AtomicType type,
boolean validate)
This class allows subtypes of xs:integer to be held, as well as xs:integer values.
|
boolean |
effectiveBooleanValue(XPathContext context)
Return the effective boolean value of this integer
|
NumericValue |
floor()
Implement the XPath floor() function
|
java.math.BigInteger |
getBigInteger()
Get the value as a BigInteger
|
ItemType |
getItemType(TypeHierarchy th)
Determine the data type of the expression
|
java.lang.String |
getStringValue()
Get the value as a String
|
int |
hashCode()
Get the hashCode.
|
boolean |
isWholeNumber()
Determine whether the value is a whole number, that is, whether it compares
equal to some integer
|
boolean |
isWithinLongRange() |
long |
longValue()
Get the value as a long
|
static NumericValue |
makeValue(java.math.BigInteger value)
Factory method: makes either an IntegerValue or a BigIntegerValue depending on the value supplied
|
NumericValue |
negate()
Negate the value
|
NumericValue |
round()
Implement the XPath round() function
|
NumericValue |
roundHalfToEven(int scale)
Implement the XPath round-to-half-even() function
|
double |
signum()
Determine whether the value is negative, zero, or positive
|
equals, getDoubleValue, isInteger, isNaN, parseNumber, promote, toStringcheckPermittedContents, convert, convert, display, evaluateAsString, evaluateItem, getCardinality, getComponent, getImplementationMethod, getLength, getPrimitiveValue, getStringValueCS, getTypedValue, hasBuiltInType, iterate, processasItem, asIterator, asValue, convert, convertJavaObjectToXPath, getDependencies, getIterator, getParentExpression, getSpecialProperties, itemAt, iterateSubExpressions, makeQNameValue, optimize, promote, reduce, simplify, stringToNumber, typeCheckpublic static final java.math.BigInteger MAX_UNSIGNED_LONG
public static final BigIntegerValue ZERO
public BigIntegerValue(java.math.BigInteger value)
public BigIntegerValue(long value)
public ValidationException convertToSubType(AtomicType type, boolean validate)
type - the subtype of integer requiredpublic static NumericValue makeValue(java.math.BigInteger value)
public int hashCode()
hashCode in class NumericValueNumericValue.hashCode()public long longValue()
longValue in class NumericValuepublic java.math.BigInteger getBigInteger()
public boolean isWithinLongRange()
public java.math.BigDecimal asDecimal()
public boolean effectiveBooleanValue(XPathContext context)
effectiveBooleanValue in interface ExpressioneffectiveBooleanValue in class AtomicValuecontext - The dynamic evaluation context; ignored in this
implementation of the methodpublic int compareTo(java.lang.Object other)
compareTo in interface java.lang.ComparablecompareTo in class NumericValueother - the numeric value to be compared to this valuepublic int compareTo(long other)
compareTo in class NumericValueother - the value to be compared withpublic AtomicValue convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)
convertPrimitive in class AtomicValuerequiredType - an integer identifying the required atomic typecontext - validate - true if validation is required. If set to false, the caller guarantees that
the value is valid for the target data type, and that further validation is therefore not required.
Note that a validation failure may be reported even if validation was not requested.public java.lang.String getStringValue()
getStringValue in interface ItemgetStringValue in interface ValueRepresentationgetStringValue in class AtomicValueItem.getStringValueCS()public NumericValue negate()
negate in class NumericValuepublic NumericValue floor()
floor in class NumericValuepublic NumericValue ceiling()
ceiling in class NumericValuepublic NumericValue round()
round in class NumericValuepublic NumericValue roundHalfToEven(int scale)
roundHalfToEven in class NumericValuescale - number of digits required after the decimal point; the
value -2 (for example) means round to a multiple of 100public double signum()
signum in class NumericValuepublic boolean isWholeNumber()
isWholeNumber in class NumericValuepublic NumericValue arithmetic(int operator, NumericValue other, XPathContext context) throws XPathException
arithmetic in class NumericValueoperator - the operator to be applied, identified by a constant in
the Tokenizer classother - the other operand of the arithmetic expressionXPathException - if an arithmetic failure occurs, e.g. divide
by zeroTokenizerpublic ItemType getItemType(TypeHierarchy th)
getItemType in interface ExpressiongetItemType in class Valueth - public java.lang.Object convertToJava(java.lang.Class target,
XPathContext context)
throws XPathException
convertToJava in class Valuetarget - The Java class to which conversion is requiredXPathException - if conversion is not possible, or fails