public final class IntegerValue extends NumericValue
| Modifier and Type | Field and Description |
|---|---|
static IntegerValue |
MAX_LONG
IntegerValue representing the maximum value for this class
|
static IntegerValue |
MIN_LONG
IntegerValue representing the minimum value for this class
|
static IntegerValue |
MINUS_ONE
IntegerValue representing the value -1
|
static IntegerValue |
PLUS_ONE
IntegerValue representing the value +1
|
static IntegerValue |
ZERO
IntegerValue representing the value zero
|
EMPTY_CLASS_ARRAYEMPTY_VALUE_ARRAYEVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD| Constructor and Description |
|---|
IntegerValue(long value)
Constructor supplying a long
|
IntegerValue(long val,
AtomicType type)
Constructor for a subtype, supplying an integer
|
| Modifier and Type | Method and Description |
|---|---|
NumericValue |
arithmetic(int operator,
NumericValue other,
XPathContext context)
Evaluate a binary arithmetic operator.
|
NumericValue |
ceiling()
Implement the XPath ceiling() function
|
(package private) static boolean |
checkBigRange(java.math.BigInteger big,
AtomicType type)
Check that a BigInteger is within the required range for a given integer subtype.
|
boolean |
checkRange(AtomicType type)
This class allows subtypes of xs:integer to be held, as well as xs:integer values.
|
(package private) static boolean |
checkRange(long value,
AtomicType type)
Check that a value is in range for the specified subtype of xs:integer
|
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 subtype,
boolean validate)
Convert the value to a subtype of xs:integer
|
boolean |
effectiveBooleanValue(XPathContext context)
Return the effective boolean value of this integer
|
NumericValue |
floor()
Implement the XPath floor() function
|
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
|
long |
longValue()
Get the value
|
NumericValue |
negate()
Negate the value
|
NumericValue |
round()
Implement the XPath round() function
|
NumericValue |
roundHalfToEven(int scale)
Implement the XPath round-to-half-even() function
|
void |
setSubType(AtomicType type)
This class allows subtypes of xs:integer to be held, as well as xs:integer values.
|
double |
signum()
Determine whether the value is negative, zero, or positive
|
static AtomicValue |
stringToInteger(java.lang.CharSequence s)
Static factory method to convert strings to integers.
|
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 IntegerValue MINUS_ONE
public static final IntegerValue ZERO
public static final IntegerValue PLUS_ONE
public static final IntegerValue MAX_LONG
public static final IntegerValue MIN_LONG
public IntegerValue(long value)
value - the value of the IntegerValuepublic IntegerValue(long val,
AtomicType type)
throws DynamicError
val - The supplied value, as an integertype - the required item type, a subtype of xs:integerDynamicError - if the supplied value is out of range for the
target typepublic ValidationException convertToSubtype(AtomicType subtype, boolean validate)
subtype - the target subtypevalidate - true if validation is required; false if the caller already knows that the value is validpublic void setSubType(AtomicType type)
public boolean checkRange(AtomicType type)
type - the subtype of integer requiredpublic static AtomicValue stringToInteger(java.lang.CharSequence s)
s - CharSequence representing the string to be convertedstatic boolean checkRange(long value,
AtomicType type)
value - the value to be checkedtype - the required item type, a subtype of xs:integerstatic boolean checkBigRange(java.math.BigInteger big,
AtomicType type)
public int hashCode()
hashCode in class NumericValueNumericValue.hashCode()public long longValue()
longValue in class NumericValuepublic 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