|
||||
File indexing completed on 2025-01-18 10:15:18
0001 /* 0002 * Licensed to the Apache Software Foundation (ASF) under one or more 0003 * contributor license agreements. See the NOTICE file distributed with 0004 * this work for additional information regarding copyright ownership. 0005 * The ASF licenses this file to You under the Apache License, Version 2.0 0006 * (the "License"); you may not use this file except in compliance with 0007 * the License. You may obtain a copy of the License at 0008 * 0009 * http://www.apache.org/licenses/LICENSE-2.0 0010 * 0011 * Unless required by applicable law or agreed to in writing, software 0012 * distributed under the License is distributed on an "AS IS" BASIS, 0013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 0014 * See the License for the specific language governing permissions and 0015 * limitations under the License. 0016 */ 0017 0018 /* 0019 * $Id$ 0020 */ 0021 0022 #if !defined(XERCESC_INCLUDE_GUARD_IC_FIELD_HPP) 0023 #define XERCESC_INCLUDE_GUARD_IC_FIELD_HPP 0024 0025 0026 // --------------------------------------------------------------------------- 0027 // Includes 0028 // --------------------------------------------------------------------------- 0029 #include <xercesc/validators/schema/identity/XPathMatcher.hpp> 0030 0031 #include <xercesc/internal/XSerializable.hpp> 0032 0033 XERCES_CPP_NAMESPACE_BEGIN 0034 0035 // --------------------------------------------------------------------------- 0036 // Forward Declaration 0037 // --------------------------------------------------------------------------- 0038 class ValueStore; 0039 class FieldActivator; 0040 0041 0042 class VALIDATORS_EXPORT IC_Field : public XSerializable, public XMemory 0043 { 0044 public: 0045 // ----------------------------------------------------------------------- 0046 // Constructors/Destructor 0047 // ----------------------------------------------------------------------- 0048 IC_Field(XercesXPath* const xpath, 0049 IdentityConstraint* const identityConstraint); 0050 ~IC_Field(); 0051 0052 // ----------------------------------------------------------------------- 0053 // operators 0054 // ----------------------------------------------------------------------- 0055 bool operator== (const IC_Field& other) const; 0056 bool operator!= (const IC_Field& other) const; 0057 0058 // ----------------------------------------------------------------------- 0059 // Getter methods 0060 // ----------------------------------------------------------------------- 0061 XercesXPath* getXPath() const { return fXPath; } 0062 IdentityConstraint* getIdentityConstraint() const { return fIdentityConstraint; } 0063 0064 // ----------------------------------------------------------------------- 0065 // Factory methods 0066 // ----------------------------------------------------------------------- 0067 XPathMatcher* createMatcher 0068 ( 0069 FieldActivator* const fieldActivator 0070 , ValueStore* const valueStore 0071 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager 0072 ); 0073 0074 /*** 0075 * Support for Serialization/De-serialization 0076 ***/ 0077 DECL_XSERIALIZABLE(IC_Field) 0078 0079 IC_Field(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager); 0080 0081 private: 0082 // ----------------------------------------------------------------------- 0083 // Unimplemented constructors and operators 0084 // ----------------------------------------------------------------------- 0085 IC_Field(const IC_Field& other); 0086 IC_Field& operator= (const IC_Field& other); 0087 0088 // ----------------------------------------------------------------------- 0089 // Data members 0090 // ----------------------------------------------------------------------- 0091 XercesXPath* fXPath; 0092 IdentityConstraint* fIdentityConstraint; 0093 }; 0094 0095 0096 class VALIDATORS_EXPORT FieldMatcher : public XPathMatcher 0097 { 0098 public: 0099 // ----------------------------------------------------------------------- 0100 // Constructors/Destructor 0101 // ----------------------------------------------------------------------- 0102 ~FieldMatcher() {} 0103 0104 // ----------------------------------------------------------------------- 0105 // Getter methods 0106 // ----------------------------------------------------------------------- 0107 ValueStore* getValueStore() const { return fValueStore; } 0108 IC_Field* getField() const { return fField; } 0109 0110 // ----------------------------------------------------------------------- 0111 // Virtual methods 0112 // ----------------------------------------------------------------------- 0113 void matched(const XMLCh* const content, DatatypeValidator* const dv, 0114 const bool isNil); 0115 0116 private: 0117 // ----------------------------------------------------------------------- 0118 // Constructors/Destructor 0119 // ----------------------------------------------------------------------- 0120 FieldMatcher(XercesXPath* const anXPath, 0121 IC_Field* const aField, 0122 ValueStore* const valueStore, 0123 FieldActivator* const fieldActivator, 0124 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager); 0125 0126 // ----------------------------------------------------------------------- 0127 // Unimplemented constructors and operators 0128 // ----------------------------------------------------------------------- 0129 FieldMatcher(const FieldMatcher& other); 0130 FieldMatcher& operator= (const FieldMatcher& other); 0131 0132 // ----------------------------------------------------------------------- 0133 // Friends 0134 // ----------------------------------------------------------------------- 0135 friend class IC_Field; 0136 0137 // ----------------------------------------------------------------------- 0138 // Data members 0139 // ----------------------------------------------------------------------- 0140 ValueStore* fValueStore; 0141 IC_Field* fField; 0142 FieldActivator* fFieldActivator; 0143 }; 0144 0145 XERCES_CPP_NAMESPACE_END 0146 0147 #endif 0148 0149 /** 0150 * End of file IC_Field.hpp 0151 */ 0152
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |