| API Docs for SAX and DOM |
| Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members # XSMultiValueFacet.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  * $Log: XSMultiValueFacet.hpp,v $
    00019  * Revision 1.7  2004/09/08 13:56:09  peiyongz
    00020  * Apache License Version 2.0
    00021  *
    00022  * Revision 1.6  2003/12/01 23:23:26  neilg
    00023  * fix for bug 25118; thanks to Jeroen Witmond
    00024  *
    00025  * Revision 1.5  2003/11/21 17:34:04  knoaman
    00026  * PSVI update
    00027  *
    00028  * Revision 1.4  2003/11/14 22:47:53  neilg
    00029  * fix bogus log message from previous commit...
    00030  *
    00031  * Revision 1.3  2003/11/14 22:33:30  neilg
    00032  * Second phase of schema component model implementation.
    00033  * Implement XSModel, XSNamespaceItem, and the plumbing necessary
    00034  * to connect them to the other components.
    00035  * Thanks to David Cargill.
    00036  *
    00037  * Revision 1.2  2003/11/06 15:30:04  neilg
    00038  * first part of PSVI/schema component model implementation, thanks to David Cargill.  This covers setting the PSVIHandler on parser objects, as well as implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and XSAttributeUse.
    00039  *
    00040  * Revision 1.1  2003/09/16 14:33:36  neilg
    00041  * PSVI/schema component model classes, with Makefile/configuration changes necessary to build them
    00042  *
    00043  */
    00044
    00045 #if !defined(XSMULTIVALUEFACET_HPP)
    00046 #define XSMULTIVALUEFACET_HPP
    00047
    00048 #include <xercesc/framework/psvi/XSObject.hpp>
    00049 #include <xercesc/framework/psvi/XSSimpleTypeDefinition.hpp>
    00050
    00051 XERCES_CPP_NAMESPACE_BEGIN
    00052
    00060 // forward declarations
    00061 class XSAnnotation;
    00062
    00063 class  XSMultiValueFacet : public XSObject
    00064 {
    00065 public:
    00066
    00067     //  Constructors and Destructor
    00068     // -----------------------------------------------------------------------
    00071
    00082     XSMultiValueFacet
    00083     (
    00084         XSSimpleTypeDefinition::FACET facetKind
    00085         , StringList*                 lexicalValues
    00086         , bool                        isFixed
    00087         , XSAnnotation* const         headAnnot
    00088         , XSModel* const              xsModel
    00089         , MemoryManager* const        manager = XMLPlatformUtils::fgMemoryManager
    00090     );
    00091
    00093
    00096     ~XSMultiValueFacet();
    00098
    00099     //---------------------
    00103
    00107     XSSimpleTypeDefinition::FACET getFacetKind() const;
    00108
    00112     StringList *getLexicalFacetValues();
    00113
    00117     bool isFixed() const;
    00118
    00122     XSAnnotationList *getAnnotations();
    00123
    00125
    00126     //----------------------------------
    00130
    00132 private:
    00133
    00134     // -----------------------------------------------------------------------
    00135     //  Unimplemented constructors and operators
    00136     // -----------------------------------------------------------------------
    00137     XSMultiValueFacet(const XSMultiValueFacet&);
    00138     XSMultiValueFacet & operator=(const XSMultiValueFacet &);
    00139
    00140 protected:
    00141
    00142     // -----------------------------------------------------------------------
    00143     //  data members
    00144     // -----------------------------------------------------------------------
    00145     XSSimpleTypeDefinition::FACET fFacetKind;
    00146     bool                          fIsFixed;
    00147     StringList*                   fLexicalValues;  // not owned by this class
    00148     XSAnnotationList*             fXSAnnotationList;
    00149 };
    00150
    00151
    00152 inline XSSimpleTypeDefinition::FACET XSMultiValueFacet::getFacetKind() const
    00153 {
    00154     return fFacetKind;
    00155 }
    00156
    00157 inline bool XSMultiValueFacet::isFixed() const
    00158 {
    00159     return fIsFixed;
    00160 }
    00161
    00162 inline StringList *XSMultiValueFacet::getLexicalFacetValues()
    00163 {
    00164     return fLexicalValues;
    00165 }
    00166
    00167 inline XSAnnotationList *XSMultiValueFacet::getAnnotations()
    00168 {
    00169     return fXSAnnotationList;
    00170 }
    00171
    00172
    00173 XERCES_CPP_NAMESPACE_END
    00174
    00175 #endif

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