GME  13
XSMultiValueFacet.cpp
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.cpp 471747 2006-11-06 14:31:56Z amassari $
00020  */
00021 
00022 #include <xercesc/framework/psvi/XSMultiValueFacet.hpp>
00023 #include <xercesc/framework/psvi/XSAnnotation.hpp>
00024 
00025 XERCES_CPP_NAMESPACE_BEGIN
00026 
00027 // ---------------------------------------------------------------------------
00028 //  XSMultiValueFacet: Constructors and Destructors
00029 // ---------------------------------------------------------------------------
00030 XSMultiValueFacet::XSMultiValueFacet(XSSimpleTypeDefinition::FACET facetKind,
00031                                      StringList*                   lexicalValues,
00032                                      bool                          isFixed,
00033                                      XSAnnotation* const           headAnnot,
00034                                      XSModel* const                xsModel,
00035                                      MemoryManager* const          manager)
00036     : XSObject(XSConstants::MULTIVALUE_FACET, xsModel, manager)
00037     , fFacetKind(facetKind)
00038     , fIsFixed(isFixed)
00039     , fLexicalValues(lexicalValues)
00040     , fXSAnnotationList(0)
00041 {
00042     if (headAnnot)
00043     {        
00044         fXSAnnotationList = new (manager) RefVectorOf<XSAnnotation>(1, false, manager);
00045   
00046         XSAnnotation* annot = headAnnot;
00047         do 
00048         {
00049             fXSAnnotationList->addElement(annot);
00050             annot = annot->getNext();
00051         } while (annot);
00052     }
00053 }
00054 
00055 XSMultiValueFacet::~XSMultiValueFacet()
00056 {
00057     if (fXSAnnotationList)
00058         delete fXSAnnotationList;
00059 }
00060 
00061 
00062 XERCES_CPP_NAMESPACE_END
00063 
00064