00001 #ifndef __WRITABLE_PDXINSTANCE_HPP_
00002 #define __WRITABLE_PDXINSTANCE_HPP_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "SharedPtr.hpp"
00013 #include "Cacheable.hpp"
00014
00015 #include "PdxInstance.hpp"
00016
00017 namespace gemfire {
00018
00024 class CPPCACHE_EXPORT WritablePdxInstance : public PdxInstance
00025 {
00030 public:
00034 virtual ~WritablePdxInstance(){
00035 }
00036
00050 virtual void setField(const char* fieldName, CacheablePtr value) = 0;
00051
00065 virtual void setField(const char* fieldName, bool value) = 0;
00066
00082 virtual void setField(const char* fieldName, signed char value) = 0;
00083
00099 virtual void setField(const char* fieldName, unsigned char value) = 0;
00100
00114 virtual void setField(const char* fieldName, int16_t value) = 0;
00115
00129 virtual void setField(const char* fieldName, int32_t value) = 0;
00130
00144 virtual void setField(const char* fieldName, int64_t value) = 0;
00145
00159 virtual void setField(const char* fieldName, float value) = 0;
00160
00174 virtual void setField(const char* fieldName, double value) = 0;
00175
00189 virtual void setField(const char* fieldName, wchar_t value) = 0;
00190
00204 virtual void setField(const char* fieldName, char value) = 0;
00205
00219 virtual void setField(const char* fieldName, CacheableDatePtr value) = 0;
00220
00236 virtual void setField(const char* fieldName, bool* value, int32_t length) = 0;
00237
00255 virtual void setField(const char* fieldName, signed char* value, int32_t length) = 0;
00256
00274 virtual void setField(const char* fieldName, unsigned char* value, int32_t length) = 0;
00275
00291 virtual void setField(const char* fieldName, int16_t* value, int32_t length) = 0;
00292
00308 virtual void setField(const char* fieldName, int32_t* value, int32_t length) = 0;
00309
00325 virtual void setField(const char* fieldName, int64_t* value, int32_t length) = 0;
00326
00342 virtual void setField(const char* fieldName, float* value, int32_t length) = 0;
00343
00359 virtual void setField(const char* fieldName, double* value, int32_t length) = 0;
00360
00374 virtual void setField (const char* fieldName, const wchar_t* value) = 0;
00375
00389 virtual void setField (const char* fieldName, const char* value) = 0;
00390
00406 virtual void setField(const char* fieldName, wchar_t* value, int32_t length) = 0;
00407
00423 virtual void setField(const char* fieldName, char* value, int32_t length) = 0;
00424
00440 virtual void setField(const char* fieldName, wchar_t** value, int32_t length) = 0;
00441
00457 virtual void setField(const char* fieldName, char** value, int32_t length) = 0;
00458
00476 virtual void setField(const char* fieldName, int8_t** value, int32_t arrayLength, int32_t* elementLength) = 0;
00477
00491 virtual void setField(const char* fieldName, CacheableObjectArrayPtr value) = 0;
00492
00493 protected:
00497 WritablePdxInstance() {};
00498
00499 private:
00500
00501 WritablePdxInstance(const WritablePdxInstance& other);
00502 void operator =(const WritablePdxInstance& other);
00503
00504 };
00505 }
00506
00507 #endif