Hazelcast C++ Client
Hazelcast C++ Client Library
Loading...
Searching...
No Matches
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 505 of file serialization.h.

Constructor & Destructor Documentation

◆ FieldDefinition() [1/3]

hazelcast::client::serialization::FieldDefinition::FieldDefinition ( )

Constructor.

Definition at line 257 of file serialization.cpp.

258 : index_(0)
259 , class_id_(0)
260 , factory_id_(0)
261 , version_(-1)
262{}

◆ FieldDefinition() [2/3]

hazelcast::client::serialization::FieldDefinition::FieldDefinition ( int index,
const std::string & field_name,
field_type const & type,
int version )

Constructor.

Definition at line 264 of file serialization.cpp.

268 : index_(index)
269 , field_name_(field_name)
270 , type_(type)
271 , class_id_(0)
272 , factory_id_(0)
273 , version_(version)
274{}

◆ FieldDefinition() [3/3]

hazelcast::client::serialization::FieldDefinition::FieldDefinition ( int index,
const std::string & field_name,
field_type const & type,
int factory_id,
int class_id,
int version )

Constructor.

Definition at line 276 of file serialization.cpp.

282 : index_(index)
283 , field_name_(field_name)
284 , type_(type)
285 , class_id_(class_id)
286 , factory_id_(factory_id)
287 , version_(version)
288{}

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}

◆ operator!=()

bool hazelcast::client::serialization::FieldDefinition::operator!= ( const FieldDefinition & rhs) const

Definition at line 349 of file serialization.cpp.

350{
351 return !(rhs == *this);
352}

◆ operator==()

bool hazelcast::client::serialization::FieldDefinition::operator== ( const FieldDefinition & rhs) const

Definition at line 341 of file serialization.cpp.

342{
343 return field_name_ == rhs.field_name_ && type_ == rhs.type_ &&
344 class_id_ == rhs.class_id_ && factory_id_ == rhs.factory_id_ &&
345 version_ == rhs.version_;
346}

◆ 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}

◆ operator<<

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

Definition at line 354 of file serialization.cpp.

356{
357 os << "FieldDefinition{"
358 << "index: " << definition.index_
359 << " fieldName: " << definition.field_name_
360 << " type: " << static_cast<int32_t>(definition.type_)
361 << " classId: " << definition.class_id_
362 << " factoryId: " << definition.factory_id_
363 << " version: " << definition.version_;
364 return os;
365}

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