00001 #ifndef __GEMFIRE_PDXREADER_H__
00002 #define __GEMFIRE_PDXREADER_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "CacheableBuiltins.hpp"
00013 #include "PdxUnreadFields.hpp"
00014
00015 namespace gemfire {
00016
00017 class PdxReader;
00018 typedef SharedPtr<PdxReader> PdxReaderPtr;
00019
00029 class CPPCACHE_EXPORT PdxReader : public SharedBase {
00030
00031 public:
00032
00036 PdxReader() {}
00037
00041 virtual ~PdxReader(){}
00042
00052 virtual char readChar(const char* fieldName) = 0;
00053
00063 virtual wchar_t readWideChar(const char* fieldName) = 0;
00064
00074 virtual bool readBoolean(const char* fieldName) = 0;
00075
00085 virtual int8_t readByte(const char* fieldName) = 0;
00086
00096 virtual int16_t readShort(const char* fieldName) = 0;
00097
00107 virtual int32_t readInt(const char* fieldName) = 0;
00108
00118 virtual int64_t readLong(const char* fieldName) = 0;
00119
00129 virtual float readFloat(const char* fieldName) = 0;
00130
00140 virtual double readDouble(const char* fieldName) = 0;
00141
00151 virtual char* readString(const char* fieldName) = 0;
00152
00162 virtual wchar_t* readWideString(const char* fieldName) = 0;
00163
00173 virtual CacheablePtr readObject(const char* fieldName) = 0;
00174
00185 virtual char* readCharArray(const char* fieldName, int32_t& length) = 0;
00186
00197 virtual wchar_t* readWideCharArray(const char* fieldName, int32_t& length) = 0;
00198
00208 virtual bool* readBooleanArray (const char* fieldName, int32_t& length) = 0;
00209
00220 virtual int8_t* readByteArray(const char* fieldName, int32_t& length) = 0;
00221
00232 virtual int16_t* readShortArray(const char* fieldName, int32_t& length) = 0;
00233
00244 virtual int32_t* readIntArray(const char* fieldName, int32_t& length) = 0;
00245
00256 virtual int64_t* readLongArray(const char* fieldName, int32_t& length ) = 0;
00257
00268 virtual float* readFloatArray(const char* fieldName, int32_t& length) = 0;
00269
00280 virtual double* readDoubleArray(const char* fieldName, int32_t& length) = 0;
00281
00292 virtual char** readStringArray(const char* fieldName, int32_t& length) = 0;
00293
00304 virtual wchar_t** readWideStringArray(const char* fieldName, int32_t& length) = 0;
00305
00315 virtual CacheableObjectArrayPtr readObjectArray(const char* fieldName) = 0;
00316
00328 virtual int8_t** readArrayOfByteArrays(const char* fieldName, int32_t& arrayLength, int32_t** elementLength ) = 0;
00329
00339 virtual CacheableDatePtr readDate(const char* fieldName) = 0;
00340
00348 virtual bool hasField(const char* fieldName) = 0;
00349
00357 virtual bool isIdentityField(const char* fieldName) = 0;
00358
00367 virtual PdxUnreadFieldsPtr readUnreadFields() = 0;
00368 };
00369 }
00370 #endif
00371