| API Docs for SAX and DOM |
| Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members # XMLAttDefList.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 /*
    00018  * $Log: XMLAttDefList.hpp,v $
    00019  * Revision 1.9  2004/09/08 13:55:58  peiyongz
    00020  * Apache License Version 2.0
    00021  *
    00022  * Revision 1.8  2004/01/29 11:46:29  cargilld
    00023  * Code cleanup changes to get rid of various compiler diagnostic messages.
    00024  *
    00025  * Revision 1.7  2003/11/10 21:53:54  neilg
    00026  * add a means of statelessly traversing attribute lists.  mark the enumeration-based means as deprecated, since those are not stateless
    00027  *
    00028  * Revision 1.6  2003/10/20 11:47:30  gareth
    00029  * Constructor take memory manager and get method for it.
    00030  *
    00031  * Revision 1.5  2003/10/10 16:23:29  peiyongz
    00032  * Implementation of Serialization/Deserialization
    00033  *
    00034  * Revision 1.4  2003/05/16 21:36:55  knoaman
    00035  * Memory manager implementation: Modify constructors to pass in the memory manager.
    00036  *
    00037  * Revision 1.3  2003/05/15 18:26:07  knoaman
    00038  * Partial implementation of the configurable memory manager.
    00039  *
    00040  * Revision 1.2  2002/11/04 15:00:21  tng
    00041  * C++ Namespace Support.
    00042  *
    00043  * Revision 1.1.1.1  2002/02/01 22:21:50  peiyongz
    00044  * sane_include
    00045  *
    00046  * Revision 1.4  2000/02/24 20:00:22  abagchi
    00047  * Swat for removing Log from API docs
    00048  *
    00049  * Revision 1.3  2000/02/15 01:21:30  roddey
    00050  * Some initial documentation improvements. More to come...
    00051  *
    00052  * Revision 1.2  2000/02/06 07:47:46  rahulj
    00053  * Year 2K copyright swat.
    00054  *
    00055  * Revision 1.1.1.1  1999/11/09 01:08:28  twl
    00056  * Initial checkin
    00057  *
    00058  * Revision 1.2  1999/11/08 20:44:35  rahul
    00059  * Swat for adding in Product name and CVS comment log variable.
    00060  *
    00061  */
    00062
    00063 #if !defined(XMLATTDEFLIST_HPP)
    00064 #define XMLATTDEFLIST_HPP
    00065
    00066 #include <xercesc/util/XercesDefs.hpp>
    00067 #include <xercesc/util/XMemory.hpp>
    00068 #include <xercesc/internal/XSerializable.hpp>
    00069
    00070 XERCES_CPP_NAMESPACE_BEGIN
    00071
    00072 class XMLAttDef;
    00073
    00091 class  XMLAttDefList : public XSerializable, public XMemory
    00092 {
    00093 public:
    00094     // -----------------------------------------------------------------------
    00095     //  Constructors and Destructor
    00096     // -----------------------------------------------------------------------
    00097
    00100     virtual ~XMLAttDefList();
    00102
    00103
    00104     // -----------------------------------------------------------------------
    00105     //  The virtual interface
    00106     // -----------------------------------------------------------------------
    00107
    00111     virtual bool hasMoreElements() const = 0;
    00112     virtual bool isEmpty() const = 0;
    00113     virtual XMLAttDef* findAttDef
    00114     (
    00115         const   unsigned long       uriID
    00116         , const XMLCh* const        attName
    00117     ) = 0;
    00118     virtual const XMLAttDef* findAttDef
    00119     (
    00120         const   unsigned long       uriID
    00121         , const XMLCh* const        attName
    00122     )   const = 0;
    00123     virtual XMLAttDef* findAttDef
    00124     (
    00125         const   XMLCh* const        attURI
    00126         , const XMLCh* const        attName
    00127     ) = 0;
    00128     virtual const XMLAttDef* findAttDef
    00129     (
    00130         const   XMLCh* const        attURI
    00131         , const XMLCh* const        attName
    00132     )   const = 0;
    00133
    00137     virtual XMLAttDef& nextElement() = 0;
    00138
    00142     virtual void Reset() = 0;
    00143
    00147     virtual unsigned int getAttDefCount() const = 0;
    00148
    00152     virtual XMLAttDef &getAttDef(unsigned int index) = 0;
    00153
    00157     virtual const XMLAttDef &getAttDef(unsigned int index) const = 0;
    00158
    00159     /***
    00160      * Support for Serialization/De-serialization
    00161      ***/
    00162     DECL_XSERIALIZABLE(XMLAttDefList)
    00163
    00164
    00165     // -----------------------------------------------------------------------
    00166     //  Getter methods
    00167     // -----------------------------------------------------------------------
    00168
    00171
    00179     MemoryManager* getMemoryManager() const;
    00180
    00182
    00183 protected :
    00184     // -----------------------------------------------------------------------
    00185     //  Hidden constructors and operators
    00186     // -----------------------------------------------------------------------
    00187     XMLAttDefList(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
    00188
    00189 private:
    00190     // unimplemented
    00191     XMLAttDefList(const XMLAttDefList&);
    00192     XMLAttDefList& operator=(const XMLAttDefList&);
    00193
    00194     MemoryManager*      fMemoryManager;
    00195 };
    00196
    00197
    00198
    00199 // ---------------------------------------------------------------------------
    00200 //  XMLAttDefList: Getter methods
    00201 // ---------------------------------------------------------------------------
    00202
    00203 inline MemoryManager* XMLAttDefList::getMemoryManager() const
    00204 {
    00205     return fMemoryManager;
    00206 }
    00207
    00208 // ---------------------------------------------------------------------------
    00209 //  XMLAttDefList: Constructors and Destructor
    00210 // ---------------------------------------------------------------------------
    00211 inline XMLAttDefList::~XMLAttDefList()
    00212 {
    00213 }
    00214
    00215
    00216 // ---------------------------------------------------------------------------
    00217 //  XMLAttDefList: Protected Constructor
    00218 // ---------------------------------------------------------------------------
    00219 inline XMLAttDefList::XMLAttDefList(MemoryManager* const manager):
    00220 fMemoryManager(manager)
    00221 {
    00222 }
    00223
    00224 XERCES_CPP_NAMESPACE_END
    00225
    00226 #endif

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.