30 #ifndef GOOGLE_STORAGE_API_OBJECT_H_ 31 #define GOOGLE_STORAGE_API_OBJECT_H_ 34 #include "googleapis/base/integral_types.h" 35 #include "googleapis/base/macros.h" 36 #include "googleapis/client/data/jsoncpp_data.h" 37 #include "googleapis/client/util/date_time.h" 38 #include "googleapis/strings/stringpiece.h" 40 #include "google/storage_api/object_access_control.h" 54 class Object :
public client::JsonCppData {
96 return StringPiece(
"google_storage_api::ObjectCustomerEncryption");
105 return Storage().isMember(
"encryptionAlgorithm");
112 MutableStorage()->removeMember(
"encryptionAlgorithm");
120 const Json::Value& v = Storage(
"encryptionAlgorithm");
121 if (v == Json::Value::null)
return StringPiece(
"");
122 return StringPiece(v.asCString());
133 *MutableStorage(
"encryptionAlgorithm") = value.data();
142 return Storage().isMember(
"keySha256");
149 MutableStorage()->removeMember(
"keySha256");
157 const Json::Value& v = Storage(
"keySha256");
158 if (v == Json::Value::null)
return StringPiece(
"");
159 return StringPiece(v.asCString());
170 *MutableStorage(
"keySha256") = value.data();
215 return StringPiece(
"google_storage_api::ObjectOwner");
224 return Storage().isMember(
"entity");
231 MutableStorage()->removeMember(
"entity");
239 const Json::Value& v = Storage(
"entity");
240 if (v == Json::Value::null)
return StringPiece(
"");
241 return StringPiece(v.asCString());
252 *MutableStorage(
"entity") = value.data();
261 return Storage().isMember(
"entityId");
268 MutableStorage()->removeMember(
"entityId");
276 const Json::Value& v = Storage(
"entityId");
277 if (v == Json::Value::null)
return StringPiece(
"");
278 return StringPiece(v.asCString());
289 *MutableStorage(
"entityId") = value.data();
307 explicit Object(
const Json::Value& storage);
314 explicit Object(Json::Value* storage);
327 return StringPiece(
"google_storage_api::Object");
336 return Storage().isMember(
"acl");
343 MutableStorage()->removeMember(
"acl");
350 const client::JsonCppArray<ObjectAccessControl > get_acl()
const;
359 client::JsonCppArray<ObjectAccessControl > mutable_acl();
367 return Storage().isMember(
"bucket");
374 MutableStorage()->removeMember(
"bucket");
382 const Json::Value& v = Storage(
"bucket");
383 if (v == Json::Value::null)
return StringPiece(
"");
384 return StringPiece(v.asCString());
395 *MutableStorage(
"bucket") = value.data();
404 return Storage().isMember(
"cacheControl");
411 MutableStorage()->removeMember(
"cacheControl");
419 const Json::Value& v = Storage(
"cacheControl");
420 if (v == Json::Value::null)
return StringPiece(
"");
421 return StringPiece(v.asCString());
434 *MutableStorage(
"cacheControl") = value.data();
443 return Storage().isMember(
"componentCount");
450 MutableStorage()->removeMember(
"componentCount");
458 const Json::Value& storage = Storage(
"componentCount");
459 return client::JsonValueToCppValueHelper<int32 >(storage);
471 client::SetJsonValueFromCppValueHelper<int32 >(
472 value, MutableStorage(
"componentCount"));
481 return Storage().isMember(
"contentDisposition");
488 MutableStorage()->removeMember(
"contentDisposition");
496 const Json::Value& v = Storage(
"contentDisposition");
497 if (v == Json::Value::null)
return StringPiece(
"");
498 return StringPiece(v.asCString());
509 *MutableStorage(
"contentDisposition") = value.data();
518 return Storage().isMember(
"contentEncoding");
525 MutableStorage()->removeMember(
"contentEncoding");
533 const Json::Value& v = Storage(
"contentEncoding");
534 if (v == Json::Value::null)
return StringPiece(
"");
535 return StringPiece(v.asCString());
546 *MutableStorage(
"contentEncoding") = value.data();
555 return Storage().isMember(
"contentLanguage");
562 MutableStorage()->removeMember(
"contentLanguage");
570 const Json::Value& v = Storage(
"contentLanguage");
571 if (v == Json::Value::null)
return StringPiece(
"");
572 return StringPiece(v.asCString());
583 *MutableStorage(
"contentLanguage") = value.data();
592 return Storage().isMember(
"contentType");
599 MutableStorage()->removeMember(
"contentType");
607 const Json::Value& v = Storage(
"contentType");
608 if (v == Json::Value::null)
return StringPiece(
"");
609 return StringPiece(v.asCString());
621 *MutableStorage(
"contentType") = value.data();
630 return Storage().isMember(
"crc32c");
637 MutableStorage()->removeMember(
"crc32c");
645 const Json::Value& v = Storage(
"crc32c");
646 if (v == Json::Value::null)
return StringPiece(
"");
647 return StringPiece(v.asCString());
660 *MutableStorage(
"crc32c") = value.data();
669 return Storage().isMember(
"customerEncryption");
676 MutableStorage()->removeMember(
"customerEncryption");
685 const Json::Value& storage = Storage(
"customerEncryption");
686 return client::JsonValueToCppValueHelper<ObjectCustomerEncryption >(storage);
699 Json::Value* storage = MutableStorage(
"customerEncryption");
700 return client::JsonValueToMutableCppValueHelper<ObjectCustomerEncryption >(storage);
709 return Storage().isMember(
"etag");
716 MutableStorage()->removeMember(
"etag");
724 const Json::Value& v = Storage(
"etag");
725 if (v == Json::Value::null)
return StringPiece(
"");
726 return StringPiece(v.asCString());
737 *MutableStorage(
"etag") = value.data();
746 return Storage().isMember(
"eventBasedHold");
753 MutableStorage()->removeMember(
"eventBasedHold");
761 const Json::Value& storage = Storage(
"eventBasedHold");
762 return client::JsonValueToCppValueHelper<bool >(storage);
783 client::SetJsonValueFromCppValueHelper<bool >(
784 value, MutableStorage(
"eventBasedHold"));
793 return Storage().isMember(
"generation");
800 MutableStorage()->removeMember(
"generation");
808 const Json::Value& storage = Storage(
"generation");
809 return client::JsonValueToCppValueHelper<int64 >(storage);
820 client::SetJsonValueFromCppValueHelper<int64 >(
821 value, MutableStorage(
"generation"));
830 return Storage().isMember(
"id");
837 MutableStorage()->removeMember(
"id");
845 const Json::Value& v = Storage(
"id");
846 if (v == Json::Value::null)
return StringPiece(
"");
847 return StringPiece(v.asCString());
859 *MutableStorage(
"id") = value.data();
868 return Storage().isMember(
"kind");
875 MutableStorage()->removeMember(
"kind");
883 const Json::Value& v = Storage(
"kind");
884 if (v == Json::Value::null)
return StringPiece(
"");
885 return StringPiece(v.asCString());
896 *MutableStorage(
"kind") = value.data();
905 return Storage().isMember(
"kmsKeyName");
912 MutableStorage()->removeMember(
"kmsKeyName");
920 const Json::Value& v = Storage(
"kmsKeyName");
921 if (v == Json::Value::null)
return StringPiece(
"");
922 return StringPiece(v.asCString());
934 *MutableStorage(
"kmsKeyName") = value.data();
943 return Storage().isMember(
"md5Hash");
950 MutableStorage()->removeMember(
"md5Hash");
958 const Json::Value& v = Storage(
"md5Hash");
959 if (v == Json::Value::null)
return StringPiece(
"");
960 return StringPiece(v.asCString());
972 *MutableStorage(
"md5Hash") = value.data();
981 return Storage().isMember(
"mediaLink");
988 MutableStorage()->removeMember(
"mediaLink");
996 const Json::Value& v = Storage(
"mediaLink");
997 if (v == Json::Value::null)
return StringPiece(
"");
998 return StringPiece(v.asCString());
1009 *MutableStorage(
"mediaLink") = value.data();
1018 return Storage().isMember(
"metadata");
1025 MutableStorage()->removeMember(
"metadata");
1033 const Json::Value& storage = Storage(
"metadata");
1034 return client::JsonValueToCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
1046 Json::Value* storage = MutableStorage(
"metadata");
1047 return client::JsonValueToMutableCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
1056 return Storage().isMember(
"metageneration");
1063 MutableStorage()->removeMember(
"metageneration");
1071 const Json::Value& storage = Storage(
"metageneration");
1072 return client::JsonValueToCppValueHelper<int64 >(storage);
1086 client::SetJsonValueFromCppValueHelper<int64 >(
1087 value, MutableStorage(
"metageneration"));
1096 return Storage().isMember(
"name");
1103 MutableStorage()->removeMember(
"name");
1111 const Json::Value& v = Storage(
"name");
1112 if (v == Json::Value::null)
return StringPiece(
"");
1113 return StringPiece(v.asCString());
1124 *MutableStorage(
"name") = value.data();
1133 return Storage().isMember(
"owner");
1140 MutableStorage()->removeMember(
"owner");
1148 const Json::Value& storage = Storage(
"owner");
1149 return client::JsonValueToCppValueHelper<ObjectOwner >(storage);
1160 Json::Value* storage = MutableStorage(
"owner");
1161 return client::JsonValueToMutableCppValueHelper<ObjectOwner >(storage);
1171 return Storage().isMember(
"retentionExpirationTime");
1178 MutableStorage()->removeMember(
"retentionExpirationTime");
1186 const Json::Value& storage = Storage(
"retentionExpirationTime");
1187 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
1204 client::SetJsonValueFromCppValueHelper<client::DateTime >(
1205 value, MutableStorage(
"retentionExpirationTime"));
1214 return Storage().isMember(
"selfLink");
1221 MutableStorage()->removeMember(
"selfLink");
1229 const Json::Value& v = Storage(
"selfLink");
1230 if (v == Json::Value::null)
return StringPiece(
"");
1231 return StringPiece(v.asCString());
1242 *MutableStorage(
"selfLink") = value.data();
1251 return Storage().isMember(
"size");
1258 MutableStorage()->removeMember(
"size");
1266 const Json::Value& storage = Storage(
"size");
1267 return client::JsonValueToCppValueHelper<uint64 >(storage);
1278 client::SetJsonValueFromCppValueHelper<uint64 >(
1279 value, MutableStorage(
"size"));
1288 return Storage().isMember(
"storageClass");
1295 MutableStorage()->removeMember(
"storageClass");
1303 const Json::Value& v = Storage(
"storageClass");
1304 if (v == Json::Value::null)
return StringPiece(
"");
1305 return StringPiece(v.asCString());
1316 *MutableStorage(
"storageClass") = value.data();
1325 return Storage().isMember(
"temporaryHold");
1332 MutableStorage()->removeMember(
"temporaryHold");
1340 const Json::Value& storage = Storage(
"temporaryHold");
1341 return client::JsonValueToCppValueHelper<bool >(storage);
1356 client::SetJsonValueFromCppValueHelper<bool >(
1357 value, MutableStorage(
"temporaryHold"));
1366 return Storage().isMember(
"timeCreated");
1373 MutableStorage()->removeMember(
"timeCreated");
1381 const Json::Value& storage = Storage(
"timeCreated");
1382 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
1393 client::SetJsonValueFromCppValueHelper<client::DateTime >(
1394 value, MutableStorage(
"timeCreated"));
1403 return Storage().isMember(
"timeDeleted");
1410 MutableStorage()->removeMember(
"timeDeleted");
1418 const Json::Value& storage = Storage(
"timeDeleted");
1419 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
1431 client::SetJsonValueFromCppValueHelper<client::DateTime >(
1432 value, MutableStorage(
"timeDeleted"));
1442 return Storage().isMember(
"timeStorageClassUpdated");
1449 MutableStorage()->removeMember(
"timeStorageClassUpdated");
1457 const Json::Value& storage = Storage(
"timeStorageClassUpdated");
1458 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
1470 client::SetJsonValueFromCppValueHelper<client::DateTime >(
1471 value, MutableStorage(
"timeStorageClassUpdated"));
1480 return Storage().isMember(
"updated");
1487 MutableStorage()->removeMember(
"updated");
1495 const Json::Value& storage = Storage(
"updated");
1496 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
1507 client::SetJsonValueFromCppValueHelper<client::DateTime >(
1508 value, MutableStorage(
"updated"));
1512 void operator=(
const Object&);
1515 #endif // GOOGLE_STORAGE_API_OBJECT_H_ const StringPiece get_crc32c() const
Definition: object.h:644
bool has_retention_expiration_time() const
Definition: object.h:1170
const StringPiece get_entity() const
Definition: object.h:238
bool has_name() const
Definition: object.h:1095
bool has_self_link() const
Definition: object.h:1213
client::JsonCppAssociativeArray< string > mutable_metadata()
Definition: object.h:1045
void clear_content_language()
Definition: object.h:561
void clear_entity()
Definition: object.h:230
void clear_bucket()
Definition: object.h:373
bool has_metageneration() const
Definition: object.h:1055
void set_key_sha256(const StringPiece &value)
Definition: object.h:169
void clear_owner()
Definition: object.h:1139
void set_self_link(const StringPiece &value)
Definition: object.h:1241
void clear_name()
Definition: object.h:1102
const StringPiece get_content_disposition() const
Definition: object.h:495
client::DateTime get_retention_expiration_time() const
Definition: object.h:1185
int32 get_component_count() const
Definition: object.h:457
void clear_content_type()
Definition: object.h:598
void set_metageneration(int64 value)
Definition: object.h:1085
void clear_encryption_algorithm()
Definition: object.h:111
const StringPiece get_md5_hash() const
Definition: object.h:957
void clear_content_encoding()
Definition: object.h:524
const StringPiece get_name() const
Definition: object.h:1110
void clear_event_based_hold()
Definition: object.h:752
bool has_size() const
Definition: object.h:1250
const StringPiece GetTypeName() const
Definition: object.h:95
void clear_customer_encryption()
Definition: object.h:675
const StringPiece get_kms_key_name() const
Definition: object.h:919
bool has_media_link() const
Definition: object.h:980
bool has_component_count() const
Definition: object.h:442
void set_cache_control(const StringPiece &value)
Definition: object.h:433
void clear_temporary_hold()
Definition: object.h:1331
const StringPiece get_content_encoding() const
Definition: object.h:532
void clear_time_deleted()
Definition: object.h:1409
bool has_storage_class() const
Definition: object.h:1287
int64 get_metageneration() const
Definition: object.h:1070
void set_crc32c(const StringPiece &value)
Definition: object.h:659
const StringPiece GetTypeName() const
Definition: object.h:326
void set_entity_id(const StringPiece &value)
Definition: object.h:288
void clear_entity_id()
Definition: object.h:267
void clear_cache_control()
Definition: object.h:410
void set_bucket(const StringPiece &value)
Definition: object.h:394
void set_content_type(const StringPiece &value)
Definition: object.h:620
void set_component_count(int32 value)
Definition: object.h:470
bool has_acl() const
Definition: object.h:335
const StringPiece get_encryption_algorithm() const
Definition: object.h:119
void set_media_link(const StringPiece &value)
Definition: object.h:1008
void set_id(const StringPiece &value)
Definition: object.h:858
bool has_entity_id() const
Definition: object.h:260
const StringPiece get_kind() const
Definition: object.h:882
void set_content_disposition(const StringPiece &value)
Definition: object.h:508
bool has_time_created() const
Definition: object.h:1365
bool has_entity() const
Definition: object.h:223
void set_updated(client::DateTime value)
Definition: object.h:1506
void clear_retention_expiration_time()
Definition: object.h:1177
client::DateTime get_time_deleted() const
Definition: object.h:1417
void clear_etag()
Definition: object.h:715
void set_md5_hash(const StringPiece &value)
Definition: object.h:971
bool has_owner() const
Definition: object.h:1132
void clear_content_disposition()
Definition: object.h:487
bool has_md5_hash() const
Definition: object.h:942
bool get_temporary_hold() const
Definition: object.h:1339
bool has_content_language() const
Definition: object.h:554
bool has_customer_encryption() const
Definition: object.h:668
void clear_updated()
Definition: object.h:1486
uint64 get_size() const
Definition: object.h:1265
void clear_metageneration()
Definition: object.h:1062
client::DateTime get_time_created() const
Definition: object.h:1380
void clear_generation()
Definition: object.h:799
const StringPiece get_bucket() const
Definition: object.h:381
const ObjectCustomerEncryption get_customer_encryption() const
Definition: object.h:684
void clear_size()
Definition: object.h:1257
bool has_bucket() const
Definition: object.h:366
bool has_crc32c() const
Definition: object.h:629
client::DateTime get_time_storage_class_updated() const
Definition: object.h:1456
void set_time_created(client::DateTime value)
Definition: object.h:1392
const StringPiece get_id() const
Definition: object.h:844
bool has_etag() const
Definition: object.h:708
ObjectCustomerEncryption mutable_customerEncryption()
Definition: object.h:698
bool has_content_type() const
Definition: object.h:591
void clear_md5_hash()
Definition: object.h:949
bool get_event_based_hold() const
Definition: object.h:760
void set_generation(int64 value)
Definition: object.h:819
const StringPiece GetTypeName() const
Definition: object.h:214
const StringPiece get_etag() const
Definition: object.h:723
const StringPiece get_entity_id() const
Definition: object.h:275
void set_name(const StringPiece &value)
Definition: object.h:1123
const StringPiece get_cache_control() const
Definition: object.h:418
void set_storage_class(const StringPiece &value)
Definition: object.h:1315
const StringPiece get_storage_class() const
Definition: object.h:1302
void clear_acl()
Definition: object.h:342
bool has_content_encoding() const
Definition: object.h:517
bool has_updated() const
Definition: object.h:1479
bool has_key_sha256() const
Definition: object.h:141
void set_etag(const StringPiece &value)
Definition: object.h:736
void set_content_language(const StringPiece &value)
Definition: object.h:582
bool has_kind() const
Definition: object.h:867
void clear_metadata()
Definition: object.h:1024
const StringPiece get_key_sha256() const
Definition: object.h:156
void clear_time_created()
Definition: object.h:1372
void clear_self_link()
Definition: object.h:1220
const StringPiece get_self_link() const
Definition: object.h:1228
client::DateTime get_updated() const
Definition: object.h:1494
void clear_media_link()
Definition: object.h:987
void clear_kind()
Definition: object.h:874
bool has_temporary_hold() const
Definition: object.h:1324
void set_time_deleted(client::DateTime value)
Definition: object.h:1430
bool has_generation() const
Definition: object.h:792
const StringPiece get_media_link() const
Definition: object.h:995
bool has_event_based_hold() const
Definition: object.h:745
void set_time_storage_class_updated(client::DateTime value)
Definition: object.h:1469
void clear_key_sha256()
Definition: object.h:148
const StringPiece get_content_language() const
Definition: object.h:569
void set_kms_key_name(const StringPiece &value)
Definition: object.h:933
bool has_kms_key_name() const
Definition: object.h:904
bool has_encryption_algorithm() const
Definition: object.h:104
void clear_storage_class()
Definition: object.h:1294
void set_kind(const StringPiece &value)
Definition: object.h:895
void set_entity(const StringPiece &value)
Definition: object.h:251
int64 get_generation() const
Definition: object.h:807
void set_encryption_algorithm(const StringPiece &value)
Definition: object.h:132
bool has_id() const
Definition: object.h:829
void set_event_based_hold(bool value)
Definition: object.h:782
void clear_crc32c()
Definition: object.h:636
bool has_time_storage_class_updated() const
Definition: object.h:1441
bool has_content_disposition() const
Definition: object.h:480
void clear_time_storage_class_updated()
Definition: object.h:1448
bool has_cache_control() const
Definition: object.h:403
void set_content_encoding(const StringPiece &value)
Definition: object.h:545
void clear_id()
Definition: object.h:836
const ObjectOwner get_owner() const
Definition: object.h:1147
ObjectOwner mutable_owner()
Definition: object.h:1159
void set_temporary_hold(bool value)
Definition: object.h:1355
bool has_time_deleted() const
Definition: object.h:1402
void set_size(uint64 value)
Definition: object.h:1277
void set_retention_expiration_time(client::DateTime value)
Definition: object.h:1203
bool has_metadata() const
Definition: object.h:1017
void clear_kms_key_name()
Definition: object.h:911
void clear_component_count()
Definition: object.h:449
const client::JsonCppAssociativeArray< string > get_metadata() const
Definition: object.h:1032
const StringPiece get_content_type() const
Definition: object.h:606