GME  13
PSVIElement.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: PSVIElement.cpp 471747 2006-11-06 14:31:56Z amassari $
00020  */
00021 
00022 #include <xercesc/framework/psvi/PSVIElement.hpp>
00023 #include <xercesc/framework/psvi/XSElementDeclaration.hpp>
00024 #include <xercesc/framework/psvi/XSComplexTypeDefinition.hpp>
00025 #include <xercesc/framework/psvi/XSSimpleTypeDefinition.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00029 PSVIElement::PSVIElement(MemoryManager* const manager):  
00030         PSVIItem(manager),
00031         fElementDecl(0),
00032         fNotationDecl(0),
00033         fSchemaInfo(0)
00034 {
00035 }
00036 
00037 PSVIElement::~PSVIElement()
00038 {
00039     fMemoryManager->deallocate(fCanonicalValue);
00040 }
00041 
00042 XSTypeDefinition* PSVIElement::getTypeDefinition()
00043 {
00044     return fType;
00045 }
00046 
00058 XSSimpleTypeDefinition* PSVIElement::getMemberTypeDefinition() 
00059 {
00060     return fMemberType;
00061 }
00062 
00063 void PSVIElement::reset( const VALIDITY_STATE          validityState
00064                        , const ASSESSMENT_TYPE         assessmentType
00065                        , const XMLCh* const            validationContext
00066                        , bool                          isSpecified
00067                        , XSElementDeclaration* const   elemDecl
00068                        , XSTypeDefinition* const       typeDef
00069                        , XSSimpleTypeDefinition* const memberType
00070                        , XSModel* const                schemaInfo
00071                        , const XMLCh* const            defaultValue
00072                        , const XMLCh* const            normalizedValue
00073                        , XMLCh* const                  canonicalValue
00074                        , XSNotationDeclaration* const  notationDecl)
00075 {
00076     fValidationContext = validationContext;
00077     fValidityState = validityState;
00078     fAssessmentType = assessmentType;
00079     fIsSpecified = isSpecified;
00080     fType = typeDef;
00081     fMemberType = memberType;
00082     fElementDecl = elemDecl;
00083     fNotationDecl = notationDecl;
00084     fSchemaInfo = schemaInfo;
00085     fDefaultValue = defaultValue;
00086     fNormalizedValue = normalizedValue;
00087     fMemoryManager->deallocate(fCanonicalValue);
00088     fCanonicalValue = canonicalValue;
00089 }
00090 
00091 XERCES_CPP_NAMESPACE_END
00092 
00093