## net.sf.saxon.number
Class Numberer_en

    java.lang.Object
      net.sf.saxon.number.Numberer_en

All Implemented Interfaces:
  Numberer, java.io.Serializable

Direct Known Subclasses:
  Numberer_de

public class Numberer_en
extends java.lang.Object
implements Numberer, java.io.Serializable

Class Numberer_en does number formatting for language="en". This supports the xsl:number element. Methods and data are declared as protected, and static is avoided, to allow easy subclassing.

See Also:
  Serialized Form

Field Summary
`protected static java.lang.String` `cyrillicLower`
`protected static java.lang.String` `cyrillicUpper`
`protected static java.lang.String` `greekLower`
`protected static java.lang.String` `greekUpper`
`protected static java.lang.String` `hebrew`
`protected static java.lang.String` `hiraganaA`
`protected static java.lang.String` `hiraganaI`
`protected static java.lang.String` `kanjiDigits`
`protected static java.lang.String` `katakanaA`
`protected static java.lang.String` `katakanaI`
`protected static java.lang.String` `latinLower`
`protected static java.lang.String` `latinUpper`
`static int` `LOWER_CASE`
`static int` `TITLE_CASE`
`static int` `UPPER_CASE`
`protected static java.lang.String` `westernDigits`

Constructor Summary
`Numberer_en()`

Method Summary
`protected void` `alphaDefault(long number, char formchar, FastStringBuffer sb)` Default processing with an alphabetic format token: use the contiguous range of Unicode letters starting with that token.
`java.lang.String` `dayName(int day, int minWidth, int maxWidth)` Get a day name or abbreviation
`java.lang.String` `format(long number, java.lang.String picture, int groupSize, java.lang.String groupSeparator, java.lang.String letterValue, java.lang.String ordinal)` Format a number into a string
`java.lang.String` `getOrdinalSuffixForDateTime(java.lang.String component)` Get an ordinal suffix for a particular component of a date/time.
`java.lang.String` `halfDayName(int minutes, int minWidth, int maxWidth)` Get an am/pm indicator
`java.lang.String` `monthName(int month, int minWidth, int maxWidth)` Get a month name or abbreviation
`protected java.lang.String` `ordinalSuffix(java.lang.String ordinalParam, long number)` Construct the ordinal suffix for a number, for example "st", "nd", "rd"
`protected java.lang.String` `toAlpha(long number, int min, int max)` Format the number as an alphabetic label using the alphabet consisting of consecutive Unicode characters from min to max
`protected java.lang.String` `toAlphaSequence(long number, java.lang.String alphabet)` Convert the number into an alphabetic label using a given alphabet.
`java.lang.String` `toOrdinalWords(java.lang.String ordinalParam, long number, int wordCase)` Show an ordinal number as English words in a requested case (for example, Twentyfirst)
`static java.lang.String` `toRoman(long n)` Generate a Roman numeral (in lower case)
`java.lang.String` `toWords(long number)` Show the number as words in title case.
`java.lang.String` `toWords(long number, int wordCase)`

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

Field Detail

### UPPER_CASE

    public static final int UPPER_CASE

See Also:
  Constant Field Values

### LOWER_CASE

    public static final int LOWER_CASE

See Also:
  Constant Field Values

### TITLE_CASE

    public static final int TITLE_CASE

See Also:
  Constant Field Values

### westernDigits

    protected static final java.lang.String westernDigits

See Also:
  Constant Field Values

### latinUpper

    protected static final java.lang.String latinUpper

See Also:
  Constant Field Values

### latinLower

    protected static final java.lang.String latinLower

See Also:
  Constant Field Values

### greekUpper

    protected static final java.lang.String greekUpper

See Also:
  Constant Field Values

### greekLower

    protected static final java.lang.String greekLower

See Also:
  Constant Field Values

### cyrillicUpper

    protected static final java.lang.String cyrillicUpper

See Also:
  Constant Field Values

### cyrillicLower

    protected static final java.lang.String cyrillicLower

