http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Charter
Release Info

Installation
Download
Build Instructions

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

Source Repository
User Mail Archive
Devel Mail Archive

API Docs for SAX and DOM
 

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.