## 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
`String` `dayName(int day, int minWidth, int maxWidth)` Get a day name or abbreviation
`String` `format(long number, String picture, int groupSize, String groupSeparator, String letterValue, String ordinal)` Format a number into a string
`String` `format(long number, String 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

### format

    String format(long number,
                  String 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,
                  String 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

### 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

### 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

### 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

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