Class Numberer_en

  • All Implemented Interfaces:
    Numberer
    Direct Known Subclasses:
    Numberer_de

    public class Numberer_en
    extends Object
    implements Numberer
    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.
    • Field Detail

      • westernDigits

        protected String westernDigits
      • latinUpper

        protected String latinUpper
      • latinLower

        protected String latinLower
      • greekUpper

        protected String greekUpper
      • greekLower

        protected String greekLower
      • cyrillicUpper

        protected String cyrillicUpper
      • cyrillicLower

        protected String cyrillicLower
      • hebrew

        protected String hebrew
      • hiraganaA

        protected String hiraganaA
      • katakanaA

        protected String katakanaA
      • hiraganaI

        protected String hiraganaI
      • katakanaI

        protected String katakanaI
      • kanjiDigits

        protected String kanjiDigits
      • englishUnits

        protected String[] englishUnits
      • englishTens

        protected String[] englishTens
    • Constructor Detail

      • Numberer_en

        public Numberer_en()
    • Method Detail

      • format

        public String format​(int number,
                             String picture,
                             int groupSize,
                             String groupSeparator,
                             String letterValue)
        Format a number into a string
        Specified by:
        format in interface Numberer
        Parameters:
        number - The number to be formatted
        picture - The format specification. 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 - as defined in xsl:number ("alphabetic" or "traditional" or "")
        Returns:
        the formatted number
      • alphaDefault

        protected void alphaDefault​(int number,
                                    char formchar,
                                    StringBuffer sb)
        Default processing with an alphabetic format token: use the contiguous range of Unicode letters starting with that token.
      • toAlpha

        protected String toAlpha​(int 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 String toAlphaSequence​(int number,
                                         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, ....
      • toRadical

        protected String toRadical​(int number,
                                   String digits,
                                   String picture,
                                   int groupSize,
                                   String groupSeparator)
        Convert the number into a decimal or other representation using the given set of digits. For example, if the digits are "01" the sequence is 1, 10, 11, 100, 101, 110, 111, ...
        Parameters:
        number - the number to be formatted
        digits - the set of digits to be used
        picture - the formatting token, e.g. 001 means include leading zeroes to give at least three decimal places
        groupsize - the number of digits in each group
        groupSeparator - the separator to use between groups of digits.
      • toRoman

        protected String toRoman​(int n)
        Generate a Roman numeral (in lower case)
      • toWords

        public String toWords​(int number)
        Show the number as English words