| API Docs for SAX and DOM |
| Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members # XSModelGroup.hpp Go to the documentation of this file.
    00001 /*
    00002  * Copyright 2003,2004 The Apache Software Foundation.
    00003  *
    00004  * Licensed under the Apache License, Version 2.0 (the "License");
    00005  * you may not use this file except in compliance with the License.
    00006  * You may obtain a copy of the License at
    00007  *
    00008  *      http://www.apache.org/licenses/LICENSE-2.0
    00009  *
    00010  * Unless required by applicable law or agreed to in writing, software
    00011  * distributed under the License is distributed on an "AS IS" BASIS,
    00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013  * See the License for the specific language governing permissions and
    00014  * limitations under the License.
    00015  */
    00016
    00017 /*
    00018  * $Log: XSModelGroup.hpp,v $
    00019  * Revision 1.6  2004/09/08 13:56:08  peiyongz
    00020  * Apache License Version 2.0
    00021  *
    00022  * Revision 1.5  2003/12/01 23:23:26  neilg
    00023  * fix for bug 25118; thanks to Jeroen Witmond
    00024  *
    00025  * Revision 1.4  2003/11/21 17:29:53  knoaman
    00026  * PSVI update
    00027  *
    00028  * Revision 1.3  2003/11/14 22:47:53  neilg
    00029  * fix bogus log message from previous commit...
    00030  *
    00031  * Revision 1.2  2003/11/14 22:33:30  neilg
    00032  * Second phase of schema component model implementation.
    00033  * Implement XSModel, XSNamespaceItem, and the plumbing necessary
    00034  * to connect them to the other components.
    00035  * Thanks to David Cargill.
    00036  *
    00037  * Revision 1.1  2003/09/16 14:33:36  neilg
    00038  * PSVI/schema component model classes, with Makefile/configuration changes necessary to build them
    00039  *
    00040  */
    00041
    00042 #if !defined(XSMODELGROUP_HPP)
    00043 #define XSMODELGROUP_HPP
    00044
    00045 #include <xercesc/framework/psvi/XSObject.hpp>
    00046
    00047 XERCES_CPP_NAMESPACE_BEGIN
    00048
    00056 // forward declarations
    00057 class XSAnnotation;
    00058 class XSParticle;
    00059
    00060 class  XSModelGroup : public XSObject
    00061 {
    00062 public:
    00063
    00064     // Content model compositors
    00065     enum COMPOSITOR_TYPE {
    00069         COMPOSITOR_SEQUENCE       = 1,
    00073         COMPOSITOR_CHOICE         = 2,
    00079         COMPOSITOR_ALL            = 3
    00080     };
    00081
    00082     //  Constructors and Destructor
    00083     // -----------------------------------------------------------------------
    00086
    00096     XSModelGroup
    00097     (
    00098         COMPOSITOR_TYPE compositorType
    00099         , XSParticleList* const particleList
    00100         , XSAnnotation* const annot
    00101         , XSModel* const xsModel
    00102         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00103     );
    00104
    00106
    00109     ~XSModelGroup();
    00111
    00112     //---------------------
    00115
    00121     COMPOSITOR_TYPE getCompositor() const;
    00122
    00126     XSParticleList *getParticles() const;
    00127
    00131     XSAnnotation *getAnnotation() const;
    00132
    00134
    00135     //----------------------------------
    00139
    00141 private:
    00142
    00143     // -----------------------------------------------------------------------
    00144     //  Unimplemented constructors and operators
    00145     // -----------------------------------------------------------------------
    00146     XSModelGroup(const XSModelGroup&);
    00147     XSModelGroup & operator=(const XSModelGroup &);
    00148
    00149 protected:
    00150
    00151     // -----------------------------------------------------------------------
    00152     //  data members
    00153     // -----------------------------------------------------------------------
    00154     COMPOSITOR_TYPE fCompositorType;
    00155     XSParticleList* fParticleList;
    00156     XSAnnotation*   fAnnotation;
    00157 };
    00158
    00159 inline XSModelGroup::COMPOSITOR_TYPE XSModelGroup::getCompositor() const
    00160 {
    00161     return fCompositorType;
    00162 }
    00163
    00164 inline XSParticleList* XSModelGroup::getParticles() const
    00165 {
    00166     return fParticleList;
    00167 }
    00168
    00169 inline XSAnnotation* XSModelGroup::getAnnotation() const
    00170 {
    00171     return fAnnotation;
    00172 }
    00173
    00174 XERCES_CPP_NAMESPACE_END
    00175
    00176 #endif

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.