Class DecimalFormatManager

  • All Implemented Interfaces:
    java.io.Serializable

    public class DecimalFormatManager
    extends java.lang.Object
    implements java.io.Serializable
    DecimalFormatManager manages the collection of named and unnamed decimal formats, for use by the format-number() function.

    In XSLT, there is a single set of decimal formats shared by the whole stylesheet. In XQuery 1.1, however, each query module has its own set of decimal formats. The DecimalFormatManager to use is therefore linked from the format-number() call on the expression tree.

    Author:
    Michael H. Kay
    See Also:
    Serialized Form
    • Constructor Detail

      • DecimalFormatManager

        public DecimalFormatManager()
        create a DecimalFormatManager and initialise variables
    • Method Detail

      • setDefaultDecimalFormat

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

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

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

        public void setNamedDecimalFormat​(StructuredQName qName,
                                          DecimalSymbols dfs,
                                          int precedence)
                                   throws XPathException
        Set a named decimal format. Note that it is an error to register the same decimal-format twice, unless the 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:
        qName - the name of the decimal format
        Throws:
        XPathException
      • getNamedDecimalFormat

        public DecimalSymbols getNamedDecimalFormat​(StructuredQName qName)
        Get a named decimal-format registered using setNamedDecimalFormat
        Parameters:
        qName - The name of the decimal format
        Returns:
        the DecimalSymbols object corresponding to the given name, if any or null if not set.
      • obtainNamedDecimalFormat

        public DecimalSymbols obtainNamedDecimalFormat​(StructuredQName qName)
                                                throws XPathException
        Get a named decimal-format registered using setNamedDecimalFormat or create one if does not exist
        Parameters:
        qName - The name of the decimal format
        Returns:
        the DecimalSymbols object corresponding to the given name.
        Throws:
        XPathException