fieldactivator.hpp
来自「IBM的解析xml的工具Xerces的源代码」· HPP 代码 · 共 142 行
HPP
142 行
/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: FieldActivator.hpp,v 1.7 2004/09/08 13:56:59 peiyongz Exp $ */#if !defined(FIELDACTIVATOR_HPP)#define FIELDACTIVATOR_HPP/** * This class is responsible for activating fields within a specific scope; * the caller merely requests the fields to be activated. */// ---------------------------------------------------------------------------// Includes// ---------------------------------------------------------------------------#include <xercesc/util/ValueHashTableOf.hpp>XERCES_CPP_NAMESPACE_BEGIN// ---------------------------------------------------------------------------// Forward Declaration// ---------------------------------------------------------------------------class IdentityConstraint;class XPathMatcher;class ValueStoreCache;class IC_Field;class XPathMatcherStack;class VALIDATORS_EXPORT FieldActivator : public XMemory{public: // ----------------------------------------------------------------------- // Constructors/Destructor // ----------------------------------------------------------------------- FieldActivator(ValueStoreCache* const valueStoreCache, XPathMatcherStack* const matcherStack, MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager); FieldActivator(const FieldActivator& other); ~FieldActivator(); // ----------------------------------------------------------------------- // Operator methods // ----------------------------------------------------------------------- FieldActivator& operator =(const FieldActivator& other); // ----------------------------------------------------------------------- // Getter methods // ----------------------------------------------------------------------- bool getMayMatch(IC_Field* const field); // ----------------------------------------------------------------------- // Setter methods // ----------------------------------------------------------------------- void setValueStoreCache(ValueStoreCache* const other); void setMatcherStack(XPathMatcherStack* const matcherStack); void setMayMatch(IC_Field* const field, bool value); // ----------------------------------------------------------------------- // Activation methods // ----------------------------------------------------------------------- /** * Start the value scope for the specified identity constraint. This * method is called when the selector matches in order to initialize * the value store. */ void startValueScopeFor(const IdentityConstraint* const ic, const int initialDepth); /** * Request to activate the specified field. This method returns the * matcher for the field. */ XPathMatcher* activateField(IC_Field* const field, const int initialDepth); /** * Ends the value scope for the specified identity constraint. */ void endValueScopeFor(const IdentityConstraint* const ic, const int initialDepth);private: // ----------------------------------------------------------------------- // Data // ----------------------------------------------------------------------- ValueStoreCache* fValueStoreCache; XPathMatcherStack* fMatcherStack; ValueHashTableOf<bool>* fMayMatch; MemoryManager* fMemoryManager;};// ---------------------------------------------------------------------------// FieldActivator: Getter methods// ---------------------------------------------------------------------------inline bool FieldActivator::getMayMatch(IC_Field* const field) { return fMayMatch->get(field);}// ---------------------------------------------------------------------------// FieldActivator: Setter methods// ---------------------------------------------------------------------------inline void FieldActivator::setValueStoreCache(ValueStoreCache* const other) { fValueStoreCache = other;}inline voidFieldActivator::setMatcherStack(XPathMatcherStack* const matcherStack) { fMatcherStack = matcherStack;}inline void FieldActivator::setMayMatch(IC_Field* const field, bool value) { fMayMatch->put(field, value);}XERCES_CPP_NAMESPACE_END#endif/** * End of file FieldActivator.hpp */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?