olp-cpp-sdk 1.24.0
Loading...
Searching...
No Matches
PublishPartitionDataRequest.h
1/*
2 * Copyright (C) 2019-2023 HERE Europe B.V.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * SPDX-License-Identifier: Apache-2.0
17 * License-Filename: LICENSE
18 */
19
20#pragma once
21
22#include <memory>
23#include <string>
24#include <utility>
25#include <vector>
26
27#include <olp/core/porting/optional.h>
28#include <olp/dataservice/write/DataServiceWriteApi.h>
29
30namespace olp {
31namespace dataservice {
32namespace write {
33namespace model {
35class DATASERVICE_WRITE_API PublishPartitionDataRequest {
36 public:
41 default;
43 default;
44 virtual ~PublishPartitionDataRequest() = default;
45
51 inline std::shared_ptr<std::vector<unsigned char>> GetData() const {
52 return data_;
53 }
54
61 const std::shared_ptr<std::vector<unsigned char>>& data) {
62 data_ = data;
63 return *this;
64 }
65
72 std::shared_ptr<std::vector<unsigned char>>&& data) {
73 data_ = std::move(data);
74 return *this;
75 }
76
82 inline const std::string& GetLayerId() const { return layer_id_; }
83
91 inline PublishPartitionDataRequest& WithLayerId(const std::string& layer_id) {
92 layer_id_ = layer_id;
93 return *this;
94 }
95
103 inline PublishPartitionDataRequest& WithLayerId(std::string&& layer_id) {
104 layer_id_ = std::move(layer_id);
105 return *this;
106 }
107
113 inline const porting::optional<std::string>& GetPartitionId() const {
114 return partition_id_;
115 }
116
126 const std::string& partition_id) {
127 partition_id_ = partition_id;
128 return *this;
129 }
130
140 std::string&& partition_id) {
141 partition_id_ = std::move(partition_id);
142 return *this;
143 }
144
155 inline const porting::optional<std::string>& GetBillingTag() const {
156 return billing_tag_;
157 }
158
167 const std::string& billing_tag) {
168 billing_tag_ = billing_tag;
169 return *this;
170 }
171
181 std::string&& billing_tag) {
182 billing_tag_ = std::move(billing_tag);
183 return *this;
184 }
185
197 inline const porting::optional<std::string>& GetChecksum() const {
198 return checksum_;
199 }
200
209 const std::string& checksum) {
210 checksum_ = checksum;
211 return *this;
212 }
213
221 inline PublishPartitionDataRequest& WithChecksum(std::string&& checksum) {
222 checksum_ = std::move(checksum);
223 return *this;
224 }
225
226 private:
227 std::shared_ptr<std::vector<unsigned char>> data_;
228
229 std::string layer_id_;
230
231 porting::optional<std::string> partition_id_;
232
233 porting::optional<std::string> billing_tag_;
234
235 porting::optional<std::string> checksum_;
236};
237
238} // namespace model
239} // namespace write
240} // namespace dataservice
241} // namespace olp
Publishes data to a versioned and volatile layer.
Definition PublishPartitionDataRequest.h:35
PublishPartitionDataRequest & WithLayerId(const std::string &layer_id)
Sets the layer ID of the catalog where you want to store the data.
Definition PublishPartitionDataRequest.h:91
PublishPartitionDataRequest & WithChecksum(std::string &&checksum)
Sets the request checksum.
Definition PublishPartitionDataRequest.h:221
PublishPartitionDataRequest & WithBillingTag(const std::string &billing_tag)
Sets the billing tag for the request.
Definition PublishPartitionDataRequest.h:166
PublishPartitionDataRequest & WithData(const std::shared_ptr< std::vector< unsigned char > > &data)
Sets the data to be published to the HERE platform.
Definition PublishPartitionDataRequest.h:60
PublishPartitionDataRequest & WithData(std::shared_ptr< std::vector< unsigned char > > &&data)
Sets the data to be published to the HERE platform.
Definition PublishPartitionDataRequest.h:71
const std::string & GetLayerId() const
Gets the layer ID of the catalog where you want to store the data.
Definition PublishPartitionDataRequest.h:82
std::shared_ptr< std::vector< unsigned char > > GetData() const
Gets the data to be published to the HERE platform.
Definition PublishPartitionDataRequest.h:51
PublishPartitionDataRequest & WithPartitionId(std::string &&partition_id)
Sets the ID of the partition to which you want to publish data.
Definition PublishPartitionDataRequest.h:139
const porting::optional< std::string > & GetChecksum() const
Gets the request checksum.
Definition PublishPartitionDataRequest.h:197
PublishPartitionDataRequest & WithPartitionId(const std::string &partition_id)
Sets the ID of the partition to which you want to publish data.
Definition PublishPartitionDataRequest.h:125
const porting::optional< std::string > & GetPartitionId() const
Gets the ID of the partition to which you want to publish data.
Definition PublishPartitionDataRequest.h:113
const porting::optional< std::string > & GetBillingTag() const
Gets the billing tag to group billing records together.
Definition PublishPartitionDataRequest.h:155
PublishPartitionDataRequest & WithBillingTag(std::string &&billing_tag)
Sets the billing tag for the request.
Definition PublishPartitionDataRequest.h:180
PublishPartitionDataRequest & WithLayerId(std::string &&layer_id)
Sets the layer ID of the catalog where you want to store the data.
Definition PublishPartitionDataRequest.h:103
PublishPartitionDataRequest & WithChecksum(const std::string &checksum)
Sets the request checksum.
Definition PublishPartitionDataRequest.h:208
Rules all the other namespaces.
Definition AppleSignInProperties.h:24