E:/gfcppsancout/product/include/gfcpp/PdxReader.hpp

00001 #ifndef __GEMFIRE_PDXREADER_H__
00002 #define __GEMFIRE_PDXREADER_H__
00003 
00004 /*=========================================================================
00005 * (c) Copyright 2002-2007, GemStone Systems, Inc. All Rights Reserved.
00006 * 1260 NW Waterhouse Ave., Suite 200,  Beaverton, OR 97006
00007 *========================================================================
00008 */
00009 
00010 #include "CacheableBuiltins.hpp"
00011 #include "PdxUnreadFields.hpp"
00012 
00013 namespace gemfire {
00014 
00015   class PdxReader;
00016   typedef SharedPtr<PdxReader> PdxReaderPtr;
00017 
00027   class CPPCACHE_EXPORT PdxReader : public SharedBase {
00028 
00029     public:
00030 
00034     PdxReader() {}
00035 
00039     virtual ~PdxReader(){}
00040 
00050     virtual char readChar(const char* fieldName) = 0;
00051 
00061     virtual wchar_t readWideChar(const char* fieldName) = 0;
00062 
00072     virtual bool readBoolean(const char* fieldName) = 0;
00073 
00083     virtual int8_t readByte(const char* fieldName) = 0;
00084 
00094     virtual int16_t readShort(const char* fieldName) = 0;
00095 
00105     virtual int32_t readInt(const char* fieldName) = 0;
00106 
00116     virtual int64_t readLong(const char* fieldName) = 0;
00117 
00127     virtual float readFloat(const char* fieldName) = 0;
00128 
00138     virtual double readDouble(const char* fieldName) = 0;
00139 
00149     virtual char* readString(const char* fieldName) = 0;
00150 
00160     virtual wchar_t* readWideString(const char* fieldName) = 0;
00161 
00171     virtual CacheablePtr readObject(const char* fieldName) = 0;
00172 
00183     virtual char* readCharArray(const char* fieldName, int32_t& length) = 0;
00184 
00195     virtual wchar_t* readWideCharArray(const char* fieldName, int32_t& length) = 0;
00196 
00206     virtual bool* readBooleanArray (const char* fieldName, int32_t& length) = 0;
00207 
00218     virtual int8_t* readByteArray(const char* fieldName, int32_t& length) = 0;
00219 
00230     virtual int16_t* readShortArray(const char* fieldName, int32_t& length) = 0;
00231 
00242     virtual int32_t* readIntArray(const char* fieldName, int32_t& length) = 0;
00243 
00254     virtual int64_t* readLongArray(const char* fieldName, int32_t& length ) = 0;
00255 
00266     virtual float* readFloatArray(const char* fieldName, int32_t& length) = 0;
00267 
00278     virtual double* readDoubleArray(const char* fieldName, int32_t& length) = 0;
00279 
00290     virtual char** readStringArray(const char* fieldName, int32_t& length) = 0;
00291 
00302     virtual wchar_t** readWideStringArray(const char* fieldName, int32_t& length) = 0;
00303 
00313     virtual CacheableObjectArrayPtr readObjectArray(const char* fieldName) = 0;
00314 
00326     virtual int8_t** readArrayOfByteArrays(const char* fieldName, int32_t& arrayLength, int32_t** elementLength ) = 0;
00327 
00337     virtual CacheableDatePtr readDate(const char* fieldName) = 0;
00338 
00346     virtual bool hasField(const char* fieldName) = 0;
00347 
00355     virtual bool isIdentityField(const char* fieldName) = 0;
00356 
00365     virtual PdxUnreadFieldsPtr readUnreadFields() = 0;
00366   };
00367 }
00368 #endif /* PDXREADER_HPP_ */
00369 

GemFire C++ Cache API Documentation