From cbed62b2b62f88162b4fd1ce887a95575d6dbb5f Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 16 Nov 2009 06:41:49 +0000 Subject: Cleaning up SVN structure, moving tag under sdo-cpp/tags. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@880621 13f79535-47bb-0310-9956-ffa450edef68 --- .../runtime/core/src/commonj/sdo/XMLDocumentImpl.h | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 sdo-cpp/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/XMLDocumentImpl.h (limited to 'sdo-cpp/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/XMLDocumentImpl.h') diff --git a/sdo-cpp/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/XMLDocumentImpl.h b/sdo-cpp/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/XMLDocumentImpl.h new file mode 100644 index 0000000000..f7726a449c --- /dev/null +++ b/sdo-cpp/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/XMLDocumentImpl.h @@ -0,0 +1,102 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/* $Rev$ $Date$ */ + +#ifndef _XMLDocumentImpl_H_ +#define _XMLDocumentImpl_H_ + +#include "commonj/sdo/disable_warn.h" + +#include "commonj/sdo/XMLDocument.h" +#include "commonj/sdo/DataObject.h" +#include "commonj/sdo/SDOXMLString.h" +#include "commonj/sdo/SDOString.h" + + +namespace commonj +{ + namespace sdo + { + +/** XMLDocumentImpl place for holding a graph + * + * The XMLDocumentImpl class implements the abstract XMLDocument. + * Provides a place to hold a loaded + * graph of data. The root element name is maintained here so that + * the graph can be serialized to the same name later. + */ + + class XMLDocumentImpl : public XMLDocument + { + + public: + XMLDocumentImpl(); + + XMLDocumentImpl( + DataObjectPtr dataObject); + + XMLDocumentImpl( + DataObjectPtr dataObject, + const char* rootElementURI, + const char* rootElementName); + + virtual ~XMLDocumentImpl(); + + virtual DataObjectPtr getRootDataObject() const {return dataObject;} + virtual const char* getRootElementURI() const {return rootElementURI;} + virtual const char* getRootElementName() const {return rootElementName;} + virtual const char* getEncoding() const {return encoding;} + virtual void setEncoding(const char* enc); + virtual void setEncoding(const SDOString& enc); + + virtual bool getXMLDeclaration() const {return xmlDeclaration;} + virtual void setXMLDeclaration(bool xmlDecl); + + virtual const char* getXMLVersion() const {return xmlVersion;} + virtual void setXMLVersion(const char* xmlVer); + virtual void setXMLVersion(const SDOString& xmlVer); + + virtual const char* getSchemaLocation() const {return schemaLocation;} + virtual void setSchemaLocation(const char* schemaLoc); + virtual void setSchemaLocation(const SDOString& schemaLoc); + + virtual const char* getNoNamespaceSchemaLocation() const { return noNamespaceSchemaLocation;} + virtual void setNoNamespaceSchemaLocation(const char* noNamespaceSchemaLoc); + virtual void setNoNamespaceSchemaLocation(const SDOString& noNamespaceSchemaLoc); + + + friend std::istream& operator>>(std::istream& input, XMLDocumentImpl& doc); + private: + DataObjectPtr dataObject; + SDOXMLString rootElementURI; + SDOXMLString rootElementName; + SDOXMLString encoding; + bool xmlDeclaration; + SDOXMLString xmlVersion; + SDOXMLString schemaLocation; + SDOXMLString noNamespaceSchemaLocation; + + + }; + } // End - namespace sdo +} // End - namespace commonj + + +#endif //_XMLDocumentImpl_H_ -- cgit v1.2.3