/*
- * Copyright 2001-2006 Internet2
+ * Copyright 2001-2009 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
/**
- * @file AbstractAttributeExtensibleXMLObject.h
+ * @file xmltooling/AbstractAttributeExtensibleXMLObject.h
*
* AbstractXMLObject mixin that implements AttributeExtensibleXMLObject
*/
#ifndef __xmltooling_absattrextxmlobj_h__
#define __xmltooling_absattrextxmlobj_h__
-#include <map>
#include <xmltooling/AbstractXMLObject.h>
#include <xmltooling/AttributeExtensibleXMLObject.h>
+#include <map>
+
#if defined (_MSC_VER)
#pragma warning( push )
#pragma warning( disable : 4250 4251 )
public:
virtual ~AbstractAttributeExtensibleXMLObject();
- const XMLCh* getAttribute(const QName& qualifiedName) const {
- std::map<QName,XMLCh*>::const_iterator i=m_attributeMap.find(qualifiedName);
- return (i==m_attributeMap.end()) ? NULL : i->second;
- }
-
+ // Virtual function overrides.
+ const XMLCh* getAttribute(const QName& qualifiedName) const;
void setAttribute(const QName& qualifiedName, const XMLCh* value, bool ID=false);
-
- const std::map<QName,XMLCh*>& getExtensionAttributes() const {
- return m_attributeMap;
- }
-
- const XMLCh* getXMLID() const {
- return (m_idAttribute == m_attributeMap.end()) ? NULL : m_idAttribute->second;
- }
+ const std::map<QName,XMLCh*>& getExtensionAttributes() const;
+ const XMLCh* getXMLID() const;
protected:
- AbstractAttributeExtensibleXMLObject() {
- m_idAttribute = m_attributeMap.end();
- }
+ AbstractAttributeExtensibleXMLObject();
/** Copy constructor. */
AbstractAttributeExtensibleXMLObject(const AbstractAttributeExtensibleXMLObject& src);
*
* @param attribute the DOM attribute node being unmarshalled
*/
- void unmarshallExtensionAttribute(const DOMAttr* attribute);
+ void unmarshallExtensionAttribute(const xercesc::DOMAttr* attribute);
/**
* Assists in the marshalling of extension attributes.
*
* @param domElement the DOM element against which to marshall the attributes
*/
- void marshallExtensionAttributes(DOMElement* domElement) const;
+ void marshallExtensionAttributes(xercesc::DOMElement* domElement) const;
private:
/** Map of arbitrary attributes. */