Hazelcast C++ Client
Hazelcast C++ Client Library
hazelcast::client::serialization::FieldDefinition Class Reference

ClassDefinition defines a class schema for portable classes. More...

#include <serialization.h>

Public Member Functions

 FieldDefinition ()
 Constructor.
 
 FieldDefinition (int, const std::string &, field_type const &type, int version)
 Constructor.
 
 FieldDefinition (int index, const std::string &field_name, field_type const &type, int factory_id, int class_id, int version)
 Constructor.
 
const field_type & get_type () const
 
std::string get_name () const
 
int get_index () const
 
int get_factory_id () const
 
int get_class_id () const
 
void write_data (pimpl::data_output &data_output)
 
void read_data (object_data_input &data_input)
 
bool operator== (const FieldDefinition &rhs) const
 
bool operator!= (const FieldDefinition &rhs) const
 

Friends

std::ostream & operator<< (std::ostream &os, const FieldDefinition &definition)
 

Detailed Description

ClassDefinition defines a class schema for portable classes.

It allows to query field names, types, class id etc. It can be created manually using ClassDefinitionBuilder or on demand during serialization phase.

See also
ClassDefinitionBuilder FieldDefinition defines name, type, index of a field

Definition at line 504 of file serialization.h.

Member Function Documentation

◆ get_class_id()

int hazelcast::client::serialization::FieldDefinition::get_class_id ( ) const
Returns
class id of this field's class

Definition at line 315 of file serialization.cpp.

316 {
317  return class_id_;
318 }

◆ get_factory_id()

int hazelcast::client::serialization::FieldDefinition::get_factory_id ( ) const
Returns
factory id of this field's class

Definition at line 309 of file serialization.cpp.

310 {
311  return factory_id_;
312 }

◆ get_index()

int hazelcast::client::serialization::FieldDefinition::get_index ( ) const
Returns
field index

Definition at line 303 of file serialization.cpp.

304 {
305  return index_;
306 }

◆ get_name()

std::string hazelcast::client::serialization::FieldDefinition::get_name ( ) const
Returns
field name

Definition at line 297 of file serialization.cpp.

298 {
299  return field_name_;
300 }

◆ get_type()

const field_type & hazelcast::client::serialization::FieldDefinition::get_type ( ) const
Returns
field type

Definition at line 291 of file serialization.cpp.

292 {
293  return type_;
294 }

◆ read_data()

void hazelcast::client::serialization::FieldDefinition::read_data ( object_data_input data_input)
Parameters
dataInputreads fieldDefinition from given dataOutput

Definition at line 331 of file serialization.cpp.

332 {
333  index_ = data_input.read<int32_t>();
334  field_name_ = data_input.read<std::string>();
335  type_ = static_cast<field_type>(data_input.read<byte>());
336  factory_id_ = data_input.read<int32_t>();
337  class_id_ = data_input.read<int32_t>();
338 }

◆ write_data()

void hazelcast::client::serialization::FieldDefinition::write_data ( pimpl::data_output &  data_output)
Parameters
dataOutputwrites fieldDefinition to given dataOutput

Definition at line 321 of file serialization.cpp.

322 {
323  data_output.write<int32_t>(index_);
324  data_output.write<std::string>(field_name_);
325  data_output.write<byte>(static_cast<int32_t>(type_));
326  data_output.write<int32_t>(factory_id_);
327  data_output.write<int32_t>(class_id_);
328 }

The documentation for this class was generated from the following files: