GME  13
AnySimpleTypeDatatypeValidator.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: AnySimpleTypeDatatypeValidator.cpp 637054 2008-03-14 11:08:37Z amassari $
00020  */
00021 
00022 
00023 // ---------------------------------------------------------------------------
00024 //  Includes
00025 // ---------------------------------------------------------------------------
00026 #include <xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.hpp>
00027 #include <xercesc/util/RuntimeException.hpp>
00028 
00029 XERCES_CPP_NAMESPACE_BEGIN
00030 
00031 // ---------------------------------------------------------------------------
00032 //  AnySimpleTypeDatatypeValidator: Constructors and Destructor
00033 // ---------------------------------------------------------------------------
00034 AnySimpleTypeDatatypeValidator::AnySimpleTypeDatatypeValidator(MemoryManager* const manager)
00035     : DatatypeValidator(0, 0, SchemaSymbols::XSD_RESTRICTION, DatatypeValidator::AnySimpleType, manager)
00036 {
00037     setWhiteSpace(DatatypeValidator::PRESERVE);
00038     setFinite(true);
00039 }
00040 
00041 AnySimpleTypeDatatypeValidator::~AnySimpleTypeDatatypeValidator()
00042 {
00043 
00044 }
00045 
00046 // ---------------------------------------------------------------------------
00047 //  DatatypeValidators: Compare methods
00048 // ---------------------------------------------------------------------------
00049 int AnySimpleTypeDatatypeValidator::compare(  const XMLCh* const lValue
00050                                             , const XMLCh* const rValue
00051                                             , MemoryManager* const)
00052 {
00053     return XMLString::compareString(lValue, rValue);
00054 }
00055 
00056 // ---------------------------------------------------------------------------
00057 //  AnySimpleTypeDatatypeValidator: Instance methods
00058 // ---------------------------------------------------------------------------
00059 DatatypeValidator* AnySimpleTypeDatatypeValidator::newInstance
00060 (
00061       RefHashTableOf<KVStringPair>* const facets
00062     , RefArrayVectorOf<XMLCh>* const      enums
00063     , const int
00064     , MemoryManager* const                manager
00065 )
00066 {
00067     // We own them, so we will delete them first
00068     delete facets;
00069     delete enums;
00070 
00071     ThrowXMLwithMemMgr(RuntimeException, XMLExcepts::DV_InvalidOperation, manager);
00072 
00073     // to satisfy some compilers
00074     return 0;
00075 }
00076 
00077 const RefArrayVectorOf<XMLCh>* AnySimpleTypeDatatypeValidator::getEnumString() const
00078 {
00079         return 0;
00080 }
00081 
00082 /***
00083  * Support for Serialization/De-serialization
00084  ***/
00085 
00086 IMPL_XSERIALIZABLE_TOCREATE(AnySimpleTypeDatatypeValidator)
00087 
00088 void AnySimpleTypeDatatypeValidator::serialize(XSerializeEngine& serEng)
00089 {
00090     DatatypeValidator::serialize(serEng);
00091 }
00092 
00093 XERCES_CPP_NAMESPACE_END
00094