001package com.hfg.xml.msofficexml.docx.wordprocessingml;
002
003//------------------------------------------------------------------------------
004
005import java.util.ArrayList;
006import java.util.HashMap;
007import java.util.List;
008import java.util.Map;
009
010/**
011 Enumeration of Office Open XML number format values.
012
013 @author J. Alex Taylor, hairyfatguy.com
014 */
015//------------------------------------------------------------------------------
016// com.hfg XML/HTML Coding Library
017//
018// This library is free software; you can redistribute it and/or
019// modify it under the terms of the GNU Lesser General Public
020// License as published by the Free Software Foundation; either
021// version 2.1 of the License, or (at your option) any later version.
022//
023// This library is distributed in the hope that it will be useful,
024// but WITHOUT ANY WARRANTY; without even the implied warranty of
025// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
026// Lesser General Public License for more details.
027//
028// You should have received a copy of the GNU Lesser General Public
029// License along with this library; if not, write to the Free Software
030// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
031//
032// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
033// jataylor@hairyfatguy.com
034//------------------------------------------------------------------------------
035
036public class WmlNumberingFormat
037{
038   private static Map<String, WmlNumberingFormat> sValueMap = new HashMap<>();
039
040   public static final WmlNumberingFormat decimal                      = new WmlNumberingFormat("decimal", "Decimal Numbers");
041   public static final WmlNumberingFormat upperRoman                   = new WmlNumberingFormat("upperRoman", "Uppercase Roman Numerals");
042   public static final WmlNumberingFormat lowerRoman                   = new WmlNumberingFormat("lowerRoman", "Lowercase Roman Numerals");
043   public static final WmlNumberingFormat upperLetter                  = new WmlNumberingFormat("upperLetter", "Uppercase Latin Alphabet");
044   public static final WmlNumberingFormat lowerLetter                  = new WmlNumberingFormat("lowerLetter", "Lowercase Latin Alphabet");
045   public static final WmlNumberingFormat ordinal                      = new WmlNumberingFormat("ordinal", "Ordinal");
046   public static final WmlNumberingFormat cardinalText                 = new WmlNumberingFormat("cardinalText", "Cardinal Text");
047   public static final WmlNumberingFormat ordinalText                  = new WmlNumberingFormat("ordinalText", "Ordinal Text");
048   public static final WmlNumberingFormat hex                          = new WmlNumberingFormat("hex", "Hexadecimal Numbering");
049   public static final WmlNumberingFormat chicago                      = new WmlNumberingFormat("chicago", "Chicago Manual of Style");
050   public static final WmlNumberingFormat ideographDigital             = new WmlNumberingFormat("ideographDigital", "Ideographs");
051   public static final WmlNumberingFormat japaneseCounting             = new WmlNumberingFormat("japaneseCounting", "Japanese Counting System");
052   public static final WmlNumberingFormat aiueo                        = new WmlNumberingFormat("aiueo", "AIUEO Order Hiragana");
053   public static final WmlNumberingFormat iroha                        = new WmlNumberingFormat("iroha", "Iroha Ordered Katakana");
054   public static final WmlNumberingFormat decimalFullWidth             = new WmlNumberingFormat("decimalFullWidth", "Double Byte Arabic Numerals");
055   public static final WmlNumberingFormat decimalHalfWidth             = new WmlNumberingFormat("decimalHalfWidth", "Single Byte Arabic Numerals");
056   public static final WmlNumberingFormat japaneseLegal                = new WmlNumberingFormat("japaneseLegal", "Japanese Legal Numbering");
057   public static final WmlNumberingFormat japaneseDigitalTenThousand   = new WmlNumberingFormat("japaneseDigitalTenThousand", "Japanese Digital Ten Thousand Counting System");
058   public static final WmlNumberingFormat decimalEnclosedCircle        = new WmlNumberingFormat("decimalEnclosedCircle", "Decimal Numbers Enclosed in a Circle");
059   public static final WmlNumberingFormat decimalFullWidth2            = new WmlNumberingFormat("decimalFullWidth2", "Double Byte Arabic Numerals Alternate");
060   public static final WmlNumberingFormat aiueoFullWidth               = new WmlNumberingFormat("aiueoFullWidth", "Full-Width AIUEO Order Hiragana");
061   public static final WmlNumberingFormat irohaFullWidth               = new WmlNumberingFormat("irohaFullWidth", "Full-Width Iroha Ordered Katakana");
062   public static final WmlNumberingFormat decimalZero                  = new WmlNumberingFormat("decimalZero", "Initial Zero Arabic Numerals");
063   public static final WmlNumberingFormat bullet                       = new WmlNumberingFormat("bullet", "Bullet");
064   public static final WmlNumberingFormat ganada                       = new WmlNumberingFormat("ganada", "Korean Ganada Numbering");
065   public static final WmlNumberingFormat chosung                      = new WmlNumberingFormat("chosung", "Korean Chosung Numbering");
066   public static final WmlNumberingFormat decimalEnclosedFullstop      = new WmlNumberingFormat("decimalEnclosedFullstop", "Decimal Numbers Followed by a Period");
067   public static final WmlNumberingFormat decimalEnclosedParen         = new WmlNumberingFormat("decimalEnclosedParen", "Decimal Numbers Enclosed in Parenthesis");
068   public static final WmlNumberingFormat decimalEnclosedCircleChinese = new WmlNumberingFormat("decimalEnclosedCircleChinese", "Decimal Numbers Enclosed in a Circle");
069   public static final WmlNumberingFormat ideographEnclosedCircle      = new WmlNumberingFormat("ideographEnclosedCircle", "Ideographs Enclosed in a Circle");
070   public static final WmlNumberingFormat ideographTraditional         = new WmlNumberingFormat("ideographTraditional", "Traditional Ideograph Format");
071   public static final WmlNumberingFormat ideographZodiac              = new WmlNumberingFormat("ideographZodiac", "Zodiac Ideograph Format");
072   public static final WmlNumberingFormat ideographZodiacTraditional   = new WmlNumberingFormat("ideographZodiacTraditional", "Traditional Zodiac Ideograph Format");
073   public static final WmlNumberingFormat taiwaneseCounting            = new WmlNumberingFormat("taiwaneseCounting", "Taiwanese Counting System");
074   public static final WmlNumberingFormat ideographLegalTraditional    = new WmlNumberingFormat("ideographLegalTraditional", "Traditional Legal Ideograph Format");
075   public static final WmlNumberingFormat taiwaneseCountingThousand    = new WmlNumberingFormat("taiwaneseCountingThousand", "Taiwanese Counting Thousand System");
076   public static final WmlNumberingFormat taiwaneseDigital             = new WmlNumberingFormat("taiwaneseDigital", "Taiwanese Digital Counting System");
077   public static final WmlNumberingFormat chineseCounting              = new WmlNumberingFormat("chineseCounting", "Chinese Counting System");
078   public static final WmlNumberingFormat chineseLegalSimplified       = new WmlNumberingFormat("chineseLegalSimplified", "Chinese Legal Simplified Format");
079   public static final WmlNumberingFormat chineseCountingThousand      = new WmlNumberingFormat("chineseCountingThousand", "Chinese Counting Thousand System");
080   public static final WmlNumberingFormat koreanDigital                = new WmlNumberingFormat("koreanDigital", "Korean Digital Counting System");
081   public static final WmlNumberingFormat koreanCounting               = new WmlNumberingFormat("koreanCounting", "Korean Counting System");
082   public static final WmlNumberingFormat koreanLegal                  = new WmlNumberingFormat("koreanLegal", "Korean Legal Numbering");
083   public static final WmlNumberingFormat koreanDigital2               = new WmlNumberingFormat("koreanDigital2", "Korean Digital Counting System Alternate");
084   public static final WmlNumberingFormat vietnameseCounting           = new WmlNumberingFormat("vietnameseCounting", "Vietnamese Numerals");
085   public static final WmlNumberingFormat russianLower                 = new WmlNumberingFormat("russianLower", "Lowercase Russian Alphabet");
086   public static final WmlNumberingFormat russianUpper                 = new WmlNumberingFormat("russianUpper", "Uppercase Russian Alphabet");
087   public static final WmlNumberingFormat none                         = new WmlNumberingFormat("none", "No Numbering");
088   public static final WmlNumberingFormat numberInDash                 = new WmlNumberingFormat("numberInDash", "Number With Dashes");
089   public static final WmlNumberingFormat hebrew1                      = new WmlNumberingFormat("hebrew1", "Hebrew Numerals");
090   public static final WmlNumberingFormat hebrew2                      = new WmlNumberingFormat("hebrew2", "Hebrew Alphabet");
091   public static final WmlNumberingFormat arabicAlpha                  = new WmlNumberingFormat("arabicAlpha", "Arabic Alphabet");
092   public static final WmlNumberingFormat arabicAbjad                  = new WmlNumberingFormat("arabicAbjad", "Arabic Abjad Numerals");
093   public static final WmlNumberingFormat hindiVowels                  = new WmlNumberingFormat("hindiVowels", "Hindi Vowels");
094   public static final WmlNumberingFormat hindiConsonants              = new WmlNumberingFormat("hindiConsonants", "Hindi Consonants");
095   public static final WmlNumberingFormat hindiNumbers                 = new WmlNumberingFormat("hindiNumbers", "Hindi Numbers");
096   public static final WmlNumberingFormat hindiCounting                = new WmlNumberingFormat("hindiCounting", "Hindi Counting System");
097   public static final WmlNumberingFormat thaiLetters                  = new WmlNumberingFormat("thaiLetters", "Thai Letters");
098   public static final WmlNumberingFormat thaiNumbers                  = new WmlNumberingFormat("thaiNumbers", "Thai Numerals");
099   public static final WmlNumberingFormat thaiCounting                 = new WmlNumberingFormat("thaiCounting", "Thai Counting System");
100
101   private String mName;
102   private String mDescription;
103
104   //###########################################################################
105   // CONSTRUCTORS
106   //###########################################################################
107
108   //---------------------------------------------------------------------------
109   private WmlNumberingFormat(String inName, String inDescription)
110   {
111      mName = inName;
112      mDescription = inDescription;
113
114      sValueMap.put(inName, this);
115   }
116
117   //###########################################################################
118   // PUBLIC METHODS
119   //###########################################################################
120
121   //---------------------------------------------------------------------------
122   public static List<WmlNumberingFormat> values()
123   {
124      return new ArrayList<>(sValueMap.values());
125   }
126
127   //---------------------------------------------------------------------------
128   public static WmlNumberingFormat valueOf(String inString)
129   {
130      return sValueMap.get(inString);
131   }
132
133   //---------------------------------------------------------------------------
134   @Override
135   public String toString()
136   {
137      return name();
138   }
139
140   //---------------------------------------------------------------------------
141   public String name()
142   {
143      return mName;
144   }
145
146   //---------------------------------------------------------------------------
147   public String getDescription()
148   {
149      return mDescription;
150   }
151
152}