20#ifndef GEODE_PDXINSTANCEFACTORY_H_
21#define GEODE_PDXINSTANCEFACTORY_H_
28#include "PdxInstance.hpp"
29#include "internal/geode_globals.hpp"
36typedef std::map<std::string, std::shared_ptr<Cacheable>> FieldVsValues;
39class AuthenticatedView;
69 std::shared_ptr<PdxInstance>
create();
190 std::shared_ptr<CacheableDate> value);
203 const std::string& value);
206 std::string&& value);
226 std::shared_ptr<Cacheable> value);
239 const std::vector<bool>& value);
252 const std::vector<char16_t>& value);
265 const std::vector<int8_t>& value);
278 const std::vector<int16_t>& value);
291 const std::vector<int32_t>& value);
304 const std::vector<int64_t>& value);
317 const std::vector<float>& value);
330 const std::vector<double>& value);
343 const std::vector<std::string>& value);
360 const std::string& fieldName,
361 std::shared_ptr<CacheableObjectArray> value);
379 int32_t* elementLength);
408 std::shared_ptr<PdxType> m_pdxType;
409 FieldVsValues m_FieldVsValues;
410 CachePerfStats& m_cachePerfStats;
411 PdxTypeRegistry& m_pdxTypeRegistry;
412 const CacheImpl& m_cacheImpl;
413 bool m_enableTimeStatistics;
414 void isFieldAdded(
const std::string& fieldName);
417 CachePerfStats& cachePerfStats,
418 PdxTypeRegistry& m_pdxTypeRegistry,
const CacheImpl& cache,
419 bool enableTimeStatistics);
Contains generic template definitions for Cacheable types and instantiations for built-in types.
Creates an authenticated cache view to allow credential based access to region services.
Definition: AuthenticatedView.hpp:46
PdxInstanceFactory gives you a way to create PdxInstances.
Definition: PdxInstanceFactory.hpp:52
PdxInstanceFactory & writeBooleanArray(const std::string &fieldName, const std::vector< bool > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeLongArray(const std::string &fieldName, const std::vector< int64_t > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeString(const std::string &fieldName, const std::string &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeFloatArray(const std::string &fieldName, const std::vector< float > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeByteArray(const std::string &fieldName, const std::vector< int8_t > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeShort(const std::string &fieldName, int16_t value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeObject(const std::string &fieldName, std::shared_ptr< Cacheable > value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & markIdentityField(const std::string &fieldName)
Indicate that the named field should be included in hashCode and equals (operator==()) checks of this...
PdxInstanceFactory & writeArrayOfByteArrays(const std::string &fieldName, int8_t **value, int32_t arrayLength, int32_t *elementLength)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeChar(const std::string &fieldName, char value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeInt(const std::string &fieldName, int32_t value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeCharArray(const std::string &fieldName, const std::vector< char16_t > &value)
Writes the named field with the given value to the serialized form.
std::shared_ptr< PdxInstance > create()
Create a PdxInstance.
PdxInstanceFactory & writeDoubleArray(const std::string &fieldName, const std::vector< double > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeDate(const std::string &fieldName, std::shared_ptr< CacheableDate > value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeDouble(const std::string &fieldName, double value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeStringArray(const std::string &fieldName, const std::vector< std::string > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeBoolean(const std::string &fieldName, bool value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeLong(const std::string &fieldName, int64_t value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeFloat(const std::string &fieldName, float value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeByte(const std::string &fieldName, int8_t value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeObjectArray(const std::string &fieldName, std::shared_ptr< CacheableObjectArray > value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeShortArray(const std::string &fieldName, const std::vector< int16_t > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeIntArray(const std::string &fieldName, const std::vector< int32_t > &value)
Writes the named field with the given value to the serialized form.
PdxInstanceFactory & writeChar(const std::string &fieldName, char16_t value)
Writes the named field with the given value to the serialized form.