diff -r 127731b7107d -r 3eebb1e54d3a secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSObjectFactory.hpp --- a/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/XSObjectFactory.hpp Fri Jan 22 09:56:12 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,237 +0,0 @@ -/* - * 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. - */ - -/* - * $Id: XSObjectFactory.hpp 568078 2007-08-21 11:43:25Z amassari $ - */ - -#if !defined(XSOBJECTFACTORY_HPP) -#define XSOBJECTFACTORY_HPP - -#include -#include - -XERCES_CPP_NAMESPACE_BEGIN - -class XSObject; -class XSAttributeUse; -class XSAttributeDeclaration; -class XSModel; -class XSElementDeclaration; -class XSSimpleTypeDefinition; -class XSComplexTypeDefinition; -class XSModelGroupDefinition; -class XSAttributeGroupDefinition; -class XSWildcard; -class XSParticle; -class XSAnnotation; -class XSNamespaceItem; -class XSNotationDeclaration; -class SchemaAttDef; -class SchemaElementDecl; -class DatatypeValidator; -class ContentSpecNode; -class ComplexTypeInfo; -class XercesGroupInfo; -class XercesAttGroupInfo; -class XSIDCDefinition; -class IdentityConstraint; -class XMLNotationDecl; - -/** - * Factory class to create various XSObject(s) - * Used by XSModel - */ -class XMLPARSER_EXPORT XSObjectFactory : public XMemory -{ -public: - // ----------------------------------------------------------------------- - // Constructors and Destructor - // ----------------------------------------------------------------------- - XSObjectFactory(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager); - ~XSObjectFactory(); - -private: - // ----------------------------------------------------------------------- - // Unimplemented constructors and destructor - // ----------------------------------------------------------------------- - XSObjectFactory(const XSObjectFactory&); - XSObjectFactory& operator=(const XSObjectFactory&); - - // ----------------------------------------------------------------------- - // factory methods - // ----------------------------------------------------------------------- - XSParticle* createModelGroupParticle - ( - const ContentSpecNode* const node - , XSModel* const xsModel - ); - - XSAttributeDeclaration* addOrFind - ( - SchemaAttDef* const attDef - , XSModel* const xsModel - , XSComplexTypeDefinition* const enclosingTypeDef = 0 - ); - - XSSimpleTypeDefinition* addOrFind - ( - DatatypeValidator* const validator - , XSModel* const xsModel - , bool isAnySimpleType = false - ); - - XSElementDeclaration* addOrFind - ( - SchemaElementDecl* const elemDecl - , XSModel* const xsModel - , XSComplexTypeDefinition* const enclosingTypeDef = 0 - ); - - XSComplexTypeDefinition* addOrFind - ( - ComplexTypeInfo* const typeInfo - , XSModel* const xsModel - ); - - XSIDCDefinition* addOrFind - ( - IdentityConstraint* const ic - , XSModel* const xsModel - ); - - XSNotationDeclaration* addOrFind - ( - XMLNotationDecl* const notDecl - , XSModel* const xsModel - ); - - XSAttributeUse* createXSAttributeUse - ( - XSAttributeDeclaration* const xsAttDecl - , XSModel* const xsModel - ); - XSWildcard* createXSWildcard - ( - SchemaAttDef* const attDef - , XSModel* const xsModel - ); - - XSWildcard* createXSWildcard - ( - const ContentSpecNode* const rootNode - , XSModel* const xsModel - ); - - XSModelGroupDefinition* createXSModelGroupDefinition - ( - XercesGroupInfo* const groupInfo - , XSModel* const xsModel - ); - - XSAttributeGroupDefinition* createXSAttGroupDefinition - ( - XercesAttGroupInfo* const attGroupInfo - , XSModel* const xsModel - ); - - // ----------------------------------------------------------------------- - // Helper methods - // ----------------------------------------------------------------------- - // creates a particle corresponding to an element - XSParticle* createElementParticle - ( - const ContentSpecNode* const rootNode - , XSModel* const xsModel - ); - - // creates a particle corresponding to a wildcard - XSParticle* createWildcardParticle - ( - const ContentSpecNode* const rootNode - , XSModel* const xsModel - ); - - XSAnnotation* getAnnotationFromModel - ( - XSModel* const xsModel - , const void* const key - ); - - void buildAllParticles - ( - const ContentSpecNode* const rootNode - , XSParticleList* const particleList - , XSModel* const xsModel - ); - - void buildChoiceSequenceParticles - ( - const ContentSpecNode* const rootNode - , XSParticleList* const particleList - , XSModel* const xsModel - ); - - void putObjectInMap - ( - void* key - , XSObject* const object - ); - - XSObject* getObjectFromMap - ( - void* key - ); - - void processFacets - ( - DatatypeValidator* const dv - , XSModel* const xsModel - , XSSimpleTypeDefinition* const xsST - ); - - void processAttUse - ( - SchemaAttDef* const attDef - , XSAttributeUse* const xsAttUse - ); - - bool isMultiValueFacetDefined(DatatypeValidator* const dv); - - // make XSModel our friend - friend class XSModel; - - // ----------------------------------------------------------------------- - // Private Data Members - // - // fMemoryManager - // The memory manager used to create various XSObject(s). - // ----------------------------------------------------------------------- - MemoryManager* fMemoryManager; - RefHashTableOf* fXercesToXSMap; - RefVectorOf* fDeleteVector; -}; - -inline XSObject* XSObjectFactory::getObjectFromMap(void* key) -{ - return fXercesToXSMap->get(key); -} - - -XERCES_CPP_NAMESPACE_END - -#endif