Package net.sf.saxon.lib
Interface Numberer
-
- All Known Implementing Classes:
AbstractNumberer,ICUNumberer_de,ICUNumbererEnUnhyphenated,ICUNumbererPE,Numberer_da,Numberer_de,Numberer_en,Numberer_fr,Numberer_frBE,Numberer_he,Numberer_it,Numberer_nl,Numberer_nlBE,Numberer_sv,Numberer_tr
public interface NumbererInterface Numberer supports number formatting. There is a separate implementation for each language, e.g. Numberer_en for English. This supports the xsl:number element
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.StringdayName(int day, int minWidth, int maxWidth)Get a day name or abbreviationjava.util.LocaledefaultedLocale()Whether this numberer has had its locale defaulted, i.e.java.lang.Stringformat(long number, UnicodeString picture, int groupSize, java.lang.String groupSeparator, java.lang.String letterValue, java.lang.String ordinal)Format a number into a stringjava.lang.Stringformat(long number, UnicodeString picture, NumericGroupFormatter numGrpFormatter, java.lang.String letterValue, java.lang.String ordinal)Format a number into a stringjava.lang.StringgetCalendarName(java.lang.String code)Get the name of a calendarjava.lang.StringgetCountry()Get the country used by this numbererjava.lang.StringgetEraName(int year)Get the name for an era (e.g.java.lang.StringgetOrdinalSuffixForDateTime(java.lang.String component)Get an ordinal suffix for a particular component of a date/time.java.lang.StringhalfDayName(int minutes, int minWidth, int maxWidth)Get an am/pm indicatorjava.lang.StringmonthName(int month, int minWidth, int maxWidth)Get a month name or abbreviationvoidsetCountry(java.lang.String country)Set the country used by this numberer (currently used only for names of timezones).
-
-
-
Method Detail
-
setCountry
void setCountry(java.lang.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
java.lang.String getCountry()
Get the country used by this numberer- Returns:
- The ISO code of the country
-
defaultedLocale
java.util.Locale defaultedLocale()
Whether this numberer has had its locale defaulted, i.e. it's not using the language requested This can be used for situations, such as in fn:format-date(), where indication of use of defaults is required. Override for subclasses where this can happen- Returns:
- the locale used, null if it wasn't defaulted
-
format
java.lang.String format(long number, UnicodeString picture, int groupSize, java.lang.String groupSeparator, java.lang.String letterValue, java.lang.String ordinal)Format a number into a string- Parameters:
number- The number to be formattedpicture- 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 digitsletterValue- 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
java.lang.String format(long number, UnicodeString picture, NumericGroupFormatter numGrpFormatter, java.lang.String letterValue, java.lang.String ordinal)Format a number into a string- Parameters:
number- The number to be formattedpicture- 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 numberletterValue- 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
java.lang.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 charactersmaxWidth- The maximum number of characters- Returns:
- the month name or abbreviation as a string (for example, "September" or "Sep")
-
dayName
java.lang.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 charactersmaxWidth- The maximum number of characters- Returns:
- the day name or abbreviation as a string (for example, "Monday" or "Mon")
-
halfDayName
java.lang.String halfDayName(int minutes, int minWidth, int maxWidth)Get an am/pm indicator- Parameters:
minutes- the minutes within the dayminWidth- minimum width of outputmaxWidth- maximum width of output- Returns:
- the AM or PM indicator
-
getOrdinalSuffixForDateTime
java.lang.String getOrdinalSuffixForDateTime(java.lang.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
java.lang.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- Returns:
- the name of the era, for example "AD"
-
getCalendarName
java.lang.String getCalendarName(java.lang.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- Returns:
- the name of the calendar, for example "AD"
-
-