## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

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 <xalanc/Include/XalanVector.hpp>
    00028
    00029
    00030
    00031 #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
    00032
    00033
    00034
    00035 XALAN_CPP_NAMESPACE_BEGIN
    00036
    00037 XALAN_USES_MEMORY_MANAGER(XalanDOMCharVectorType)
    00038
    00039 class XalanNumberingResourceBundle
    00040 {
    00041 public:
    00042
    00043     typedef unsigned long                           NumberType;
    00044
    00045     typedef XalanVector<NumberType>                 NumberTypeVectorType;
    00046     typedef XalanVector<XalanDOMCharVectorType>     DigitsTableVectorType;
    00047
    00048     // Enum to describe language orientation.  (English is left-to-right,
    00049     // Hebrew is right-to-left, etc.)
    00050     enum eOrientation { eLeftToRight, eRightToLeft, eTopToBottom, eBottomToTop };
    00051
    00052     // Enum to describe how numbering is done.
    00053     enum eNumberingMethod { eAdditive, eMultiplicativeAdditive };
    00054
    00055     // Enum to describe the where the multiplier goes.
    00056     enum eMultiplierOrder { eFollows, ePrecedes };
    00057
    00058
    00059     XalanNumberingResourceBundle(
    00060         const XalanDOMString&           theLanguage,
    00061         const XalanDOMString&           theUILanguage,
    00062         const XalanDOMString&           theHelpLanguage,
    00063         const XalanDOMCharVectorType&   theAlphabet,
    00064         const XalanDOMCharVectorType&   theTraditionalAlphabet,
    00065         eOrientation                    theOrientation,
    00066         eNumberingMethod                theNumberingMethod,
    00067         eMultiplierOrder                theMultiplierOrder,
    00068         NumberType                      theMaxNumericalValue,
    00069         const NumberTypeVectorType&     theNumberGroups,
    00070         const NumberTypeVectorType&     theMultipliers,
    00071         const XalanDOMCharVectorType&   theZeroChar,
    00072         const XalanDOMCharVectorType&   theMultiplierChars,
    00073         const DigitsTableVectorType&    theDigitsTable,
    00074         const NumberTypeVectorType&     theDigitsTableTable,
    00075         MemoryManagerType&              theManager);
    00076
    00077     explicit
    00078     XalanNumberingResourceBundle(MemoryManagerType&  theManager);
    00079
    00080     XalanNumberingResourceBundle(const XalanNumberingResourceBundle&    theSource,
    00081                                     MemoryManagerType&                  theManager);
    00082
    00083     ~XalanNumberingResourceBundle();
    00084
    00085     MemoryManagerType&
    00086     getMemoryManager()
    00087     {
    00088         return m_language.getMemoryManager();
    00089     }
    00090
    00091     bool
    00092     operator==(const XalanNumberingResourceBundle&  theRHS) const
    00093     {
    00094         return equals(m_language, theRHS.m_language);
    00095     }
    00096
    00097     const XalanDOMString&
    00098     getLanguage() const
    00099     {
    00100         return m_language;
    00101     }
    00102
    00103     const XalanDOMString&
    00104     getUILanguage() const
    00105     {
    00106         return m_uiLanguage;
    00107     }
    00108
    00109     const XalanDOMString&
    00110     getHelpLanguage() const
    00111     {
    00112         return m_helpLanguage;
    00113     }
    00114
    00115     const XalanDOMCharVectorType&
    00116     getAlphabet() const
    00117     {
    00118         return m_alphabet;
    00119     }
    00120
    00121     const XalanDOMCharVectorType&
    00122     getTraditionalAlphabet() const
    00123     {
    00124         return m_traditionalAlphabet;
    00125     }
    00126
    00127     eOrientation
    00128     getOrientation() const
    00129     {
    00130         return m_orientation;
    00131     }
    00132
    00133     eNumberingMethod
    00134     getNumberingMethod() const
    00135     {
    00136         return m_numberingMethod;
    00137     }
    00138
    00139     eMultiplierOrder
    00140     getMultiplierOrder() const
    00141     {
    00142         return m_multiplierOrder;
    00143     }
    00144
    00145     NumberType
    00146     getMaxNumericalValue() const
    00147     {
    00148         return m_maxNumericalValue;
    00149     }
    00150
    00151     const NumberTypeVectorType&
    00152     getNumberGroups() const
    00153     {
    00154         return m_numberGroups;
    00155     }
    00156
    00157     const NumberTypeVectorType&
    00158     getMultipliers() const
    00159     {
    00160         return m_multipliers;
    00161     }
    00162
    00163     const XalanDOMCharVectorType&
    00164     getZeroChar() const
    00165     {
    00166         return m_zeroChar;
    00167     }
    00168
    00169     const XalanDOMCharVectorType&
    00170     getMultiplierChars() const
    00171     {
    00172         return m_multiplierChars;
    00173     }
    00174
    00175     const DigitsTableVectorType&
    00176     getDigitsTable() const
    00177     {
    00178         return m_digitsTable;
    00179     }
    00180
    00181     const NumberTypeVectorType&
    00182     getDigitsTableTable() const
    00183     {
    00184         return m_digitsTableTable;
    00185     }
    00186
    00187     void
    00188     swap(XalanNumberingResourceBundle&  theOther);
    00189
    00190 private:
    00191
    00192     XalanDOMString          m_language;
    00193
    00194     XalanDOMString          m_uiLanguage;
    00195
    00196     XalanDOMString          m_helpLanguage;
    00197
    00198     XalanDOMCharVectorType  m_alphabet;
    00199
    00200     XalanDOMCharVectorType  m_traditionalAlphabet;
    00201
    00202     eOrientation            m_orientation;
    00203
    00204     eNumberingMethod        m_numberingMethod;
    00205
    00206     eMultiplierOrder        m_multiplierOrder;
    00207
    00208     NumberType              m_maxNumericalValue;
    00209
    00210     NumberTypeVectorType    m_numberGroups;
    00211
    00212     NumberTypeVectorType    m_multipliers;
    00213
    00214     XalanDOMCharVectorType  m_zeroChar;
    00215
    00216     XalanDOMCharVectorType  m_multiplierChars;
    00217
    00218     DigitsTableVectorType   m_digitsTable;
    00219
    00220     NumberTypeVectorType    m_digitsTableTable;
    00221 };
    00222
    00223
    00224
    00225 XALAN_CPP_NAMESPACE_END
    00226
    00227
    00228
    00229 #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.9 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.