オブジェクト管理クラス. [詳細]
#include "necbaas/nb_object.h"
 
  
 | Public メソッド | |
| NbObject () | |
| [内部処理用]  [詳細] | |
| NbObject (const std::shared_ptr< NbService > &service, const std::string &bucket_name) | |
| コンストラクタ.  [詳細] | |
| virtual | ~NbObject () | 
| デストラクタ.  [詳細] | |
| NbResult< NbObject > | PartUpdateObject (const NbJsonObject &json, bool acl=false) | 
| オブジェクトを部分更新する.  [詳細] | |
| NbResult< NbObject > | DeleteObject (bool delete_mark=false) | 
| オブジェクトを削除する.  [詳細] | |
| NbResult< NbObject > | Save (bool acl=false) | 
| オブジェクトを保存する.  [詳細] | |
| int | GetTimeout () const | 
| RESTタイムアウト取得.  [詳細] | |
| void | SetTimeout (int timeout) | 
| RESTタイムアウト設定.  [詳細] | |
| const std::string & | GetBucketName () const | 
| バケット名取得.  [詳細] | |
| const std::string & | GetObjectId () const | 
| オブジェクトID取得.  [詳細] | |
| void | SetObjectId (const std::string &object_id) | 
| オブジェクトID設定.  [詳細] | |
| const std::tm | GetCreatedTime () const | 
| オブジェクトの作成日時取得.  [詳細] | |
| const std::tm | GetUpdatedTime () const | 
| オブジェクトの更新日時取得.  [詳細] | |
| void | SetCreatedTime (const std::tm &created_time) | 
| オブジェクトの作成日時設定.  [詳細] | |
| const std::string & | GetETag () const | 
| ETag取得.  [詳細] | |
| void | SetETag (const std::string &etag) | 
| ETag設定.  [詳細] | |
| const NbAcl & | GetAcl () const | 
| ACL取得.  [詳細] | |
| void | SetAcl (const NbAcl &acl) | 
| ACL設定.  [詳細] | |
| bool | IsDeleteMark () const | 
| 削除マーク付与確認.  [詳細] | |
| void | SetObjectData (const NbJsonObject &json) | 
| オブジェクトデータ設定.  [詳細] | |
| void | SetCurrentParam (const NbJsonObject &json) | 
| [内部処理用]  [詳細] | |
|  Public メソッド inherited from necbaas::NbJsonObject | |
| NbJsonObject () | |
| コンストラクタ.  [詳細] | |
| NbJsonObject (const std::string &json_string) | |
| コンストラクタ.  [詳細] | |
| NbJsonObject (const std::vector< char > &json_char) | |
| コンストラクタ.  [詳細] | |
| virtual | ~NbJsonObject () | 
| デストラクタ.  [詳細] | |
| bool | PutAll (const std::string &json) | 
| 全データセット.  [詳細] | |
| std::vector< std::string > | GetKeySet () const | 
| キーセット取得.  [詳細] | |
| int | GetInt (const std::string &key, int default_value=0) const | 
| 整数値取得.  [詳細] | |
| int64_t | GetInt64 (const std::string &key, int64_t default_value=0) const | 
| 64bit整数値取得.  [詳細] | |
| double | GetDouble (const std::string &key, double default_value=0.0) const | 
| 浮動小数点値取得.  [詳細] | |
| bool | GetBoolean (const std::string &key, bool default_value=false) const | 
| 真偽値取得.  [詳細] | |
| std::string | GetString (const std::string &key, const std::string default_value="") const | 
| 文字列取得.  [詳細] | |
| NbJsonObject | GetJsonObject (const std::string &key) const | 
| Jsonオブジェクト取得.  [詳細] | |
| NbJsonArray | GetJsonArray (const std::string &key) const | 
| Json配列取得.  [詳細] | |
| const Json::Value & | GetSubstitutableValue () const | 
| [内部処理用]  [詳細] | |
| Json::Value & | operator[] (const std::string &key) | 
| Value設定用添え字演算子.  [詳細] | |
| const Json::Value & | operator[] (const std::string &key) const | 
| Value参照用添え字演算子.  [詳細] | |
| void | PutJsonObject (const std::string &key, const NbJsonObject &json_object) | 
| Jsonオブジェクト設定.  [詳細] | |
| void | PutJsonArray (const std::string &key, const NbJsonArray &json_array) | 
| Json配列設定.  [詳細] | |
| void | PutNull (const std::string &key) | 
| null設定.  [詳細] | |
| unsigned int | GetSize () const | 
| サイズ取得.  [詳細] | |
| bool | IsEmpty () const | 
| オブジェクト空確認.  [詳細] | |
| bool | IsMember (const std::string &key) const | 
| Key存在確認.  [詳細] | |
| NbJsonType | GetType (const std::string &key) const | 
| Jsonタイプ取得.  [詳細] | |
| void | Remove (const std::string &key) | 
| Key削除.  [詳細] | |
| void | Clear () | 
| 全データ削除.  [詳細] | |
| std::string | ToJsonString () const | 
| Json文字列変換.  [詳細] | |
| void | Replace (const Json::Value &value) | 
| [内部処理用]  [詳細] | |
| bool | operator== (const NbJsonObject &other) const | 
| ==演算子.  [詳細] | |
| Additional Inherited Members | |
|  Protected 変数 inherited from necbaas::NbJsonObject | |
| Json::Value | value_ | 
オブジェクト管理クラス.
オブジェクトストレージに格納される Json オブジェクトデータ1件を表現する。
 JsonオブジェクトのFieldに予約名(_id, createdAt, updatedAt, ACL, etag, _deleted)の設定が可能であるが、 Saveメソッド実行時に予約名は削除される。
 オブジェクトIDや作成日時を変更したい場合は、対応するSetメソッドを使用すること。
本クラスのインスタンスはスレッドセーフではない
| necbaas::NbObject::NbObject | ( | ) | 
[内部処理用]
| necbaas::NbObject::NbObject | ( | const std::shared_ptr< NbService > & | service, | 
| const std::string & | bucket_name | ||
| ) | 
コンストラクタ.
| [in] | service | サービスインスタンス | 
| [in] | bucket_name | バケット名 | 
| 
 | virtual | 
デストラクタ.
オブジェクトを削除する.
インスタンスに設定されているバケット名、オブジェクトIDが空文字の場合は、エラーを返す。
 インスタンスにETagが設定されている場合、ETagがリクエストパラメータに設定される。
 delete_markがtureの場合、削除マークのみを行う。 
| [in] | delete_mark | 削除マークのみを行うフラグ | 
| const NbAcl& necbaas::NbObject::GetAcl | ( | ) | const | 
ACL取得.
| const std::string& necbaas::NbObject::GetBucketName | ( | ) | const | 
バケット名取得.
| const std::tm necbaas::NbObject::GetCreatedTime | ( | ) | const | 
オブジェクトの作成日時取得.
std::tm の tm_year が 0 の場合は無効データ。
| const std::string& necbaas::NbObject::GetETag | ( | ) | const | 
ETag取得.
| const std::string& necbaas::NbObject::GetObjectId | ( | ) | const | 
オブジェクトID取得.
| int necbaas::NbObject::GetTimeout | ( | ) | const | 
RESTタイムアウト取得.
| const std::tm necbaas::NbObject::GetUpdatedTime | ( | ) | const | 
オブジェクトの更新日時取得.
std::tm の tm_year が 0 の場合は無効データ。
| bool necbaas::NbObject::IsDeleteMark | ( | ) | const | 
削除マーク付与確認.
| true | 削除マークあり | 
| false | 削除マークなし | 
| NbResult<NbObject> necbaas::NbObject::PartUpdateObject | ( | const NbJsonObject & | json, | 
| bool | acl = false | ||
| ) | 
オブジェクトを部分更新する.
部分更新用Jsonオブジェクトが空の場合は、パラメータエラーを返す。
 インスタンスに設定されているバケット名、オブジェクトIDが空文字の場合は、エラーを返す。
 aclがtrueの場合は、インスタンスに設定されているデータを使用して更新する。
 createdAtは、自インスタンスに設定されているデータを使用して更新する。空文字の場合は更新しない。
 部分更新用Jsonオブジェクトに予約名(_id, createdAt, updatedAt, ACL, etag, _deleted)が使用されている場合は削除する。 
| [in] | json | 部分更新用Jsonオブジェクト | 
| [in] | acl | ACL更新フラグ | 
オブジェクトを保存する.
インスタンスに設定されているバケット名が空文字の場合は、エラーを返す。
 インスタンスに設定されているオブジェクトIDが空文字の場合は新規作成、空文字でない場合は対象IDを完全上書きする。
 
新規作成の場合
 作成用のJsonオブジェクトに予約名(_id, createdAt, updatedAt, ACL, etag, _deleted)が使用されている場合は削除する。
 aclがtrueの場合、インスタンスに設定されているデータを使用する。
 
完全上書きの場合
 作成用のJsonオブジェクトに予約名(_id, createdAt, updatedAt, ACL, etag, _deleted)が使用されている場合は削除する。
 aclはフラグに関係なく、インスタンスに設定されているデータを使用して更新する。
 createdAtは、自インスタンスに設定されているデータを使用して更新する。空文字の場合は更新しない。
 インスタンスにETagが設定されている場合、ETagがリクエストパラメータに設定される。 
| [in] | acl | ACL更新フラグ | 
| void necbaas::NbObject::SetAcl | ( | const NbAcl & | acl | ) | 
ACL設定.
| [in] | acl | ACL | 
| void necbaas::NbObject::SetCreatedTime | ( | const std::tm & | created_time | ) | 
オブジェクトの作成日時設定.
std::tm の tm_year が 0 の場合は無効データを設定する。
| [in] | created_time | オブジェクトの作成日時(UTC) | 
| void necbaas::NbObject::SetCurrentParam | ( | const NbJsonObject & | json | ) | 
[内部処理用]
| void necbaas::NbObject::SetETag | ( | const std::string & | etag | ) | 
ETag設定.
| [in] | etag | ETag | 
| void necbaas::NbObject::SetObjectData | ( | const NbJsonObject & | json | ) | 
オブジェクトデータ設定.
Jsonオブジェクトを設定する。
 Jsonオブジェクトデータは、渡されたJsonオブジェクトに差し替えられる(現在設定されているデータは破棄される) 
| [in] | json | Jsonオブジェクト | 
| void necbaas::NbObject::SetObjectId | ( | const std::string & | object_id | ) | 
オブジェクトID設定.
| [in] | object_id | オブジェクトID | 
| void necbaas::NbObject::SetTimeout | ( | int | timeout | ) | 
RESTタイムアウト設定.
RESTのタイムアウト値(秒)を設定する。
 0以下の値が設定された場合は、デフォルト値(60秒)が設定される。 
| [in] | timeout | タイムアウト(秒) | 
 1.8.5
 1.8.5