VMware GemFire Native Client Cache Reference  9.0.6
PdxReader.hpp
1 #ifndef __GEMFIRE_PDXREADER_H__
2 #define __GEMFIRE_PDXREADER_H__
3 
4 /*=========================================================================
5 * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
6  * This product is protected by U.S. and international copyright
7  * and intellectual property laws. Pivotal products are covered by
8  * more patents listed at http://www.pivotal.io/patents.
9 *========================================================================
10 */
11 
12 #include "CacheableBuiltins.hpp"
13 #include "PdxUnreadFields.hpp"
14 
15 namespace gemfire {
16 
17  class PdxReader;
18  typedef SharedPtr<PdxReader> PdxReaderPtr;
19 
30 
31  public:
32 
36  PdxReader() {}
37 
41  virtual ~PdxReader(){}
42 
52  virtual char readChar(const char* fieldName) = 0;
53 
63  virtual wchar_t readWideChar(const char* fieldName) = 0;
64 
74  virtual bool readBoolean(const char* fieldName) = 0;
75 
85  virtual int8_t readByte(const char* fieldName) = 0;
86 
96  virtual int16_t readShort(const char* fieldName) = 0;
97 
107  virtual int32_t readInt(const char* fieldName) = 0;
108 
118  virtual int64_t readLong(const char* fieldName) = 0;
119 
129  virtual float readFloat(const char* fieldName) = 0;
130 
140  virtual double readDouble(const char* fieldName) = 0;
141 
151  virtual char* readString(const char* fieldName) = 0;
152 
162  virtual wchar_t* readWideString(const char* fieldName) = 0;
163 
173  virtual CacheablePtr readObject(const char* fieldName) = 0;
174 
185  virtual char* readCharArray(const char* fieldName, int32_t& length) = 0;
186 
197  virtual wchar_t* readWideCharArray(const char* fieldName, int32_t& length) = 0;
198 
208  virtual bool* readBooleanArray (const char* fieldName, int32_t& length) = 0;
209 
220  virtual int8_t* readByteArray(const char* fieldName, int32_t& length) = 0;
221 
232  virtual int16_t* readShortArray(const char* fieldName, int32_t& length) = 0;
233 
244  virtual int32_t* readIntArray(const char* fieldName, int32_t& length) = 0;
245 
256  virtual int64_t* readLongArray(const char* fieldName, int32_t& length ) = 0;
257 
268  virtual float* readFloatArray(const char* fieldName, int32_t& length) = 0;
269 
280  virtual double* readDoubleArray(const char* fieldName, int32_t& length) = 0;
281 
292  virtual char** readStringArray(const char* fieldName, int32_t& length) = 0;
293 
304  virtual wchar_t** readWideStringArray(const char* fieldName, int32_t& length) = 0;
305 
315  virtual CacheableObjectArrayPtr readObjectArray(const char* fieldName) = 0;
316 
328  virtual int8_t** readArrayOfByteArrays(const char* fieldName, int32_t& arrayLength, int32_t** elementLength ) = 0;
329 
339  virtual CacheableDatePtr readDate(const char* fieldName) = 0;
340 
348  virtual bool hasField(const char* fieldName) = 0;
349 
357  virtual bool isIdentityField(const char* fieldName) = 0;
358 
367  virtual PdxUnreadFieldsPtr readUnreadFields() = 0;
368  };
369 }
370 #endif /* PDXREADER_HPP_ */
371 
Contains generic template definitions for Cacheable types and instantiations for built-in types...
This namespace contains all the GemFire C++ API classes, enumerations and globals.
Definition: Assert.hpp:19
A PdxReader will be passed to PdxSerializable.fromData or during deserialization of a PDX...
Definition: PdxReader.hpp:29
PdxReader()
constructors
Definition: PdxReader.hpp:36
#define CPPCACHE_EXPORT
Defines a GemFire CPPCACHE export.
Definition: gf_base.hpp:51
This abstract base class is the base class of all user objects that have the shared capability of ref...
Definition: SharedBase.hpp:31
virtual ~PdxReader()
destructor
Definition: PdxReader.hpp:41
Defines a reference counted shared pointer.
Definition: SharedPtr.hpp:35

GemFire C++ Cache API Documentation