public class FormatNumber extends SystemFunction implements Callable
Modifier and Type | Class and Description |
---|---|
static class |
FormatNumber.FormatNumberFixed
Implementation of format-number() when the decimal format name and picture are known statically
|
Constructor and Description |
---|
FormatNumber() |
Modifier and Type | Method and Description |
---|---|
static BigDecimal |
adjustToDecimal(double value,
int precision)
Convert a double to a BigDecimal.
|
StringValue |
call(XPathContext context,
Sequence[] arguments)
Call the format-number function, supplying two or three arguments
|
protected DecimalSymbols |
getNamedDecimalFormat(DecimalFormatManager dfm,
String lexicalName)
Get a decimal format, given its lexical QName
|
Expression |
makeOptimizedFunctionCall(ExpressionVisitor visitor,
ContextItemStaticInfo contextInfo,
Expression... arguments)
Allow the function to create an optimized call based on the values of the actual arguments.
|
equals, export, exportAttributes, getArity, getCardinality, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getExpressionCompiler, getFunctionItemType, getFunctionName, getIntegerBounds, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamingAdjunct, importAttributes, makeCall, makeFunction, makeFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, typeCheckCaller
atomize, deepEquals, effectiveBooleanValue, getStringValue, getStringValueCS, isArray, isMap, optimize, simplify, typeCheck
getLength, head, itemAt, iterate, reduce, subsequence
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getLength, head, itemAt, reduce, subsequence
public Expression makeOptimizedFunctionCall(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo, Expression... arguments) throws XPathException
makeOptimizedFunctionCall
in class SystemFunction
visitor
- the expression visitorcontextInfo
- information about the context itemarguments
- the supplied arguments to the function callXPathException
- if an error is detectedpublic static BigDecimal adjustToDecimal(double value, int precision)
value
- the double to be convertedprecision
- 2 for a double, 1 for a floatpublic StringValue call(XPathContext context, Sequence[] arguments) throws XPathException
call
in interface Callable
call
in interface Function
context
- the dynamic evaluation contextarguments
- the values of the arguments, supplied as Sequences.
Generally it is advisable, if calling iterate() to process a supplied sequence, to
call it only once; if the value is required more than once, it should first be converted
to a GroundedValue
by calling the utility methd
SequenceTool.toGroundedValue().
If the expected value is a single item, the item should be obtained by calling
Sequence.head(): it cannot be assumed that the item will be passed as an instance of
Item
or AtomicValue
.
It is the caller's responsibility to perform any type conversions required to convert arguments to the type expected by the callee. An exception is where this Callable is explicitly an argument-converting wrapper around the original Callable.
XPathException
- if any dynamic error occursprotected DecimalSymbols getNamedDecimalFormat(DecimalFormatManager dfm, String lexicalName) throws XPathException
dfm
- the decimal format managerlexicalName
- the lexical QName (or EQName) of the decimal formatXPathException
- if the lexical QName is invalid or if no decimal format is found.Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.