Xerces-C++: XSIDCDefinition.hpp Source File

| API Docs for SAX and DOM |
| Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages # XSIDCDefinition.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  * $Id: XSIDCDefinition.hpp 191054 2005-06-17 02:56:35Z jberry $
    00019  */
    00020
    00021 #if !defined(XSIDCDEFINITION_HPP)
    00022 #define XSIDCDEFINITION_HPP
    00023
    00024 #include <xercesc/framework/psvi/XSObject.hpp>
    00025
    00026 XERCES_CPP_NAMESPACE_BEGIN
    00027
    00035 // forward declarations
    00036 class XSAnnotation;
    00037 class IdentityConstraint;
    00038
    00039 class  XSIDCDefinition : public XSObject
    00040 {
    00041 public:
    00042
    00043     // Identity Constraints
    00044     enum IC_CATEGORY {
    00048         IC_KEY                    = 1,
    00052         IC_KEYREF                 = 2,
    00056         IC_UNIQUE                 = 3
    00057     };
    00058
    00059     //  Constructors and Destructor
    00060     // -----------------------------------------------------------------------
    00063
    00074     XSIDCDefinition
    00075     (
    00076         IdentityConstraint* const identityConstraint
    00077         , XSIDCDefinition*  const keyIC
    00078         , XSAnnotation* const     headAnnot
    00079         , StringList* const       stringList
    00080         , XSModel* const          xsModel
    00081         , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
    00082     );
    00083
    00085
    00088     ~XSIDCDefinition();
    00090
    00091     //---------------------
    00095
    00100     const XMLCh* getName();
    00101
    00106     const XMLCh* getNamespace();
    00107
    00113     XSNamespaceItem *getNamespaceItem();
    00114
    00116
    00117     //---------------------
    00121
    00125     IC_CATEGORY getCategory() const;
    00126
    00130     const XMLCh *getSelectorStr();
    00131
    00135     StringList *getFieldStrs();
    00136
    00142     XSIDCDefinition *getRefKey() const;
    00143
    00147     XSAnnotationList *getAnnotations();
    00148
    00150
    00151     //----------------------------------
    00155
    00157 private:
    00158
    00159     // -----------------------------------------------------------------------
    00160     //  Unimplemented constructors and operators
    00161     // -----------------------------------------------------------------------
    00162     XSIDCDefinition(const XSIDCDefinition&);
    00163     XSIDCDefinition & operator=(const XSIDCDefinition &);
    00164
    00165 protected:
    00166
    00167     // -----------------------------------------------------------------------
    00168     //  data members
    00169     // -----------------------------------------------------------------------
    00170     IdentityConstraint* fIdentityConstraint;
    00171     XSIDCDefinition*    fKey;
    00172     StringList*         fStringList;
    00173     XSAnnotationList*   fXSAnnotationList;
    00174 };
    00175
    00176
    00177 inline StringList* XSIDCDefinition::getFieldStrs()
    00178 {
    00179     return fStringList;
    00180 }
    00181
    00182 inline XSIDCDefinition* XSIDCDefinition::getRefKey() const
    00183 {
    00184     return fKey;
    00185 }
    00186
    00187 XERCES_CPP_NAMESPACE_END
    00188
    00189 #endif

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