Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
net.sf.saxon.value.Value
net.sf.saxon.value.AtomicValue
net.sf.saxon.value.NumericValue
net.sf.saxon.value.DecimalValue
public final class DecimalValue
extends NumericValue
Nested Class Summary | |
protected static class |
Field Summary | |
static BigDecimal | |
static BigDecimal | |
static BigInteger | |
static int | |
static DecimalValue | |
static DecimalValue |
Fields inherited from class net.sf.saxon.value.AtomicValue | |
typeLabel |
Fields inherited from class net.sf.saxon.value.Value | |
EMPTY_CLASS_ARRAY , INDETERMINATE_ORDERING |
Fields inherited from interface net.sf.saxon.om.ValueRepresentation | |
EMPTY_VALUE_ARRAY |
Constructor Summary | |
| |
| |
|
Method Summary | |
static boolean |
|
NumericValue |
|
int |
|
int |
|
ConversionResult |
|
Object |
|
AtomicValue |
|
static FastStringBuffer |
|
boolean | |
NumericValue |
|
CharSequence |
|
BigDecimal |
|
BuiltInAtomicType |
|
Comparable |
|
String |
|
CharSequence |
|
int |
|
boolean |
|
static ConversionResult |
|
NumericValue |
|
NumericValue |
|
NumericValue |
|
double |
|
Methods inherited from class net.sf.saxon.value.NumericValue | |
ceiling , compareTo , compareTo , equals , floor , getDecimalValue , getDoubleValue , getFloatValue , getXPathComparable , hashCode , isInteger , isWholeNumber , longValue , negate , parseNumber , promote , round , roundHalfToEven , signum , toString |
Methods inherited from class net.sf.saxon.value.AtomicValue | |
asAtomic , checkPermittedContents , convert , convert , convertPrimitive , copyAsSubType , effectiveBooleanValue , equals , getCardinality , getComponent , getItemType , getLength , getPrimitiveType , getSchemaComparable , getStringValue , getStringValueCS , getTypeLabel , getTypedValue , getXPathComparable , isNaN , itemAt , iterate , process , setTypeLabel , subsequence , toString |
Methods inherited from class net.sf.saxon.value.Value | |
asItem , asItem , asIterator , asValue , checkPermittedContents , convertJavaObjectToXPath , convertToJava , convertToJava , effectiveBooleanValue , equals , fromItem , getCanonicalLexicalRepresentation , getCardinality , getItemType , getIterator , getLength , getSchemaComparable , getStringValue , getStringValueCS , itemAt , iterate , iterate , makeQNameValue , process , reduce , stringToNumber , toString |
public static final BigDecimal BIG_DECIMAL_ONE
public static final BigDecimal BIG_DECIMAL_ONE_MILLION
public static final BigInteger BIG_INTEGER_TEN
public static final int DIVIDE_PRECISION
- Field Value:
- 18
public DecimalValue(BigDecimal value)
Constructor supplying a BigDecimal
- Parameters:
value
- the value of the DecimalValue
public DecimalValue(double in) throws ValidationException
Constructor supplying a double
- Parameters:
in
- the value of the DecimalValue
public DecimalValue(long in)
Constructor supplying a long integer
- Parameters:
in
- the value of the DecimalValue
public static boolean castableAsDecimal(CharSequence in)
Test whether a string is castable to a decimal value
- Parameters:
in
- the string to be tested
- Returns:
- true if the string has the correct format for a decimal
public NumericValue ceiling()
Implement the XPath ceiling() function
- Overrides:
- ceiling in interface NumericValue
public int compareTo(Object other)
Compare the value to another numeric value
- Overrides:
- compareTo in interface NumericValue
public int compareTo(long other)
Compare the value to a long
- Overrides:
- compareTo in interface NumericValue
- Parameters:
other
- the value to be compared with
- Returns:
- -1 if this is less, 0 if this is equal, +1 if this is greater or if this is NaN
public ConversionResult convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)
Convert to target data type
- Overrides:
- convertPrimitive in interface AtomicValue
public Object convertToJava(Class target, XPathContext context) throws XPathException
Convert to Java object (for passing to external functions)
- Overrides:
- convertToJava in interface Value
public AtomicValue copyAsSubType(AtomicType typeLabel)
Create a copy of this atomic value, with a different type label
- Overrides:
- copyAsSubType in interface AtomicValue
- Parameters:
typeLabel
- the type label of the new copy. The caller is responsible for checking that the value actually conforms to this type.
public static FastStringBuffer decimalToString(BigDecimal value, FastStringBuffer fsb)
Convert a decimal value to a string, using the XPath rules for formatting
- Parameters:
value
- the decimal value to be convertedfsb
- the FastStringBuffer to which the value is to be appended
- Returns:
- the supplied FastStringBuffer, suitably populated
public boolean effectiveBooleanValue()
- Overrides:
- effectiveBooleanValue in interface AtomicValue
public NumericValue floor()
Implement the XPath floor() function
- Overrides:
- floor in interface NumericValue
public CharSequence getCanonicalLexicalRepresentation()
Get the canonical lexical representation as defined in XML Schema. This is not always the same as the result of casting to a string according to the XPath rules. For xs:decimal, the canonical representation always contains a decimal point.
- Overrides:
- getCanonicalLexicalRepresentation in interface Value
public BigDecimal getDecimalValue()
Get the value
- Overrides:
- getDecimalValue in interface NumericValue
public BuiltInAtomicType getPrimitiveType()
Determine the primitive type of the value. This delivers the same answer as getItemType().getPrimitiveItemType(). The primitive types are the 19 primitive types of XML Schema, plus xs:integer, xs:dayTimeDuration and xs:yearMonthDuration, and xs:untypedAtomic. For external objects, the result is AnyAtomicType.
- Overrides:
- getPrimitiveType in interface AtomicValue
public Comparable getSchemaComparable()
Get an object that implements XML Schema comparison semantics
- Overrides:
- getSchemaComparable in interface AtomicValue
public String getStringValue()
Get the value as a String
- Specified by:
- getStringValue in interface Item
- getStringValue in interface ValueRepresentation
- Overrides:
- getStringValue in interface AtomicValue
- Returns:
- a String representation of the value
public CharSequence getStringValueCS()
Get the value of the item as a CharSequence. This is in some cases more efficient than the version of the method that returns a String.
- Specified by:
- getStringValueCS in interface Item
- getStringValueCS in interface ValueRepresentation
- Overrides:
- getStringValueCS in interface AtomicValue
public int hashCode()
Get the hashCode. This must conform to the rules for other NumericValue hashcodes
- Overrides:
- hashCode in interface NumericValue
- See Also:
NumericValue.hashCode()
public boolean isWholeNumber()
Determine whether the value is a whole number, that is, whether it compares equal to some integer
- Overrides:
- isWholeNumber in interface NumericValue
public static ConversionResult makeDecimalValue(CharSequence in, boolean validate)
Factory method to construct a DecimalValue from a string
- Parameters:
in
- the value of the DecimalValuevalidate
- true if validation is required; false if the caller knows that the value is valid
- Returns:
- the required DecimalValue if the input is valid, or a ValidationFailure encapsulating the error message if not.
public NumericValue round()
Implement the XPath round() function
- Overrides:
- round in interface NumericValue
public NumericValue roundHalfToEven(int scale)
Implement the XPath round-half-to-even() function
- Overrides:
- roundHalfToEven in interface NumericValue
public double signum()
Determine whether the value is negative, zero, or positive
- Overrides:
- signum in interface NumericValue
- Returns:
- -1 if negative, 0 if zero, +1 if positive, NaN if NaN