18 #include "hazelcast/client/serialization/serialization.h" 20 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) 22 #pragma warning(disable: 4251) //for dll export 27 class hazelcast_client;
31 static constexpr
const char *KEY_ATTRIBUTE_NAME =
"__key";
32 static constexpr
const char *THIS_ATTRIBUTE_NAME =
"this";
55 template<
typename ...Args>
57 out_stream.write<int32_t>(
static_cast<int32_t
>(
sizeof...(values)));
58 out_stream.write_objects(values...);
61 template<
typename ...Args>
63 out_stream.write(attribute_name);
64 out_stream.write<int32_t>(
static_cast<int32_t
>(
sizeof...(values)));
65 out_stream.write_objects(values...);
69 enum struct predicate_data_serializer_hook {
76 BETWEEN_PREDICATE = 2,
80 GREATERLESS_PREDICATE = 4,
88 INSTANCEOF_PREDICATE = 8,
90 NOTEQUAL_PREDICATE = 9,
102 PAGING_PREDICATE = 15
114 out_stream.write_object(value);
127 out_stream.write_object(value);
141 bool is_equal,
bool is_less)
143 out_stream.write_object(value);
144 out_stream.write(is_equal);
145 out_stream.write(is_less);
156 template<
typename FROM_TYPE,
typename TO_TYPE>
160 out_stream.write_object(to);
161 out_stream.write_object(from);
230 template<
typename ...Args>
237 template<
typename ...Args>
243 template<
typename ...PredicateTypes>
256 namespace serialization {
263 return static_cast<int32_t
>(query::predicate_data_serializer_hook::F_ID);
271 out.append_bytes(
object.out_stream.to_byte_array());
279 BOOST_THROW_EXCEPTION(exception::hazelcast_serialization(
"readData",
280 "Client should not need to use readdata method!!!"));
290 return static_cast<int32_t
>(query::predicate_data_serializer_hook::BETWEEN_PREDICATE);
300 return static_cast<int32_t
>(query::predicate_data_serializer_hook::EQUAL_PREDICATE);
310 return static_cast<int32_t
>(query::predicate_data_serializer_hook::NOTEQUAL_PREDICATE);
321 return static_cast<int32_t
>(query::predicate_data_serializer_hook::GREATERLESS_PREDICATE);
331 return static_cast<int32_t
>(query::predicate_data_serializer_hook::FALSE_PREDICATE);
341 return static_cast<int32_t
>(query::predicate_data_serializer_hook::TRUE_PREDICATE);
351 return static_cast<int32_t
>(query::predicate_data_serializer_hook::LIKE_PREDICATE);
362 return static_cast<int32_t
>(query::predicate_data_serializer_hook::INSTANCEOF_PREDICATE);
373 return static_cast<int32_t
>(query::predicate_data_serializer_hook::SQL_PREDICATE);
383 return static_cast<int32_t
>(query::predicate_data_serializer_hook::ILIKE_PREDICATE);
393 return static_cast<int32_t
>(query::predicate_data_serializer_hook::REGEX_PREDICATE);
403 return static_cast<int32_t
>(query::predicate_data_serializer_hook::IN_PREDICATE);
413 return static_cast<int32_t
>(query::predicate_data_serializer_hook::AND_PREDICATE);
423 return static_cast<int32_t
>(query::predicate_data_serializer_hook::OR_PREDICATE);
433 return static_cast<int32_t
>(query::predicate_data_serializer_hook::NOT_PREDICATE);
440 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) Definition: predicates.h:118
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:392
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:412
Definition: predicates.h:247
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:289
static constexpr int32_t get_factory_id() noexcept
Definition: predicates.h:262
Definition: predicates.h:42
static void write_data(const T &object, object_data_output &out)
Defines how this class will be written.
Definition: predicates.h:270
Definition: predicates.h:193
static T read_data(object_data_input &in)
Should not be called at the client side!
Definition: predicates.h:277
Definition: predicates.h:175
in_predicate(hazelcast_client &client, const std::string &attribute_name, const Args &...values)
The type of Args should be able to be serialized.
Definition: predicates.h:231
Definition: hazelcast_client.h:62
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:382
equal_predicate(hazelcast_client &client, const std::string &attribute_name, const T &value)
Definition: predicates.h:112
Definition: predicates.h:235
Definition: predicates.h:105
Definition: predicates.h:203
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:309
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:340
This is a marker class for Predicate classes.
Definition: predicates.h:39
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:372
Definition: predicates.h:53
between_predicate(hazelcast_client &client, const std::string &attribute_name, const FROM_TYPE &from, const TO_TYPE &to)
Definition: predicates.h:157
Classes derived from this class should implement the following static methods: static int32_t getClas...
Definition: serialization.h:208
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:350
Definition: serialization.h:708
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:361
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:320
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:299
greater_less_predicate(hazelcast_client &client, const std::string &attribute_name, const T &value, bool is_equal, bool is_less)
Definition: predicates.h:140
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:330
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:402
not_equal_predicate(hazelcast_client &client, const std::string &attribute_name, const T &value)
Definition: predicates.h:125
Definition: predicates.h:165
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:432
static constexpr int32_t get_class_id() noexcept
Definition: predicates.h:422
Definition: predicates.h:30
Definition: predicates.h:241
Definition: predicates.h:183
Definition: predicates.h:149
Definition: predicates.h:258
Definition: predicates.h:170
Definition: predicates.h:48
Definition: predicates.h:223
Definition: serialization.h:183
Definition: predicates.h:131
Definition: predicates.h:213