Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.icl.saxon.functions
Class FormatNumber

    java.lang.Object
      |
      +--com.icl.saxon.expr.Expression
            |
            +--com.icl.saxon.expr.Function
                  |
                  +--com.icl.saxon.functions.FormatNumber

public class FormatNumber
extends Function

Fields inherited from class com.icl.saxon.expr.Function
`argument`

Fields inherited from class com.icl.saxon.expr.Expression
`staticContext`

Constructor Summary
`FormatNumber()`

Method Summary
`Value` | `evaluate(Context c)` Evaluate in a general context
`java.lang.String` | `evaluateAsString(Context context)` Evaluate in a context where a string is wanted
`java.lang.String` | `formatNumber(double n, java.lang.String format, java.text.DecimalFormatSymbols dfs)` Here is the method that does the work.
`int` | `getDataType()` Determine the data type of the exprEssion
`int` | `getDependencies()` Determine the dependencies
`java.lang.String` | `getName()` Get the name of the function.
`Expression` | `reduce(int dep, Context c)` Reduce the dependencies
`Expression` | `simplify()` Simplify and validate

Methods inherited from class com.icl.saxon.expr.Function
`addArgument, checkArgumentCount, display, getNumberOfArguments`

Methods inherited from class com.icl.saxon.expr.Expression
`containsReferences, enumerate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FormatNumber

    public FormatNumber()

Method Detail

### getName

    public java.lang.String getName()

  Description copied from class: `Function`
  Get the name of the function. This method must be implemented in all subclasses.
  Overrides:
    `getName` in class `Function`
  Following copied from class: `com.icl.saxon.expr.Function`
  Returns:
    the name of the function, as used in XSL expressions, but excluding its namespace prefix

### getDataType

    public int getDataType()

  Determine the data type of the exprEssion
  Overrides:
    `getDataType` in class `Expression`
  Returns:
    Value.STRING

### simplify

    public Expression simplify()
                        throws XPathException

  Simplify and validate
  Overrides:
    `simplify` in class `Expression`
  Following copied from class: `com.icl.saxon.expr.Expression`
  Returns:
    the simplified expression

### evaluateAsString

    public java.lang.String evaluateAsString(Context context)
                                      throws XPathException

  Evaluate in a context where a string is wanted
  Overrides:
    `evaluateAsString` in class `Expression`
  Following copied from class: `com.icl.saxon.expr.Expression`
  Parameters:
    `context` - The context in which the expression is to be evaluated
  Returns:
    the value of the expression, evaluated in the current context

### evaluate

    public Value evaluate(Context c)
                   throws XPathException

  Evaluate in a general context
  Overrides:
    `evaluate` in class `Expression`
  Following copied from class: `com.icl.saxon.expr.Expression`
  Parameters:
    `context` - The context in which the expression is to be evaluated
  Returns:
    the value of the expression, evaluated in the current context

### formatNumber

    public java.lang.String formatNumber(double n,
                                         java.lang.String format,
                                         java.text.DecimalFormatSymbols dfs)
                                  throws XPathException

  Here is the method that does the work. It needs to be synchronized because it remembers information from one invocation to the next; it doesn't matter if these are in different threads but it can't be interrupted. The reason for remembering information is that getting a new DecimalFormatSymbols each time is incredibly expensive, especially with the Microsoft Java VM. Actually the synchronization is unnecessary if there is a bound Controller.

### getDependencies

    public int getDependencies()

  Determine the dependencies
  Overrides:
    `getDependencies` in class `Expression`

### reduce

    public Expression reduce(int dep,
                             Context c)
                      throws XPathException

  Reduce the dependencies
  Overrides:
    `reduce` in class `Expression`
  Following copied from class: `com.icl.saxon.expr.Expression`
  Parameters:
    `dependencies` - The dependencies to be removed, e.g. Context.VARIABLES
    `context` - The context to be used for the partial evaluation
  Returns:
    a new expression (or Value) that does not have any of the specified dependencies

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD