SourceForge.net Logo

DOMNamedNodeMap.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: DOMNamedNodeMap.hpp 671894 2008-06-26 13:29:21Z borisk $
00020  */
00021 
00022 #if !defined(XERCESC_INCLUDE_GUARD_DOMNAMEDNODEMAP_HPP)
00023 #define XERCESC_INCLUDE_GUARD_DOMNAMEDNODEMAP_HPP
00024 
00025 #include <xercesc/util/XercesDefs.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00029 
00030 class DOMNode;
00031 
00045 class CDOM_EXPORT DOMNamedNodeMap {
00046 protected:
00047     // -----------------------------------------------------------------------
00048     //  Hidden constructors
00049     // -----------------------------------------------------------------------
00052     DOMNamedNodeMap() {};
00054 
00055 private:
00056     // -----------------------------------------------------------------------
00057     // Unimplemented constructors and operators
00058     // -----------------------------------------------------------------------
00061     DOMNamedNodeMap(const DOMNamedNodeMap &);
00062     DOMNamedNodeMap & operator = (const DOMNamedNodeMap &);
00064 
00065 public:
00066     // -----------------------------------------------------------------------
00067     //  All constructors are hidden, just the destructor is available
00068     // -----------------------------------------------------------------------
00075     virtual ~DOMNamedNodeMap() {};
00077 
00078     // -----------------------------------------------------------------------
00079     //  Virtual DOMNamedNodeMap interface
00080     // -----------------------------------------------------------------------
00083     // -----------------------------------------------------------------------
00084     //  Setter methods
00085     // -----------------------------------------------------------------------
00112     virtual DOMNode   *setNamedItem(DOMNode *arg) = 0;
00113 
00114     // -----------------------------------------------------------------------
00115     //  Getter methods
00116     // -----------------------------------------------------------------------
00129     virtual DOMNode     *item(XMLSize_t index) const = 0;
00130 
00140     virtual DOMNode   *getNamedItem(const XMLCh *name) const = 0;
00141 
00149     virtual XMLSize_t getLength() const = 0;
00150 
00151     // -----------------------------------------------------------------------
00152     //  Node methods
00153     // -----------------------------------------------------------------------
00169     virtual DOMNode    *removeNamedItem(const XMLCh *name) = 0;
00171 
00185     virtual DOMNode   *getNamedItemNS(const XMLCh *namespaceURI,
00186                                       const XMLCh *localName) const = 0;
00187 
00211     virtual DOMNode   *setNamedItemNS(DOMNode *arg) = 0;
00212 
00235     virtual DOMNode     *removeNamedItemNS(const XMLCh *namespaceURI,
00236                                            const XMLCh *localName) = 0;
00238 
00239 };
00240 
00241 #define GetDOMNamedNodeMapMemoryManager   GET_INDIRECT_MM(fOwnerNode)
00242 
00243 XERCES_CPP_NAMESPACE_END
00244 
00245 #endif