## net.sf.saxon.number
Class Numberer_de

    java.lang.Object
      net.sf.saxon.number.AbstractNumberer
          net.sf.saxon.number.Numberer_de

All Implemented Interfaces:
  java.io.Serializable, Numberer

    public class Numberer_de

extends AbstractNumberer

Class Numberer_de is designed simply to demonstrate how to write a number formatter for a different language. This one will be activated for language="de", format="eins", letter-value="traditional"

Author:
  Michael H. Kay
See Also:
  Serialized Form

Field Summary

Fields inherited from class net.sf.saxon.number.AbstractNumberer
`cyrillicLower, cyrillicUpper, greekLower, greekUpper, hebrew, hiraganaA, hiraganaI, kanjiDigits, katakanaA, katakanaI, latinLower, latinUpper, LOWER_CASE, TITLE_CASE, UPPER_CASE, westernDigits`

Constructor Summary
`Numberer_de()`

Method Summary
`java.lang.String` `dayName(int day, int minWidth, int maxWidth)` Get a day name or abbreviation
`java.lang.String` `getCalendarName(java.lang.String code)` Get the name of a calendar
`java.lang.String` `getEraName(int year)` Get the name for an era (e.g.
`java.lang.String` `getOrdinalSuffixForDateTime(java.lang.String component)` Get an ordinal suffix for a particular component of a date/time.
`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"
`java.lang.String` `toOrdinalWords(java.lang.String ordinalParam, long number, int wordCase)` Show an ordinal number as German words (for example, Einundzwanzigste)
`java.lang.String` `toWords(long number)` Show the number as words in title case.

Methods inherited from class net.sf.saxon.number.AbstractNumberer
`alphaDefault, format, getCountry, halfDayName, setCountry, toAlpha, toAlphaSequence, toRoman, toWords`

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

Constructor Detail

### Numberer_de

    public Numberer_de()

Method Detail

### ordinalSuffix

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

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

  Overrides:
    `ordinalSuffix` in class `AbstractNumberer`
  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

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

  Specified by:
    `toWords` in class `AbstractNumberer`
  Parameters:
    `number` - the number to be formatted
  Returns:
    the number formatted as English words

### toOrdinalWords

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

  Show an ordinal number as German words (for example, Einundzwanzigste)

  Specified by:
    `toOrdinalWords` in class `AbstractNumberer`
  Parameters:
    `ordinalParam` - the value of the "ordinal" attribute as supplied by the user
    `number` - the number to be formatted
    `wordCase` - the required case for example `AbstractNumberer.UPPER_CASE`, `AbstractNumberer.LOWER_CASE`, `AbstractNumberer.TITLE_CASE`
  Returns:
    the formatted number

### monthName

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

  Get a month name or abbreviation

  Specified by:
    `monthName` in interface `Numberer`
  Specified by:
    `monthName` in class `AbstractNumberer`
  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`
  Specified by:
    `dayName` in class `AbstractNumberer`
  Parameters:
    `day` - The month number (1=Sunday, 7=Saturday)
    `minWidth` - The minimum number of characters
    `maxWidth` - The maximum number of characters

### 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`
  Overrides:
    `getOrdinalSuffixForDateTime` in class `AbstractNumberer`
  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

    public java.lang.String getEraName(int year)

  Get the name for an era (e.g. "BC" or "AD")

  Specified by:
    `getEraName` in interface `Numberer`
  Overrides:
    `getEraName` in class `AbstractNumberer`
  Parameters:
    `year` - the proleptic gregorian year, using "0" for the year before 1AD

### getCalendarName

    public java.lang.String getCalendarName(java.lang.String code)

  Get the name of a calendar

  Specified by:
    `getCalendarName` in interface `Numberer`
  Overrides:
    `getCalendarName` in class `AbstractNumberer`
  Parameters:
    `code` - The code representing the calendar as in the XSLT 2.0 spec, e.g. AD for the Gregorian calendar

Copyright (c) Saxonica Limited. All rights reserved.