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.DoubleValue
public final class DoubleValue
extends NumericValue
Field Summary | |
static DoubleValue | |
static DoubleValue | |
static DoubleValue | |
static DoubleValue |
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 | |
NumericValue |
|
int |
|
ConversionResult |
|
Object |
|
AtomicValue |
|
static CharSequence |
|
boolean |
|
NumericValue |
|
CharSequence |
|
double |
|
BuiltInAtomicType |
|
Comparable |
|
String |
|
CharSequence |
|
int |
|
boolean |
|
boolean |
|
NumericValue |
|
static void |
|
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 DoubleValue(CharSequence val) throws ValidationException
Constructor supplying a string
- Parameters:
val
- the string representation of the double value, conforming to the XML Schema lexical representation of xs:double, with leading and trailing spaces permitted
- Throws:
ValidationException
- if the string does not have the correct lexical form for a double. Note that the error will contain no error code or context information.
public DoubleValue(double value)
Constructor supplying a double
- Parameters:
value
- the value of the NumericValue
public DoubleValue(double value, AtomicType type)
Constructor supplying a double and an AtomicType, for creating a value that belongs to a user-defined subtype of xs:double. It is the caller's responsibility to ensure that the supplied value conforms to the supplied type.
- Parameters:
value
- the value of the NumericValuetype
- the type of the value. This must be a subtype of xs:double, and the value must conform to this type. The methosd does not check these conditions.
public NumericValue ceiling()
Implement the XPath ceiling() function
- Overrides:
- ceiling 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
- Parameters:
requiredType
- an integer identifying the required atomic typevalidate
- true if the supplied value must be validated, false if the caller warrants that it is validcontext
- the XPath dynamic context
- Returns:
- an AtomicValue, a value of the required type
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 CharSequence doubleToString(double value)
Internal method used for conversion of a double to a string
- Parameters:
value
- the actual value
- Returns:
- the value converted to a string, according to the XPath casting rules.
public boolean effectiveBooleanValue()
Get the effective boolean value
- Overrides:
- effectiveBooleanValue in interface AtomicValue
- Returns:
- the effective boolean value (true unless the value is zero or NaN)
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:double, the canonical representation always uses exponential notation.
- Overrides:
- getCanonicalLexicalRepresentation in interface Value
public double getDoubleValue()
Return this numeric value as a double
- Overrides:
- getDoubleValue in interface NumericValue
- Returns:
- the value as a double
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()
Convert the double to a string according to the XPath 2.0 rules
- Specified by:
- getStringValue in interface Item
- getStringValue in interface ValueRepresentation
- Overrides:
- getStringValue in interface AtomicValue
- Returns:
- the string value
public CharSequence getStringValueCS()
Convert the double to a string according to the XPath 2.0 rules
- Specified by:
- getStringValueCS in interface Item
- getStringValueCS in interface ValueRepresentation
- Overrides:
- getStringValueCS in interface AtomicValue
- Returns:
- the string value
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 isNaN()
Test whether the value is the double/float value NaN
- Overrides:
- isNaN in interface AtomicValue
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 void printInternalForm(double d)
Diagnostic method: print the sign, exponent, and significand
- Parameters:
d
- the double to be diagnosed
public NumericValue round()
Implement the XPath round() function
- Overrides:
- round in interface NumericValue
public NumericValue roundHalfToEven(int scale)
Implement the XPath round-to-half-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 (including negative zero), +1 if positive, NaN if NaN