http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

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.