NEC mBaaS Embedded SDK  6.2.0
 全て クラス ネームスペース ファイル 関数 変数 列挙型 列挙型の値
Public メソッド | すべてのメンバ一覧
クラス necbaas::NbObject

オブジェクト管理クラス. [詳細]

#include "necbaas/nb_object.h"

necbaas::NbObjectに対する継承グラフ
necbaas::NbJsonObject

Public メソッド

 NbObject ()
 [内部処理用] [詳細]
 
 NbObject (const std::shared_ptr< NbService > &service, const std::string &bucket_name)
 コンストラクタ. [詳細]
 
virtual ~NbObject ()
 デストラクタ. [詳細]
 
NbResult< NbObjectPartUpdateObject (const NbJsonObject &json, bool acl=false)
 オブジェクトを部分更新する. [詳細]
 
NbResult< NbObjectDeleteObject (bool delete_mark=false)
 オブジェクトを削除する. [詳細]
 
NbResult< NbObjectSave (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 NbAclGetAcl () 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 necbaas::NbObject::~NbObject ( )
virtual

デストラクタ.

関数

NbResult<NbObject> necbaas::NbObject::DeleteObject ( bool  delete_mark = false)

オブジェクトを削除する.

インスタンスに設定されているバケット名、オブジェクトIDが空文字の場合は、エラーを返す。
インスタンスにETagが設定されている場合、ETagがリクエストパラメータに設定される。
delete_markがtureの場合、削除マークのみを行う。

引数
[in]delete_mark削除マークのみを行うフラグ
戻り値
処理結果
const NbAcl& necbaas::NbObject::GetAcl ( ) const

ACL取得.

戻り値
ACL
const std::string& necbaas::NbObject::GetBucketName ( ) const

バケット名取得.

戻り値
バケット名
const std::tm necbaas::NbObject::GetCreatedTime ( ) const

オブジェクトの作成日時取得.

std::tm の tm_year が 0 の場合は無効データ。

戻り値
オブジェクトの作成日時(UTC)
const std::string& necbaas::NbObject::GetETag ( ) const

ETag取得.

戻り値
ETag
const std::string& necbaas::NbObject::GetObjectId ( ) const

オブジェクトID取得.

戻り値
オブジェクトID
int necbaas::NbObject::GetTimeout ( ) const

RESTタイムアウト取得.

戻り値
タイムアウト(秒)
const std::tm necbaas::NbObject::GetUpdatedTime ( ) const

オブジェクトの更新日時取得.

std::tm の tm_year が 0 の場合は無効データ。

戻り値
オブジェクトの更新日時(UTC)
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]aclACL更新フラグ
戻り値
処理結果
NbResult<NbObject> necbaas::NbObject::Save ( bool  acl = false)

オブジェクトを保存する.

インスタンスに設定されているバケット名が空文字の場合は、エラーを返す。
インスタンスに設定されているオブジェクトIDが空文字の場合は新規作成、空文字でない場合は対象IDを完全上書きする。

新規作成の場合
作成用のJsonオブジェクトに予約名(_id, createdAt, updatedAt, ACL, etag, _deleted)が使用されている場合は削除する。
aclがtrueの場合、インスタンスに設定されているデータを使用する。

完全上書きの場合
作成用のJsonオブジェクトに予約名(_id, createdAt, updatedAt, ACL, etag, _deleted)が使用されている場合は削除する。
aclはフラグに関係なく、インスタンスに設定されているデータを使用して更新する。
createdAtは、自インスタンスに設定されているデータを使用して更新する。空文字の場合は更新しない。
インスタンスにETagが設定されている場合、ETagがリクエストパラメータに設定される。

引数
[in]aclACL更新フラグ
戻り値
処理結果
void necbaas::NbObject::SetAcl ( const NbAcl acl)

ACL設定.

引数
[in]aclACL
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]etagETag
void necbaas::NbObject::SetObjectData ( const NbJsonObject json)

オブジェクトデータ設定.

Jsonオブジェクトを設定する。
Jsonオブジェクトデータは、渡されたJsonオブジェクトに差し替えられる(現在設定されているデータは破棄される)

引数
[in]jsonJsonオブジェクト
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タイムアウト(秒)

このクラスの説明は次のファイルから生成されました: