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