You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/10/07 21:39:03 UTC
cvs commit: xml-xerces/c/src/xercesc/validators/datatype AnySimpleTypeDatatypeValidator.cpp AnySimpleTypeDatatypeValidator.hpp BooleanDatatypeValidator.cpp BooleanDatatypeValidator.hpp UnionDatatypeValidator.cpp UnionDatatypeValidator.hpp
peiyongz 2003/10/07 12:39:03
Modified: c/src/xercesc/validators/datatype
AnySimpleTypeDatatypeValidator.cpp
AnySimpleTypeDatatypeValidator.hpp
BooleanDatatypeValidator.cpp
BooleanDatatypeValidator.hpp
UnionDatatypeValidator.cpp
UnionDatatypeValidator.hpp
Log:
Implementation of Serialization/Deserialization
Revision Changes Path
1.8 +14 -0 xml-xerces/c/src/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.cpp
Index: AnySimpleTypeDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- AnySimpleTypeDatatypeValidator.cpp 1 Oct 2003 01:09:35 -0000 1.7
+++ AnySimpleTypeDatatypeValidator.cpp 7 Oct 2003 19:39:03 -0000 1.8
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.8 2003/10/07 19:39:03 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.7 2003/10/01 01:09:35 knoaman
* Refactoring of some code to improve performance.
*
@@ -130,6 +133,17 @@
const RefArrayVectorOf<XMLCh>* AnySimpleTypeDatatypeValidator::getEnumString() const
{
return 0;
+}
+
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_TOCREATE(AnySimpleTypeDatatypeValidator)
+
+void AnySimpleTypeDatatypeValidator::serialize(XSerializeEngine& serEng)
+{
+ DatatypeValidator::serialize(serEng);
}
XERCES_CPP_NAMESPACE_END
1.8 +7 -1 xml-xerces/c/src/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.hpp
Index: AnySimpleTypeDatatypeValidator.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.hpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- AnySimpleTypeDatatypeValidator.hpp 1 Oct 2003 01:09:35 -0000 1.7
+++ AnySimpleTypeDatatypeValidator.hpp 7 Oct 2003 19:39:03 -0000 1.8
@@ -162,6 +162,12 @@
, const int finalSet
, MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
);
+
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(AnySimpleTypeDatatypeValidator)
+
};
1.9 +14 -0 xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp
Index: BooleanDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- BooleanDatatypeValidator.cpp 16 May 2003 06:01:57 -0000 1.8
+++ BooleanDatatypeValidator.cpp 7 Oct 2003 19:39:03 -0000 1.9
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.9 2003/10/07 19:39:03 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.8 2003/05/16 06:01:57 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -251,6 +254,17 @@
const RefArrayVectorOf<XMLCh>* BooleanDatatypeValidator::getEnumString() const
{
return 0;
+}
+
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_TOCREATE(BooleanDatatypeValidator)
+
+void BooleanDatatypeValidator::serialize(XSerializeEngine& serEng)
+{
+ DatatypeValidator::serialize(serEng);
}
XERCES_CPP_NAMESPACE_END
1.6 +6 -1 xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.hpp
Index: BooleanDatatypeValidator.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- BooleanDatatypeValidator.hpp 15 May 2003 18:53:26 -0000 1.5
+++ BooleanDatatypeValidator.hpp 7 Oct 2003 19:39:03 -0000 1.6
@@ -150,6 +150,11 @@
, MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
);
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(BooleanDatatypeValidator)
+
private:
void checkContent(const XMLCh* const content, bool asBase);
1.13 +111 -1 xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp
Index: UnionDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- UnionDatatypeValidator.cpp 1 Oct 2003 16:32:41 -0000 1.12
+++ UnionDatatypeValidator.cpp 7 Oct 2003 19:39:03 -0000 1.13
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.13 2003/10/07 19:39:03 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.12 2003/10/01 16:32:41 neilg
* improve handling of out of memory conditions, bug #23415. Thanks to David Cargill.
*
@@ -443,6 +446,113 @@
const RefArrayVectorOf<XMLCh>* UnionDatatypeValidator::getEnumString() const
{
return getEnumeration();
+}
+
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_TOCREATE(UnionDatatypeValidator)
+
+void UnionDatatypeValidator::serialize(XSerializeEngine& serEng)
+{
+
+ DatatypeValidator::serialize(serEng);
+
+ if (serEng.isStoring())
+ {
+ serEng<<fEnumerationInherited;
+ serEng<<fMemberTypesInherited;
+
+ /***
+ *
+ * Serialize RefArrayVectorOf<XMLCh>
+ *
+ ***/
+ if (serEng.needToWriteTemplateObject(fEnumeration))
+ {
+ int enumLength = fEnumeration->size();
+ serEng<<enumLength;
+
+ for ( int i = 0 ; i < enumLength; i++)
+ {
+ serEng.writeString(fEnumeration->elementAt(i));
+ }
+ }
+
+ /***
+ *
+ * Serialize RefVectorOf<DatatypeValidator>
+ *
+ ***/
+ if (serEng.needToWriteTemplateObject(fMemberTypeValidators))
+ {
+ int vectorLength = fMemberTypeValidators->size();
+ serEng<<vectorLength;
+
+ for ( int i = 0 ; i < vectorLength; i++)
+ {
+ DatatypeValidator::storeDV(serEng, fMemberTypeValidators->elementAt(i));
+ }
+ }
+
+ DatatypeValidator::storeDV(serEng, fValidatedDatatype);
+
+ }
+ else
+ {
+ serEng>>fEnumerationInherited;
+ serEng>>fMemberTypesInherited;
+
+ /***
+ *
+ * Deserialize RefArrayVectorOf<XMLCh>
+ *
+ ***/
+ if (serEng.needToReadTemplateObject((void**)&fEnumeration))
+ {
+ if (!fEnumeration)
+ {
+ fEnumeration = new (fMemoryManager) RefArrayVectorOf<XMLCh>(8, true, fMemoryManager);
+ }
+
+ serEng.registerTemplateObject(fEnumeration);
+
+ int enumLength = 0;
+ serEng>>enumLength;
+ for ( int i = 0; i < enumLength; i++)
+ {
+ XMLCh* enumVal;
+ serEng.readString(enumVal);
+ fEnumeration->addElement(enumVal);
+ }
+ }
+
+ /***
+ *
+ * Deserialize RefVectorOf<DatatypeValidator>
+ *
+ ***/
+ if (serEng.needToReadTemplateObject((void**)&fMemberTypeValidators))
+ {
+ if (!fMemberTypeValidators)
+ {
+ fMemberTypeValidators = new (fMemoryManager) RefVectorOf<DatatypeValidator>(8, true, fMemoryManager);
+ }
+
+ serEng.registerTemplateObject(fMemberTypeValidators);
+
+ int vectorLength = 0;
+ serEng>>vectorLength;
+ for ( int i = 0 ; i < vectorLength; i++)
+ {
+ fMemberTypeValidators->addElement(DatatypeValidator::loadDV(serEng));
+ }
+ }
+
+ fValidatedDatatype = DatatypeValidator::loadDV(serEng);
+
+ }
}
XERCES_CPP_NAMESPACE_END
1.11 +13 -4 xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp
Index: UnionDatatypeValidator.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- UnionDatatypeValidator.hpp 16 Aug 2003 18:42:49 -0000 1.10
+++ UnionDatatypeValidator.hpp 7 Oct 2003 19:39:03 -0000 1.11
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.11 2003/10/07 19:39:03 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.10 2003/08/16 18:42:49 neilg
* fix for bug 22457. Union types that are restrictions of other union types were previously considered not to inherit their parents member types. This is at variance with the behaviour of the Java parser and apparently with the spec, so I have changed this.
*
@@ -245,6 +248,12 @@
, MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
);
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(UnionDatatypeValidator)
+
+
RefVectorOf<DatatypeValidator>* getMemberTypeValidators() const;
@@ -307,9 +316,9 @@
//
// -----------------------------------------------------------------------
- bool fEnumerationInherited;
- bool fMemberTypesInherited;
- RefArrayVectorOf<XMLCh>* fEnumeration;
+ bool fEnumerationInherited;
+ bool fMemberTypesInherited;
+ RefArrayVectorOf<XMLCh>* fEnumeration;
RefVectorOf<DatatypeValidator>* fMemberTypeValidators;
DatatypeValidator* fValidatedDatatype;
};
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org