Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.8

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

XalanNumberingResourceBundle.hpp

Go to the documentation of this file.
00001 /* 00002 * Copyright 1999-2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #if !defined(XALAN_NUMBERINGRESOURCEBUNDLE_HEADER_GUARD) 00018 #define XALAN_NUMBERINGRESOURCEBUNDLE_HEADER_GUARD 00019 00020 00021 00022 // Base include file. Must be first. 00023 #include <xalanc/XSLT/XSLTDefinitions.hpp> 00024 00025 00026 00027 #include <vector> 00028 00029 00030 00031 #include <xalanc/PlatformSupport/DOMStringHelper.hpp> 00032 00033 00034 00035 XALAN_CPP_NAMESPACE_BEGIN 00036 00037 00038 00039 class XalanNumberingResourceBundle 00040 { 00041 public: 00042 00043 typedef unsigned long NumberType; 00044 00045 #if defined(XALAN_NO_STD_NAMESPACE) 00046 typedef vector<NumberType> NumberTypeVectorType; 00047 typedef vector<XalanDOMCharVectorType> DigitsTableVectorType; 00048 #else 00049 typedef std::vector<unsigned long> NumberTypeVectorType; 00050 typedef std::vector<XalanDOMCharVectorType> DigitsTableVectorType; 00051 #endif 00052 00053 // Enum to describe language orientation. (English is left-to-right, 00054 // Hebrew is right-to-left, etc.) 00055 enum eOrientation { eLeftToRight, eRightToLeft, eTopToBottom, eBottomToTop }; 00056 00057 // Enum to describe how numbering is done. 00058 enum eNumberingMethod { eAdditive, eMultiplicativeAdditive }; 00059 00060 // Enum to describe the where the multiplier goes. 00061 enum eMultiplierOrder { eFollows, ePrecedes }; 00062 00063 00064 XalanNumberingResourceBundle( 00065 const XalanDOMString& theLanguage, 00066 const XalanDOMString& theUILanguage, 00067 const XalanDOMString& theHelpLanguage, 00068 const XalanDOMCharVectorType& theAlphabet, 00069 const XalanDOMCharVectorType& theTraditionalAlphabet, 00070 eOrientation theOrientation, 00071 eNumberingMethod theNumberingMethod, 00072 eMultiplierOrder theMultiplierOrder, 00073 NumberType theMaxNumericalValue, 00074 const NumberTypeVectorType& theNumberGroups, 00075 const NumberTypeVectorType& theMultipliers, 00076 const XalanDOMCharVectorType& theZeroChar, 00077 const XalanDOMCharVectorType& theMultiplierChars, 00078 const DigitsTableVectorType& theDigitsTable, 00079 const NumberTypeVectorType& theDigitsTableTable); 00080 00081 explicit 00082 XalanNumberingResourceBundle(); 00083 00084 XalanNumberingResourceBundle(const XalanNumberingResourceBundle& theSource); 00085 00086 ~XalanNumberingResourceBundle(); 00087 00088 bool 00089 operator==(const XalanNumberingResourceBundle& theRHS) const 00090 { 00091 return equals(m_language, theRHS.m_language); 00092 } 00093 00094 const XalanDOMString& 00095 getLanguage() const 00096 { 00097 return m_language; 00098 } 00099 00100 const XalanDOMString& 00101 getUILanguage() const 00102 { 00103 return m_uiLanguage; 00104 } 00105 00106 const XalanDOMString& 00107 getHelpLanguage() const 00108 { 00109 return m_helpLanguage; 00110 } 00111 00112 const XalanDOMCharVectorType& 00113 getAlphabet() const 00114 { 00115 return m_alphabet; 00116 } 00117 00118 const XalanDOMCharVectorType& 00119 getTraditionalAlphabet() const 00120 { 00121 return m_traditionalAlphabet; 00122 } 00123 00124 eOrientation 00125 getOrientation() const 00126 { 00127 return m_orientation; 00128 } 00129 00130 eNumberingMethod 00131 getNumberingMethod() const 00132 { 00133 return m_numberingMethod; 00134 } 00135 00136 eMultiplierOrder 00137 getMultiplierOrder() const 00138 { 00139 return m_multiplierOrder; 00140 } 00141 00142 NumberType 00143 getMaxNumericalValue() const 00144 { 00145 return m_maxNumericalValue; 00146 } 00147 00148 const NumberTypeVectorType& 00149 getNumberGroups() const 00150 { 00151 return m_numberGroups; 00152 } 00153 00154 const NumberTypeVectorType& 00155 getMultipliers() const 00156 { 00157 return m_multipliers; 00158 } 00159 00160 const XalanDOMCharVectorType& 00161 getZeroChar() const 00162 { 00163 return m_zeroChar; 00164 } 00165 00166 const XalanDOMCharVectorType& 00167 getMultiplierChars() const 00168 { 00169 return m_multiplierChars; 00170 } 00171 00172 const DigitsTableVectorType& 00173 getDigitsTable() const 00174 { 00175 return m_digitsTable; 00176 } 00177 00178 const NumberTypeVectorType& 00179 getDigitsTableTable() const 00180 { 00181 return m_digitsTableTable; 00182 } 00183 00184 void 00185 swap(XalanNumberingResourceBundle& theOther); 00186 00187 private: 00188 00189 XalanDOMString m_language; 00190 00191 XalanDOMString m_uiLanguage; 00192 00193 XalanDOMString m_helpLanguage; 00194 00195 XalanDOMCharVectorType m_alphabet; 00196 00197 XalanDOMCharVectorType m_traditionalAlphabet; 00198 00199 eOrientation m_orientation; 00200 00201 eNumberingMethod m_numberingMethod; 00202 00203 eMultiplierOrder m_multiplierOrder; 00204 00205 NumberType m_maxNumericalValue; 00206 00207 NumberTypeVectorType m_numberGroups; 00208 00209 NumberTypeVectorType m_multipliers; 00210 00211 XalanDOMCharVectorType m_zeroChar; 00212 00213 XalanDOMCharVectorType m_multiplierChars; 00214 00215 DigitsTableVectorType m_digitsTable; 00216 00217 NumberTypeVectorType m_digitsTableTable; 00218 }; 00219 00220 00221 00222 XALAN_CPP_NAMESPACE_END 00223 00224 00225 00226 #endif // XALAN_NUMBERINGRESOURCEBUNDLE_HEADER_GUARD

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.8
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.