- Main Page
- Related Pages
- Classes
- Files

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