Apache Ignite C++
query_text.h
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
23 #ifndef _IGNITE_CACHE_QUERY_QUERY_TEXT
24 #define _IGNITE_CACHE_QUERY_QUERY_TEXT
25 
26 #include <stdint.h>
27 #include <string>
28 
30 
31 namespace ignite
32 {
33  namespace cache
34  {
35  namespace query
36  {
40  class TextQuery
41  {
42  public:
49  TextQuery(const std::string& type, const std::string& text) :
50  type(type), text(text), pageSize(1024), loc(false)
51  {
52  // No-op.
53  }
54 
60  const std::string& GetType() const
61  {
62  return type;
63  }
64 
70  void SetType(const std::string& type)
71  {
72  this->type = type;
73  }
74 
80  const std::string& GetText() const
81  {
82  return text;
83  }
84 
90  void SetText(const std::string& text)
91  {
92  this->text = text;
93  }
94 
100  int32_t GetPageSize() const
101  {
102  return pageSize;
103  }
104 
110  void SetPageSize(int32_t pageSize)
111  {
112  this->pageSize = pageSize;
113  }
114 
120  bool IsLocal() const
121  {
122  return loc;
123  }
124 
130  void SetLocal(bool loc)
131  {
132  this->loc = loc;
133  }
134 
140  void Write(binary::BinaryRawWriter& writer) const
141  {
142  writer.WriteBool(loc);
143  writer.WriteString(text);
144  writer.WriteString(type);
145  writer.WriteInt32(pageSize);
146  }
147 
148  private:
150  std::string type;
151 
153  std::string text;
154 
156  int32_t pageSize;
157 
159  bool loc;
160  };
161  }
162  }
163 }
164 
165 #endif //_IGNITE_CACHE_QUERY_QUERY_TEXT
const std::string & GetType() const
Get type name.
Definition: query_text.h:60
Text query.
Definition: query_text.h:40
Declares ignite::binary::BinaryRawWriter class.
void SetType(const std::string &type)
Set type name.
Definition: query_text.h:70
void WriteInt32(int32_t val)
Write 32-byte signed integer.
Definition: binary_raw_writer.cpp:72
int32_t GetPageSize() const
Get page size.
Definition: query_text.h:100
void WriteString(const char *val)
Write string.
Definition: binary_raw_writer.cpp:152
TextQuery(const std::string &type, const std::string &text)
Constructor.
Definition: query_text.h:49
void SetLocal(bool loc)
Set local flag.
Definition: query_text.h:130
void SetText(const std::string &text)
Set text string.
Definition: query_text.h:90
Binary raw writer.
Definition: binary_raw_writer.h:55
const std::string & GetText() const
Get text string.
Definition: query_text.h:80
bool IsLocal() const
Get local flag.
Definition: query_text.h:120
void WriteBool(bool val)
Write bool.
Definition: binary_raw_writer.cpp:42
void Write(binary::BinaryRawWriter &writer) const
Write query info to the stream.
Definition: query_text.h:140
void SetPageSize(int32_t pageSize)
Set page size.
Definition: query_text.h:110
Apache Ignite API.
Definition: cache.h:48