See Also:
  Constant Field Values

### hebrew

    protected static final java.lang.String hebrew

See Also:
  Constant Field Values

### hiraganaA

    protected static final java.lang.String hiraganaA

See Also:
  Constant Field Values

### katakanaA

    protected static final java.lang.String katakanaA

See Also:
  Constant Field Values

### hiraganaI

    protected static final java.lang.String hiraganaI

See Also:
  Constant Field Values

### katakanaI

    protected static final java.lang.String katakanaI

See Also:
  Constant Field Values

### kanjiDigits

    protected static final java.lang.String kanjiDigits

See Also:
  Constant Field Values

Constructor Detail

### Numberer_en

    public Numberer_en()

Method Detail

### format

    public java.lang.String format(long number,
                                   java.lang.String picture,
                                   int groupSize,
                                   java.lang.String groupSeparator,
                                   java.lang.String letterValue,
                                   java.lang.String ordinal)

  Format a number into a string

  Specified by:
    `format` in interface `Numberer`
  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.

### ordinalSuffix

    protected java.lang.String ordinalSuffix(java.lang.String ordinalParam,
                                             long number)

  Construct the ordinal suffix for a number, for example "st", "nd", "rd"

  Parameters:
    `ordinalParam` - the value of the ordinal attribute (used in non-English language implementations)
    `number` - the number being formatted
  Returns:
    the ordinal suffix to be appended to the formatted number

### alphaDefault

    protected void alphaDefault(long number,
                                char formchar,
                                FastStringBuffer sb)

  Default processing with an alphabetic format token: use the contiguous range of Unicode letters starting with that token.

### toAlpha

    protected java.lang.String toAlpha(long number,
                                       int min,
                                       int max)

  Format the number as an alphabetic label using the alphabet consisting of consecutive Unicode characters from min to max

### toAlphaSequence

    protected java.lang.String toAlphaSequence(long number,
                                               java.lang.String alphabet)

  Convert the number into an alphabetic label using a given alphabet. For example, if the alphabet is "xyz" the sequence is x, y, z, xx, xy, xz, ....

### toRoman

    public static java.lang.String toRoman(long n)

  Generate a Roman numeral (in lower case)

### toWords

    public java.lang.String toWords(long number)

  Show the number as words in title case. (We choose title case because the result can then be converted algorithmically to lower case or upper case).

### toWords

    public java.lang.String toWords(long number,
                                    int wordCase)

### toOrdinalWords

    public java.lang.String toOrdinalWords(java.lang.String ordinalParam,
                                           long number,
                                           int wordCase)

  Show an ordinal number as English words in a requested case (for example, Twentyfirst)

### monthName

    public java.lang.String monthName(int month,
                                      int minWidth,
                                      int maxWidth)

  Get a month name or abbreviation

  Specified by:
    `monthName` in interface `Numberer`
  Parameters:
    `month` - The month number (1=January, 12=December)
    `minWidth` - The minimum number of characters
    `maxWidth` - The maximum number of characters

### dayName

    public java.lang.String dayName(int day,
                                    int minWidth,
                                    int maxWidth)

  Get a day name or abbreviation

  Specified by:
    `dayName` in interface `Numberer`
  Parameters:
    `day` - The month number (1=Sunday, 7=Saturday)
    `minWidth` - The minimum number of characters
    `maxWidth` - The maximum number of characters

### halfDayName

    public java.lang.String halfDayName(int minutes,
                                        int minWidth,
                                        int maxWidth)

  Get an am/pm indicator

  Specified by:
    `halfDayName` in interface `Numberer`
  Parameters:
    `minutes` - the minutes within the day
    `minWidth` - minimum width of output
    `maxWidth` - maximum width of output
  Returns:
    the AM or PM indicator

### getOrdinalSuffixForDateTime

    public java.lang.String getOrdinalSuffixForDateTime(java.lang.String component)

  Get an ordinal suffix for a particular component of a date/time.

  Specified by:
    `getOrdinalSuffixForDateTime` in interface `Numberer`
  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".