net.sf.saxon.lib

## Interface Numberer

- All Superinterfaces:
    Serializable
  All Known Implementing Classes:
    AbstractNumberer, Numberer_da, Numberer_de, Numberer_en, Numberer_fr, Numberer_frBE, Numberer_he, Numberer_it, Numberer_nl, Numberer_nlBE, Numberer_sv

      public interface Numberer
      extends Serializable

  Interface Numberer supports number formatting. There is a separate implementation for each language, e.g. Numberer_en for English. This supports the xsl:number element
  Author:
    Michael H. Kay

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `dayName(int day, int minWidth, int maxWidth)` Get a day name or abbreviation
    `String` | `format(long number, UnicodeString picture, int groupSize, String groupSeparator, String letterValue, String ordinal)` Format a number into a string
    `String` | `format(long number, UnicodeString picture, NumericGroupFormatter numGrpFormatter, String letterValue, String ordinal)` Format a number into a string
    `String` | `getCalendarName(String code)` Get the name of a calendar
    `String` | `getCountry()` Get the country used by this numberer
    `String` | `getEraName(int year)` Get the name for an era (e.g.
    `String` | `getOrdinalSuffixForDateTime(String component)` Get an ordinal suffix for a particular component of a date/time.
    `String` | `halfDayName(int minutes, int minWidth, int maxWidth)` Get an am/pm indicator
    `String` | `monthName(int month, int minWidth, int maxWidth)` Get a month name or abbreviation
    `void` | `setCountry(String country)` Set the country used by this numberer (currently used only for names of timezones).

- - ### Method Detail

    - #### setCountry

          void setCountry(String country)

      Set the country used by this numberer (currently used only for names of timezones).

      Note: this method is called by the system when allocating a numberer for a specific language and country. Since numberers are normally shared across threads, it should not be changed after the initial creation of the Numberer.

      Parameters:
        `country` - The ISO two-letter country code.

    - #### getCountry

          String getCountry()

      Get the country used by this numberer
      Returns:
        The ISO code of the country

    - #### format

          String format(long number,
                      UnicodeString picture,
                      int groupSize,
                      String groupSeparator,
                      String letterValue,
                      String ordinal)

      Format a number into a string
      Parameters:
        `number` - The number to be formatted
        `picture` - The format token. This is a single component of the format attribute of xsl:number, e.g. "1", "01", "i", or "a"
        `groupSize` - number of digits per group (0 implies no grouping)
        `groupSeparator` - string to appear between groups of digits
        `letterValue` - The letter-value specified to xsl:number: "alphabetic" or "traditional". Can also be an empty string or null.
        `ordinal` - The value of the ordinal attribute specified to xsl:number The value "yes" indicates that ordinal numbers should be used; "" or null indicates that cardinal numbers
      Returns:
        the formatted number. Note that no errors are reported; if the request is invalid, the number is formatted as if the string() function were used.

    - #### format

          String format(long number,
                      UnicodeString picture,
                      NumericGroupFormatter numGrpFormatter,
                      String letterValue,
                      String ordinal)

      Format a number into a string
      Parameters:
        `number` - The number to be formatted
        `picture` - The format token. This is a single component of the format attribute of xsl:number, e.g. "1", "01", "i", or "a"
        `numGrpFormatter` - an object that handles insertion of grouping separators into the formatted number
        `letterValue` - The letter-value specified to xsl:number: "alphabetic" or "traditional". Can also be an empty string or null.
        `ordinal` - The value of the ordinal attribute specified to xsl:number The value "yes" indicates that ordinal numbers should be used; "" or null indicates that cardinal numbers
      Returns:
        the formatted number. Note that no errors are reported; if the request is invalid, the number is formatted as if the string() function were used.

    - #### monthName

          String monthName(int month,
                         int minWidth,
                         int maxWidth)

      Get a month name or abbreviation
      Parameters:
        `month` - The month number (1=January, 12=December)
        `minWidth` - The minimum number of characters
        `maxWidth` - The maximum number of characters
      Returns:
        the month name or abbreviation as a string (for example, "September" or "Sep")

    - #### dayName

          String dayName(int day,
                       int minWidth,
                       int maxWidth)

      Get a day name or abbreviation
      Parameters:
        `day` - The month number (1=Monday, 7=Sunday)
        `minWidth` - The minimum number of characters
        `maxWidth` - The maximum number of characters
      Returns:
        the day name or abbreviation as a string (for example, "Monday" or "Mon")

    - #### halfDayName

          String halfDayName(int minutes,
                           int minWidth,
                           int maxWidth)

      Get an am/pm indicator
      Parameters:
        `minutes` - the minutes within the day
        `minWidth` - minimum width of output
        `maxWidth` - maximum width of output
      Returns:
        the AM or PM indicator

    - #### getOrdinalSuffixForDateTime

          String getOrdinalSuffixForDateTime(String component)

      Get an ordinal suffix for a particular component of a date/time.
      Parameters:
        `component` - the component specifier from a format-dateTime picture, for example "M" for the month or "D" for the day.
      Returns:
        a string that is acceptable in the ordinal attribute of xsl:number to achieve the required ordinal representation. For example, "-e" for the day component in German, to have the day represented as "dritte August".

    - #### getEraName

          String getEraName(int year)

      Get the name for an era (e.g. "BC" or "AD")
      Parameters:
        `year` - the proleptic gregorian year, using "0" for the year before 1AD
      Returns:
        the name of the era, for example "AD"

    - #### getCalendarName

          String getCalendarName(String code)

      Get the name of a calendar
      Parameters:
        `code` - The code representing the calendar as in the XSLT 2.0 spec, e.g. AD for the Gregorian calendar
      Returns:
        the name of the calendar, for example "AD"

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.