net.sf.saxon.number
Class Numberer_de

java.lang.Object
  extended by net.sf.saxon.number.AbstractNumberer
      extended by net.sf.saxon.number.Numberer_de
All Implemented Interfaces:
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
LOWER_CASE, TITLE_CASE, UPPER_CASE
 
Constructor Summary
Numberer_de()
           
 
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
 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
format, getCountry, halfDayName, setCountry, toRoman, toWords
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Numberer_de

public Numberer_de()
Method Detail

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

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

toOrdinalWords

public String toOrdinalWords(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 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 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 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 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 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 String getCalendarName(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) Michael H. Kay. All rights reserved.