00001 /*00002 * Licensed to the Apache Software Foundation (ASF) under one or more00003 * contributor license agreements. See the NOTICE file distributed with00004 * this work for additional information regarding copyright ownership.00005 * The ASF licenses this file to You under the Apache License, Version 2.000006 * (the "License"); you may not use this file except in compliance with00007 * the License. You may obtain a copy of the License at00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.000010 * 00011 * Unless required by applicable law or agreed to in writing, software00012 * 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 and00015 * limitations under the License.00016 */00017
00018 /*00019 * $Id: XSModelGroupDefinition.hpp 568078 2007-08-21 11:43:25Z amassari $00020 */00021
00022 #if !defined(XSMODELGROUPDEFINITION_HPP)00023#define XSMODELGROUPDEFINITION_HPP00024
00025 #include <xercesc/framework/psvi/XSObject.hpp>00026
00027 XERCES_CPP_NAMESPACE_BEGIN00028
00036 // forward declarations00037 class XSAnnotation;
00038 class XSModelGroup;
00039 class XSParticle;
00040 class XercesGroupInfo;
00041
00042class XSModelGroupDefinition : publicXSObject00043 {
00044 public:
00045
00046 // Constructors and Destructor00047 // -----------------------------------------------------------------------00050
00060 XSModelGroupDefinition00061 (
00062 XercesGroupInfo* const groupInfo
00063 , XSParticle* const groupParticle
00064 , XSAnnotation* const annot
00065 , XSModel* const xsModel
00066 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager00067 );
00068
00070
00073 ~XSModelGroupDefinition();
00075
00076 //---------------------00079
00084 const XMLCh* getName();
00085
00090 const XMLCh* getNamespace();
00091
00097 XSNamespaceItem *getNamespaceItem();
00098
00100
00101 //---------------------00105
00109 XSModelGroup *getModelGroup();
00110
00114 XSAnnotation *getAnnotation() const;
00115
00117
00118 //----------------------------------00121
00123 private:
00124
00125 // -----------------------------------------------------------------------00126 // Unimplemented constructors and operators00127 // -----------------------------------------------------------------------00128 XSModelGroupDefinition(constXSModelGroupDefinition&);
00129 XSModelGroupDefinition & operator=(constXSModelGroupDefinition &);
00130
00131 protected:
00132
00133 // -----------------------------------------------------------------------00134 // data members00135 // -----------------------------------------------------------------------00136 XercesGroupInfo* fGroupInfo;
00137XSParticle* fModelGroupParticle;
00138XSAnnotation* fAnnotation;
00139 };
00140
00141inlineXSAnnotation* XSModelGroupDefinition::getAnnotation() const00142 {
00143 returnfAnnotation;
00144 }
00145
00146
00147
00148 XERCES_CPP_NAMESPACE_END00149
00150 #endif