Pivotal GemFire Native Client Cache Reference  9.0.6
PdxInstanceFactory.hpp
1 #ifndef __PDXINSTANCE_FACTORY_HPP_
2 #define __PDXINSTANCE_FACTORY_HPP_
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 "PdxInstance.hpp"
13 #include "gfcpp_globals.hpp"
14 #include "gf_types.hpp"
15 #include "CacheableBuiltins.hpp"
16 #include "CacheableDate.hpp"
17 #include "CacheableObjectArray.hpp"
18 
19 namespace gemfire {
20 
30  {
31  public:
36  }
37 
38  protected:
43  }
44 
45  private:
46  // never implemented.
48  void operator =(const PdxInstanceFactory& other);
49 
50  public:
58  virtual PdxInstancePtr create() = 0;
59 
69  virtual PdxInstanceFactoryPtr writeWideChar(const char* fieldName, wchar_t value) = 0;
70 
80  virtual PdxInstanceFactoryPtr writeChar(const char* fieldName, char value) = 0;
81 
91  virtual PdxInstanceFactoryPtr writeBoolean(const char* fieldName, bool value) = 0;
92 
102  virtual PdxInstanceFactoryPtr writeByte(const char* fieldName, int8_t value) = 0;
103 
113  virtual PdxInstanceFactoryPtr writeShort(const char* fieldName, int16_t value) = 0;
114 
124  virtual PdxInstanceFactoryPtr writeInt(const char* fieldName, int32_t value) = 0;
125 
135  virtual PdxInstanceFactoryPtr writeLong(const char* fieldName, int64_t value) = 0;
136 
146  virtual PdxInstanceFactoryPtr writeFloat(const char* fieldName, float value) = 0;
147 
157  virtual PdxInstanceFactoryPtr writeDouble(const char* fieldName, double value) = 0;
158 
168  virtual PdxInstanceFactoryPtr writeDate(const char* fieldName, CacheableDatePtr value) = 0;
169 
179  virtual PdxInstanceFactoryPtr writeWideString(const char* fieldName, const wchar_t* value) = 0;
180 
190  virtual PdxInstanceFactoryPtr writeString(const char* fieldName, const char* value) = 0;
191 
207  virtual PdxInstanceFactoryPtr writeObject(const char* fieldName, CacheablePtr value) = 0;
208 
219  virtual PdxInstanceFactoryPtr writeBooleanArray(const char* fieldName, bool* value, int32_t length) = 0;
220 
231  virtual PdxInstanceFactoryPtr writeWideCharArray(const char* fieldName, wchar_t* value, int32_t length) = 0;
232 
243  virtual PdxInstanceFactoryPtr writeCharArray(const char* fieldName, char* value, int32_t length) = 0;
244 
255  virtual PdxInstanceFactoryPtr writeByteArray(const char* fieldName, int8_t* value, int32_t length) = 0;
256 
267  virtual PdxInstanceFactoryPtr writeShortArray(const char* fieldName, int16_t* value, int32_t length) = 0;
268 
279  virtual PdxInstanceFactoryPtr writeIntArray(const char* fieldName, int32_t* value, int32_t length) = 0;
280 
291  virtual PdxInstanceFactoryPtr writeLongArray(const char* fieldName, int64_t* value, int32_t length) = 0;
292 
303  virtual PdxInstanceFactoryPtr writeFloatArray(const char* fieldName, float* value, int32_t length) = 0;
304 
315  virtual PdxInstanceFactoryPtr writeDoubleArray(const char* fieldName, double* value, int32_t length) = 0;
316 
327  virtual PdxInstanceFactoryPtr writeStringArray(const char* fieldName, char** value, int32_t length) = 0;
328 
339  virtual PdxInstanceFactoryPtr writeWideStringArray(const char* fieldName, wchar_t** value, int32_t length) = 0;
340 
352  virtual PdxInstanceFactoryPtr writeObjectArray(const char* fieldName, CacheableObjectArrayPtr value) = 0;
353 
365  virtual PdxInstanceFactoryPtr writeArrayOfByteArrays(const char* fieldName, int8_t** value, int32_t arrayLength, int32_t* elementLength) = 0;
366 
385  virtual PdxInstanceFactoryPtr markIdentityField(const char* fieldName) = 0;
386 
387  };
388 }
389 
390 #endif /* __PDXINSTANCE_FACTORY_HPP_ */
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
#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
PdxInstanceFactory gives you a way to create PdxInstances.
Definition: PdxInstanceFactory.hpp:29
PdxInstanceFactory()
constructors
Definition: PdxInstanceFactory.hpp:42
virtual ~PdxInstanceFactory()
destructor
Definition: PdxInstanceFactory.hpp:35
Defines a reference counted shared pointer.
Definition: SharedPtr.hpp:35

GemFire C++ Cache API Documentation