# XMLAttDefList.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 /*
    00019  * $Id: XMLAttDefList.hpp 673679 2008-07-03 13:50:10Z borisk $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_XMLATTDEFLIST_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_XMLATTDEFLIST_HPP
    00024
    00025 #include <xercesc/util/XercesDefs.hpp>
    00026 #include <xercesc/util/XMemory.hpp>
    00027 #include <xercesc/internal/XSerializable.hpp>
    00028
    00029 XERCES_CPP_NAMESPACE_BEGIN
    00030
    00031 class XMLAttDef;
    00032
    00050 class XMLPARSER_EXPORT XMLAttDefList : public XSerializable, public XMemory
    00051 {
    00052 public:
    00053     // -----------------------------------------------------------------------
    00054     //  Constructors and Destructor
    00055     // -----------------------------------------------------------------------
    00056
    00059     virtual ~XMLAttDefList();
    00061
    00062
    00063     // -----------------------------------------------------------------------
    00064     //  The virtual interface
    00065     // -----------------------------------------------------------------------
    00066
    00067     virtual bool isEmpty() const = 0;
    00068     virtual XMLAttDef* findAttDef
    00069     (
    00070         const   unsigned int        uriID
    00071         , const XMLCh* const        attName
    00072     ) = 0;
    00073     virtual const XMLAttDef* findAttDef
    00074     (
    00075         const   unsigned int        uriID
    00076         , const XMLCh* const        attName
    00077     )   const = 0;
    00078     virtual XMLAttDef* findAttDef
    00079     (
    00080         const   XMLCh* const        attURI
    00081         , const XMLCh* const        attName
    00082     ) = 0;
    00083     virtual const XMLAttDef* findAttDef
    00084     (
    00085         const   XMLCh* const        attURI
    00086         , const XMLCh* const        attName
    00087     )   const = 0;
    00088
    00092     virtual XMLSize_t getAttDefCount() const = 0;
    00093
    00097     virtual XMLAttDef &getAttDef(XMLSize_t index) = 0;
    00098
    00102     virtual const XMLAttDef &getAttDef(XMLSize_t index) const = 0;
    00103
    00104     /***
    00105      * Support for Serialization/De-serialization
    00106      ***/
    00107     DECL_XSERIALIZABLE(XMLAttDefList)
    00108
    00109
    00110     // -----------------------------------------------------------------------
    00111     //  Getter methods
    00112     // -----------------------------------------------------------------------
    00113
    00114
    00116
    00124     MemoryManager* getMemoryManager() const;
    00125
    00127
    00128 protected :
    00129     // -----------------------------------------------------------------------
    00130     //  Hidden constructors and operators
    00131     // -----------------------------------------------------------------------
    00132     XMLAttDefList(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
    00133
    00134 private:
    00135     // unimplemented
    00136     XMLAttDefList(const XMLAttDefList&);
    00137     XMLAttDefList& operator=(const XMLAttDefList&);
    00138
    00139     MemoryManager*      fMemoryManager;
    00140 };
    00141
    00142
    00143
    00144 // ---------------------------------------------------------------------------
    00145 //  XMLAttDefList: Getter methods
    00146 // ---------------------------------------------------------------------------
    00147
    00148 inline MemoryManager* XMLAttDefList::getMemoryManager() const
    00149 {
    00150     return fMemoryManager;
    00151 }
    00152
    00153 // ---------------------------------------------------------------------------
    00154 //  XMLAttDefList: Constructors and Destructor
    00155 // ---------------------------------------------------------------------------
    00156 inline XMLAttDefList::~XMLAttDefList()
    00157 {
    00158 }
    00159
    00160
    00161 // ---------------------------------------------------------------------------
    00162 //  XMLAttDefList: Protected Constructor
    00163 // ---------------------------------------------------------------------------
    00164 inline XMLAttDefList::XMLAttDefList(MemoryManager* const manager):
    00165 fMemoryManager(manager)
    00166 {
    00167 }
    00168
    00169 XERCES_CPP_NAMESPACE_END
    00170
    00171 #endif