📄 datatypevalidator.hpp
字号:
* * Return: * ***/ static void storeDV(XSerializeEngine& serEng , DatatypeValidator* const dv); /*** * * Create a DatatypeValidator derivative from the binary * stream. * * Param * serEng: serialize engine * * Return: * DatatypeValidator derivative * ***/ static DatatypeValidator* loadDV(XSerializeEngine& serEng);protected: // ----------------------------------------------------------------------- // Protected Constructors // ----------------------------------------------------------------------- /** @name Constructors */ //@{ /** * * @param baseValidator The base datatype validator for derived * validators. Null if native validator. * * @param facets A hashtable of datatype facets (except enum). * * @param finalSet 'final' value of the simpleType */ DatatypeValidator(DatatypeValidator* const baseValidator, RefHashTableOf<KVStringPair>* const facets, const int finalSet, const ValidatorType type, MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager); //@} friend class DatatypeValidatorFactory; friend class XSObjectFactory; /** * facetDefined */ int getFacetsDefined() const; void setFacetsDefined(int); /** * fixed */ int getFixed() const; void setFixed(int); /** * fPattern */ const XMLCh* getPattern() const; void setPattern(const XMLCh* ); /** * fRegex */ RegularExpression* getRegex() const; void setRegex(RegularExpression* const); /** * set fType */ void setType(ValidatorType); /** * set fWhiteSpace */ void setWhiteSpace(short); /** * get WSString */ const XMLCh* getWSstring(const short WSType) const; /** * Fundamental Facet: ordered */ void setOrdered(XSSimpleTypeDefinition::ORDERING ordered); /** * Fundamental Facet: cardinality. */ void setFinite(bool finite); /** * Fundamental Facet: bounded. */ void setBounded(bool bounded); /** * Fundamental Facet: numeric. */ void setNumeric(bool numeric); // ----------------------------------------------------------------------- // Protected data members // // fMemoryManager // Pluggable memory manager for dynamic allocation/deallocation. // ----------------------------------------------------------------------- MemoryManager* fMemoryManager;private: // ----------------------------------------------------------------------- // CleanUp methods // ----------------------------------------------------------------------- void cleanUp(); inline bool isBuiltInDV(DatatypeValidator* const); // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- DatatypeValidator(const DatatypeValidator&); DatatypeValidator& operator=(const DatatypeValidator&); // ----------------------------------------------------------------------- // Private data members // // fFinalSet // stores "final" values of simpleTypes // // fBaseValidator // This is a pointer to a base datatype validator. If value is null, // it means we have a native datatype validator not a derived one. // // fFacets // This is a hashtable of dataype facets. // // fType // Stores the class type of datatype validator // // fFacetsDefined // Stores the constaiting facets flag // // fPattern // the pointer to the String of the pattern. The actual data is // in the Facets. // // fRegex // pointer to the RegularExpress object // // // fFixed // if {fixed} is true, then types for which this type is the // {base type definition} cannot specify a value for a specific // facet. // // fTypeName // the uri,name of the type this validator will validate // // fTypeLocalName // the name of the type this validator will validate // // fTypeUri // the uri of the type this validator will validate // fAnonymous // true if this type is anonynous // // ----------------------------------------------------------------------- bool fAnonymous; short fWhiteSpace; int fFinalSet; int fFacetsDefined; int fFixed; ValidatorType fType; DatatypeValidator* fBaseValidator; RefHashTableOf<KVStringPair>* fFacets; XMLCh* fPattern; RegularExpression* fRegex; XMLCh* fTypeName; const XMLCh* fTypeLocalName; const XMLCh* fTypeUri; XSSimpleTypeDefinition::ORDERING fOrdered; bool fFinite; bool fBounded; bool fNumeric;};// ---------------------------------------------------------------------------// DatatypeValidator: Getters// ---------------------------------------------------------------------------inline int DatatypeValidator::getFinalSet() const { return fFinalSet;}inline RefHashTableOf<KVStringPair>* DatatypeValidator::getFacets() const { return fFacets;}inline DatatypeValidator* DatatypeValidator::getBaseValidator() const { return fBaseValidator;}inline short DatatypeValidator::getWSFacet() const { return fWhiteSpace;}inline DatatypeValidator::ValidatorType DatatypeValidator::getType() const{ return fType;}inline int DatatypeValidator::getFacetsDefined() const{ return fFacetsDefined;}inline int DatatypeValidator::getFixed() const{ return fFixed;}inline const XMLCh* DatatypeValidator::getPattern() const{ return fPattern;}inline RegularExpression* DatatypeValidator::getRegex() const{ return fRegex;}inline const XMLCh* DatatypeValidator::getTypeName() const{ return fTypeName;}inline bool DatatypeValidator::getAnonymous() const{ return fAnonymous;}inline const XMLCh* DatatypeValidator::getTypeLocalName() const{ return fTypeLocalName;}inline const XMLCh* DatatypeValidator::getTypeUri() const{ return fTypeUri;}inline MemoryManager* DatatypeValidator::getMemoryManager() const{ return fMemoryManager;}inline XSSimpleTypeDefinition::ORDERING DatatypeValidator::getOrdered() const{ return fOrdered;}inline bool DatatypeValidator::getFinite() const{ return fFinite;} inline bool DatatypeValidator::getBounded() const{ return fBounded;}inline bool DatatypeValidator::getNumeric() const{ return fNumeric;}// ---------------------------------------------------------------------------// DatatypeValidator: Setters// ---------------------------------------------------------------------------inline void DatatypeValidator::setType(ValidatorType theType){ fType = theType;}inline void DatatypeValidator::setWhiteSpace(short newValue){ fWhiteSpace = newValue;}inline void DatatypeValidator::setFacetsDefined(int facets){ fFacetsDefined |= facets;}inline void DatatypeValidator::setFixed(int fixed){ fFixed |= fixed;}inline void DatatypeValidator::setPattern(const XMLCh* pattern){ if (fPattern) fMemoryManager->deallocate(fPattern);//delete [] fPattern; fPattern = XMLString::replicate(pattern, fMemoryManager);}inline void DatatypeValidator::setRegex(RegularExpression* const regex){ fRegex = regex;}inline bool DatatypeValidator::isAtomic() const { return true;}inline void DatatypeValidator::setAnonymous() { fAnonymous = true;}inline void DatatypeValidator::setOrdered(XSSimpleTypeDefinition::ORDERING ordered){ fOrdered = ordered;}inline void DatatypeValidator::setFinite(bool finite){ fFinite = finite;}inline void DatatypeValidator::setBounded(bool bounded){ fBounded = bounded;}inline void DatatypeValidator::setNumeric(bool numeric){ fNumeric = numeric;}// ---------------------------------------------------------------------------// DatatypeValidators: Compare methods// ---------------------------------------------------------------------------inline int DatatypeValidator::compare(const XMLCh* const lValue, const XMLCh* const rValue , MemoryManager* const){ return XMLString::compareString(lValue, rValue);}// ---------------------------------------------------------------------------// DatatypeValidators: Validation methods// ---------------------------------------------------------------------------inline boolDatatypeValidator::isSubstitutableBy(const DatatypeValidator* const toCheck){ const DatatypeValidator* dv = toCheck; while (dv != 0) { if (dv == this) { return true; } dv = dv->getBaseValidator(); } return false;}XERCES_CPP_NAMESPACE_END#endif/** * End of file DatatypeValidator.hpp */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -