net.sf.saxon.trans
Class DecimalFormatManager

java.lang.Object
  extended by net.sf.saxon.trans.DecimalFormatManager
All Implemented Interfaces:
Serializable

public class DecimalFormatManager
extends Object
implements Serializable

DecimalFormatManager manages the collection of named and unnamed decimal formats

Author:
Michael H. Kay
See Also:
Serialized Form

Constructor Summary
DecimalFormatManager()
          create a DecimalFormatManager and initialise variables
 
Method Summary
 void fixupDefaultDefault()
          Method called at the end of stylesheet compilation to fix up any format-number() calls to the "default default" decimal format
 DecimalSymbols getDefaultDecimalFormat()
          Get the default decimal-format.
 DecimalSymbols getNamedDecimalFormat(String uri, String localName)
          Get a named decimal-format registered using setNamedDecimalFormat
 void registerUsage(String uri, String localName, FormatNumber2 call)
          Register a format-number() function call that uses a particular decimal format.
 void setDefaultDecimalFormat(DecimalSymbols dfs, int precedence)
          Register the default decimal-format.
static void setDefaults(DecimalSymbols d)
          Set up the XSLT-defined default attributes in a DecimalFormatSymbols
 void setNamedDecimalFormat(String uri, String localName, DecimalSymbols dfs, int precedence)
          Set a named decimal format.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecimalFormatManager

public DecimalFormatManager()
create a DecimalFormatManager and initialise variables

Method Detail

setDefaults

public static void setDefaults(DecimalSymbols d)
Set up the XSLT-defined default attributes in a DecimalFormatSymbols


setDefaultDecimalFormat

public void setDefaultDecimalFormat(DecimalSymbols dfs,
                                    int precedence)
                             throws StaticError
Register the default decimal-format. Note that it is an error to register the same decimal-format twice, even with different precedence

Throws:
StaticError

fixupDefaultDefault

public void fixupDefaultDefault()
                         throws StaticError
Method called at the end of stylesheet compilation to fix up any format-number() calls to the "default default" decimal format

Throws:
StaticError

getDefaultDecimalFormat

public DecimalSymbols getDefaultDecimalFormat()
Get the default decimal-format.


setNamedDecimalFormat

public void setNamedDecimalFormat(String uri,
                                  String localName,
                                  DecimalSymbols dfs,
                                  int precedence)
                           throws StaticError
Set a named decimal format. Note that it is an error to register the same decimal-format twice, unless hte values are equal, or unless there is another of higher precedence. This method assumes that decimal-formats are registered in order of decreasing precedence

Parameters:
uri - The URI of the name of the decimal format
localName - The local part of the name of the decimal format
Throws:
StaticError

registerUsage

public void registerUsage(String uri,
                          String localName,
                          FormatNumber2 call)
Register a format-number() function call that uses a particular decimal format. This allows early compile time resolution to a DecimalFormatSymbols object where possible, even in the case of a forwards reference


getNamedDecimalFormat

public DecimalSymbols getNamedDecimalFormat(String uri,
                                            String localName)
Get a named decimal-format registered using setNamedDecimalFormat

Parameters:
uri - The URI of the name of the decimal format
localName - The local part of the name of the decimal format
Returns:
the DecimalFormatSymbols object corresponding to the named locale, if any or null if not set.


Copyright (C) Michael H. Kay. All rights reserved.