# XSFacet.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: XSFacet.hpp 527149 2007-04-10 14:56:39Z amassari $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_XSFACET_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_XSFACET_HPP
    00024
    00025 #include <xercesc/framework/psvi/XSSimpleTypeDefinition.hpp>
    00026
    00027 XERCES_CPP_NAMESPACE_BEGIN
    00028
    00037 // forward declarations
    00038 class XSAnnotation;
    00039
    00040 class XMLPARSER_EXPORT XSFacet : public XSObject
    00041 {
    00042 public:
    00043
    00044     //  Constructors and Destructor
    00045     // -----------------------------------------------------------------------
    00048
    00059     XSFacet
    00060     (
    00061         XSSimpleTypeDefinition::FACET facetKind
    00062         , const XMLCh* const          lexicalValue
    00063         , bool                        isFixed
    00064         , XSAnnotation* const         annot
    00065         , XSModel* const              xsModel
    00066         , MemoryManager* const        manager = XMLPlatformUtils::fgMemoryManager
    00067     );
    00068
    00070
    00073     ~XSFacet();
    00075
    00076     //---------------------
    00080
    00084     XSSimpleTypeDefinition::FACET getFacetKind() const;
    00085
    00089     const XMLCh *getLexicalFacetValue() const;
    00090
    00094     bool isFixed() const;
    00095
    00099     XSAnnotation *getAnnotation() const;
    00100
    00102
    00103     //----------------------------------
    00107
    00109 private:
    00110
    00111     // -----------------------------------------------------------------------
    00112     //  Unimplemented constructors and operators
    00113     // -----------------------------------------------------------------------
    00114     XSFacet(const XSFacet&);
    00115     XSFacet & operator=(const XSFacet &);
    00116
    00117 protected:
    00118
    00119     // -----------------------------------------------------------------------
    00120     //  data members
    00121     // -----------------------------------------------------------------------
    00122     XSSimpleTypeDefinition::FACET fFacetKind;
    00123     bool                          fIsFixed;
    00124     const XMLCh*                  fLexicalValue;
    00125     XSAnnotation*                 fAnnotation;
    00126 };
    00127
    00128 inline XSSimpleTypeDefinition::FACET XSFacet::getFacetKind() const
    00129 {
    00130     return fFacetKind;
    00131 }
    00132
    00133 inline const XMLCh* XSFacet::getLexicalFacetValue() const
    00134 {
    00135     return fLexicalValue;
    00136 }
    00137
    00138 inline bool XSFacet::isFixed() const
    00139 {
    00140     return fIsFixed;
    00141 }
    00142
    00143 inline XSAnnotation* XSFacet::getAnnotation() const
    00144 {
    00145     return fAnnotation;
    00146 }
    00147
    00148
    00149 XERCES_CPP_NAMESPACE_END
    00150
    00151 #endif