net.sf.saxon.number

Class Numberer_de

Implemented Interfaces:
Numberer, Serializable

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

Field Summary

Fields inherited from class net.sf.saxon.number.AbstractNumberer

LOWER_CASE, TITLE_CASE, UPPER_CASE, cyrillicLower, cyrillicUpper, greekLower, greekUpper, hebrew, hiraganaA, hiraganaI, kanjiDigits, katakanaA, katakanaI, latinLower, latinUpper, westernDigits

Method Summary

String
dayName(int day, int minWidth, int maxWidth)
Get a day name or abbreviation
String
getCalendarName(String code)
Get the name of a calendar
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
monthName(int month, int minWidth, int maxWidth)
Get a month name or abbreviation
protected String
ordinalSuffix(String ordinalParam, long number)
Construct the ordinal suffix for a number, for example "st", "nd", "rd"
String
toOrdinalWords(String ordinalParam, long number, int wordCase)
Show an ordinal number as German words (for example, Einundzwanzigste)
String
toWords(long number)
Show the number as words in title case.

Methods inherited from class net.sf.saxon.number.AbstractNumberer

alphaDefault, dayName, format, getCalendarName, getCountry, getEraName, getOrdinalSuffixForDateTime, halfDayName, monthName, ordinalSuffix, setCountry, toAlpha, toAlphaSequence, toOrdinalWords, toRoman, toWords, toWords

Method Details

dayName

public String dayName(int day,
                      int minWidth,
                      int maxWidth)
Get a day name or abbreviation
Specified by:
dayName in interface Numberer
Overrides:
dayName in interface AbstractNumberer
Parameters:
day - The month number (1=Sunday, 7=Saturday)
minWidth - The minimum number of characters
maxWidth - The maximum number of characters

getCalendarName

public String getCalendarName(String code)
Get the name of a calendar
Specified by:
getCalendarName in interface Numberer
Overrides:
getCalendarName in interface AbstractNumberer
Parameters:
code - The code representing the calendar as in the XSLT 2.0 spec, e.g. AD for the Gregorian calendar

getEraName

public String getEraName(int year)
Get the name for an era (e.g. "BC" or "AD")
Specified by:
getEraName in interface Numberer
Overrides:
getEraName in interface AbstractNumberer
Parameters:
year - the proleptic gregorian year, using "0" for the year before 1AD

getOrdinalSuffixForDateTime

public String getOrdinalSuffixForDateTime(String component)
Get an ordinal suffix for a particular component of a date/time.
Specified by:
getOrdinalSuffixForDateTime in interface Numberer
Overrides:
getOrdinalSuffixForDateTime in interface 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".

monthName

public String monthName(int month,
                        int minWidth,
                        int maxWidth)
Get a month name or abbreviation
Specified by:
monthName in interface Numberer
Overrides:
monthName in interface AbstractNumberer
Parameters:
month - The month number (1=January, 12=December)
minWidth - The minimum number of characters
maxWidth - The maximum number of characters

ordinalSuffix

protected String ordinalSuffix(String ordinalParam,
                               long number)
Construct the ordinal suffix for a number, for example "st", "nd", "rd"
Overrides:
ordinalSuffix in interface 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

toOrdinalWords

public String toOrdinalWords(String ordinalParam,
                             long number,
                             int wordCase)
Show an ordinal number as German words (for example, Einundzwanzigste)
Overrides:
toOrdinalWords in interface AbstractNumberer

toWords

public 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).
Overrides:
toWords in interface AbstractNumberer