00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef XMLNUMBER_HPP
00023 #define XMLNUMBER_HPP
00024
00025 #include <xercesc/internal/XSerializable.hpp>
00026 #include <xercesc/util/XMemory.hpp>
00027
00028 XERCES_CPP_NAMESPACE_BEGIN
00029
00030 class XMLNumber : public XSerializable, public XMemory
00031 {
00032 public:
00033
00034 enum
00035 {
00036 LESS_THAN = -1,
00037 EQUAL = 0,
00038 GREATER_THAN = 1,
00039 INDETERMINATE = 2
00040 };
00041
00042 enum NumberType {
00043 Float,
00044 Double,
00045 BigDecimal,
00046 DateTime,
00047 UnKnown
00048 };
00049
00050 virtual ~XMLNumber();
00051
00060 virtual XMLCh* toString() const = 0;
00061
00069 virtual XMLCh* getRawData() const = 0;
00070
00078 virtual const XMLCh* getFormattedString() const = 0;
00079
00088 virtual int getSign() const = 0;
00089
00090
00091
00092
00093 DECL_XSERIALIZABLE(XMLNumber)
00094
00095 static XMLNumber* loadNumber(XMLNumber::NumberType numType
00096 , XSerializeEngine& serEng);
00097
00098 protected:
00099
00100 XMLNumber();
00101 XMLNumber(const XMLNumber&);
00102
00103 private:
00104
00105
00106
00107 XMLNumber& operator=(const XMLNumber&);
00108 };
00109
00110 XERCES_CPP_NAMESPACE_END
00111
00112 #endif