VMware GemFire Native C++ Reference  9.1
WritablePdxInstance.hpp
1 #pragma once
2 
3 #ifndef GEODE_WRITABLEPDXINSTANCE_H_
4 #define GEODE_WRITABLEPDXINSTANCE_H_
5 
6 /*
7  * Licensed to the Apache Software Foundation (ASF) under one or more
8  * contributor license agreements. See the NOTICE file distributed with
9  * this work for additional information regarding copyright ownership.
10  * The ASF licenses this file to You under the Apache License, Version 2.0
11  * (the "License"); you may not use this file except in compliance with
12  * the License. You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 
23 #include "SharedPtr.hpp"
24 #include "Cacheable.hpp"
25 
26 #include "PdxInstance.hpp"
27 
28 namespace apache {
29 namespace geode {
30 namespace client {
31 
43  public:
47  virtual ~WritablePdxInstance() {}
48 
62  virtual void setField(const char* fieldName, CacheablePtr value) = 0;
63 
77  virtual void setField(const char* fieldName, bool value) = 0;
78 
96  virtual void setField(const char* fieldName, signed char value) = 0;
97 
115  virtual void setField(const char* fieldName, unsigned char value) = 0;
116 
130  virtual void setField(const char* fieldName, int16_t value) = 0;
131 
145  virtual void setField(const char* fieldName, int32_t value) = 0;
146 
160  virtual void setField(const char* fieldName, int64_t value) = 0;
161 
175  virtual void setField(const char* fieldName, float value) = 0;
176 
190  virtual void setField(const char* fieldName, double value) = 0;
191 
205  virtual void setField(const char* fieldName, wchar_t value) = 0;
206 
220  virtual void setField(const char* fieldName, char value) = 0;
221 
235  virtual void setField(const char* fieldName, CacheableDatePtr value) = 0;
236 
252  virtual void setField(const char* fieldName, bool* value, int32_t length) = 0;
253 
273  virtual void setField(const char* fieldName, signed char* value,
274  int32_t length) = 0;
275 
295  virtual void setField(const char* fieldName, unsigned char* value,
296  int32_t length) = 0;
297 
313  virtual void setField(const char* fieldName, int16_t* value,
314  int32_t length) = 0;
315 
331  virtual void setField(const char* fieldName, int32_t* value,
332  int32_t length) = 0;
333 
349  virtual void setField(const char* fieldName, int64_t* value,
350  int32_t length) = 0;
351 
367  virtual void setField(const char* fieldName, float* value,
368  int32_t length) = 0;
369 
385  virtual void setField(const char* fieldName, double* value,
386  int32_t length) = 0;
387 
401  virtual void setField(const char* fieldName, const wchar_t* value) = 0;
402 
416  virtual void setField(const char* fieldName, const char* value) = 0;
417 
433  virtual void setField(const char* fieldName, wchar_t* value,
434  int32_t length) = 0;
435 
451  virtual void setField(const char* fieldName, char* value, int32_t length) = 0;
452 
468  virtual void setField(const char* fieldName, wchar_t** value,
469  int32_t length) = 0;
470 
486  virtual void setField(const char* fieldName, char** value,
487  int32_t length) = 0;
488 
506  virtual void setField(const char* fieldName, int8_t** value,
507  int32_t arrayLength, int32_t* elementLength) = 0;
508 
522  virtual void setField(const char* fieldName,
523  CacheableObjectArrayPtr value) = 0;
524 
525  protected:
530 
531  private:
532  // never implemented.
534  void operator=(const WritablePdxInstance& other);
535 };
536 } // namespace client
537 } // namespace geode
538 } // namespace apache
539 
540 #endif // GEODE_WRITABLEPDXINSTANCE_H_
Each enum represents a predefined RegionAttributes in a Cache.
Definition: Assert.hpp:31
#define CPPCACHE_EXPORT
Defines a Geode CPPCACHE export.
Definition: geode_base.hpp:58
PdxInstance provides run time access to the fields of a PDX without deserializing the PDX...
Definition: PdxInstance.hpp:50
Defines a reference counted shared pointer.
Definition: SharedPtr.hpp:52
WritablePdxInstance is a PdxInstance that also supports field modification using the setField method...
Definition: WritablePdxInstance.hpp:38
virtual ~WritablePdxInstance()
public methods
Definition: WritablePdxInstance.hpp:47
WritablePdxInstance()
constructors
Definition: WritablePdxInstance.hpp:529
This namespace contains all the Geode C++ API classes, enumerations and globals.

Pivotal GemFire C++ Cache API Documentation