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;
65 std::shared_ptr<PdxInstance>
create();
186 std::shared_ptr<CacheableDate> value);
199 const std::string& value);
202 std::string&& value);
222 std::shared_ptr<Cacheable> value);
235 const std::vector<bool>& value);
248 const std::vector<char16_t>& value);
261 const std::vector<int8_t>& value);
274 const std::vector<int16_t>& value);
287 const std::vector<int32_t>& value);
300 const std::vector<int64_t>& value);
313 const std::vector<float>& value);
326 const std::vector<double>& value);
339 const std::vector<std::string>& value);
356 const std::string& fieldName,
357 std::shared_ptr<CacheableObjectArray> value);
375 int32_t* elementLength);
404 std::shared_ptr<PdxType> m_pdxType;
405 FieldVsValues m_FieldVsValues;
406 CachePerfStats& m_cachePerfStats;
407 PdxTypeRegistry& m_pdxTypeRegistry;
408 const CacheImpl& m_cacheImpl;
409 bool m_enableTimeStatistics;
410 void isFieldAdded(
const std::string& fieldName);
413 CachePerfStats& cachePerfStats,
414 PdxTypeRegistry& m_pdxTypeRegistry,
const CacheImpl& cache,
415 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.