- Main Page
- Related Pages
- Classes
- Files

# XSAttributeUse.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * 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 and
    00015  * limitations under the License.
    00016  */
    00017
    00018 /*
    00019  * $Id: XSAttributeUse.hpp 527149 2007-04-10 14:56:39Z amassari $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_XSATTRIBUTEUSE_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_XSATTRIBUTEUSE_HPP
    00024
    00025 #include <xercesc/framework/psvi/XSObject.hpp>
    00026
    00027 XERCES_CPP_NAMESPACE_BEGIN
    00028
    00036 // forward declarations
    00037 class XSAttributeDeclaration;
    00038
    00039 class XMLPARSER_EXPORT XSAttributeUse : public XSObject
    00040 {
    00041 public:
    00042
    00043     //  Constructors and Destructor
    00044     // -----------------------------------------------------------------------
    00047
    00054     XSAttributeUse
    00055     (
    00056         XSAttributeDeclaration* const xsAttDecl,
    00057         XSModel* const xsModel,
    00058         MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00059     );
    00060
    00062
    00065     ~XSAttributeUse();
    00067
    00068     //---------------------
    00072
    00078     bool getRequired() const;
    00079
    00084     XSAttributeDeclaration *getAttrDeclaration() const;
    00085
    00089     XSConstants::VALUE_CONSTRAINT getConstraintType() const;
    00090
    00094     const XMLCh *getConstraintValue();
    00095
    00097
    00098     //----------------------------------
    00102
    00104
    00105 private:
    00106
    00107     // set data
    00108     void set
    00109     (
    00110         const bool isRequired
    00111         , XSConstants::VALUE_CONSTRAINT constraintType
    00112         , const XMLCh* const constraintValue
    00113     );
    00114
    00115     friend class XSObjectFactory;
    00116
    00117     // -----------------------------------------------------------------------
    00118     //  Unimplemented constructors and operators
    00119     // -----------------------------------------------------------------------
    00120     XSAttributeUse(const XSAttributeUse&);
    00121     XSAttributeUse & operator=(const XSAttributeUse &);
    00122
    00123 protected:
    00124
    00125     // -----------------------------------------------------------------------
    00126     //  data members
    00127     // -----------------------------------------------------------------------
    00128     bool                          fRequired;
    00129     XSConstants::VALUE_CONSTRAINT fConstraintType;
    00130     const XMLCh*                  fConstraintValue;
    00131     XSAttributeDeclaration*       fXSAttributeDeclaration;
    00132 };
    00133
    00134 inline XSAttributeDeclaration *XSAttributeUse::getAttrDeclaration() const
    00135 {
    00136     return fXSAttributeDeclaration;
    00137 }
    00138
    00139 inline bool XSAttributeUse::getRequired() const
    00140 {
    00141     return fRequired;
    00142 }
    00143
    00144 inline XSConstants::VALUE_CONSTRAINT XSAttributeUse::getConstraintType() const
    00145 {
    00146     return fConstraintType;
    00147 }
    00148
    00149 inline const XMLCh *XSAttributeUse::getConstraintValue()
    00150 {
    00151     return fConstraintValue;
    00152 }
    00153
    00154 XERCES_CPP_NAMESPACE_END
    00155
    00156 #endif