Inherits from NSObject
Declared in APObject.h
APObject.m

Overview

AppPotによって永続化が管理するクラスは全てこのクラスを親クラスとして指定する必要がある。        SDKを利用する開発車はこのクラスが定義している属性を適切に設定することでAppPot SKDによるデータの管理方式やデータ保存場所等を指定する。

Properties

autoRefreshInterval

このクラスのデータをサーバー側のデータで更新するまでの間隔。秒単位で指定。Refresh time interval @property refreshInterval

@property (nonatomic) long autoRefreshInterval

Declared In

APObject.h

createTime

Created time @property createTime

@property (nonatomic, strong) NSDate *createTime

Declared In

APObject.h

createUserId

このデータを作成したユーザーのID @property createUserID

@property (nonatomic) long createUserId

Declared In

APObject.h

groupIds

このデータへのアクセスができるグループのID @property groupIDs

@property (nonatomic, strong) NSString *groupIds

Declared In

APObject.h

isAutoRefresh

このクラスの情報を定期的にサーバーからアップデートするかとうかを指定。Desice if data of this class refreshed automatically by the value in the server. @property doRefreshAutomatically

@property (nonatomic) BOOL isAutoRefresh

Discussion

デフォルト値はNO。つまりサーバーとの自動同期は行わない。この値がYESに設定されたクラスに対してはAppPot SDKが定期的にサーバーの情報を確認して端末内のデータを更新する。端末内のデータの変更をサーバーに通知することはない。端末でのデータの更新はAPEntityManagerの更新用APIを使って行う。サーターアンダギーとの情報更新の間隔はrefreshIntervalによって設定する。Default value for isAutoRefresh is NO. If isAutoRefresh is set YES, AppPot SDK will call refresh: in a fixed period based on the value of refreshInterval.

Declared In

APObject.h

isUsingLockForUpdate

データを更新する前に他の人によって変更されたかを確認するか否かを指定する。 @property isUsingLockForUpdate

@property (nonatomic) BOOL isUsingLockForUpdate

Declared In

APObject.h

lifeSpan

Time to expired @property lifeSpan

@property (nonatomic) long lifeSpan

Declared In

APObject.h

objectId

このデータの識別子となるキーシステム全体でユニークである。 @property objectId

@property (nonatomic, strong) NSString *objectId

Declared In

APObject.h

persistentType

Type of data access @property peristentType

@property (nonatomic) int persistentType

Declared In

APObject.h

scopeType

このクラスに対するアクセス権限(readwrite)Access right for the class @property scopeType

@property (nonatomic) NSInteger scopeType

Declared In

APObject.h

serverUpdateTime

サーバーでの更新時刻。 @property updateTime

@property (nonatomic, strong) NSString *serverUpdateTime

Declared In

APObject.h

syncStatus

データの同期状態 @property syncStatus

@property (nonatomic, assign) SYNC_STATUS syncStatus

Declared In

APObject.h

updateTime

Updated object @property updateTime

@property (nonatomic, strong) NSDate *updateTime

Declared In

APObject.h

Class Methods

objectWithId:error:

Refresh immediately @property self

+ (instancetype)objectWithId:(NSString *)objectId error:(NSError **)error

Declared In

APObject.h

objectWithId:withBlock:

Refresh immediately @property self

+ (void)objectWithId:(NSString *)objectId withBlock:(APObjectResultBlock)block

Declared In

APObject.h

Instance Methods

deleteObject:

データを同期型で削除する。

- (BOOL)deleteObject:(NSError **)error

Parameters

error

データの削除の際に発生したエラーを格納する

@discussion

Declared In

APObject.h

deleteObjectWithBlock:

データを非同期型で削除する。

- (void)deleteObjectWithBlock:(APResponseResultBlock)block

Parameters

error

データの削除の際に発生したエラーを格納する

@discussion

Declared In

APObject.h

initForServerOnlyWithScopeType:

サーバー側に保存する目的でデータを生成する。

- (id)initForServerOnlyWithScopeType:(SCOPE_TYPE)scopeType

Parameters

scopeType

データへのアクセス権限の範囲を指定

Discussion

端末にはデータを保存せず、サーバーだけに保存するためのデータを生成する。 このメソッドで生成されたデータはこのクラスの指定された永続化場所とは関係なくサーバーにだけ保存される。

Declared In

APObject.h

refreshObjectWithBlock:

Refresh immediately @property self

- (void)refreshObjectWithBlock:(APObjectResultBlock)block

Declared In

APObject.h

saveObject:

このオブジェクトの情報をデータストーアに同期型で反映する。保存先のデータストーアはpersistentTypeによって制御される。

- (APObject *)saveObject:(NSError **)error

Parameters

error

オブジェクトの更新中に発生したエラーを格

Return Value

object. 保存されたオブジェクトを返す。 @discussion このメソッドはオブジェクトの状態によってデータストーアに新しいデータを追加、あるいは既存のデータを更新する。新しいデータであるか否かはobjectIdの有無で判断する。objectIdがない場合は新しいデータとして追加する。

Declared In

APObject.h

saveWithBlock:

このオブジェクトの情報をデータストーアに非同期型で反映する。保存先のデータストーアはpersistentTypeによって制御される。

- (void)saveWithBlock:(APObjectResultBlock)block

Parameters

ブロック

オブジェクトの更新が終わった後に実行されるコードを渡す。

Return Value

objectId. 保存されたオブジェクトの識別子を返す。 @discussion このメソッドはオブジェクトの状態によってデータストーアに新しいデータを追加、あるいは既存のデータを更新する。新しいデータであるか否かはobjectIdの有無で判断する。objectIdがない場合は新しいデータとして追加する。

Declared In

APObject.h

setDefaultProperties

このクラスの基本的な設定を行う。

- (void)setDefaultProperties

Discussion

以下の属性を設定することでこのクラスの基本的な操作方式を指定する。この指定はこのクラスの全てのインスタンスに適用される。 以下に設定可能な属性と設定しなかった場合のデフォルト値を示す。このメソッド内で設定しなかった属性に対してはデフォルト値が適用される。

self.peristentType = APPersistentServerOnly; // データの保存場所を指定する。 self.isAutoRefresh = NO; // データの保存場所が端末とサーバー(APPersistentServerAndLocal)で、端末のデータを自動更新する場合のみYESにする。 self.refreshInterval = 600; // 自動更新を行う場合、自動更新の時間間隔を秒単位で指定する。デフォルト値は10分か、SDKの初期化にて指定された時間が使用される。 self.lifeSpan = 2,592,000; // 永続化場所が端末とサーバー(APPersistentServerAndLocal)である場合、端末内のデータの保存期間を秒で指定する。デフォルト値は30日か、SDKの初期化にて指定された時間が使用される。 self.scopeType = APScopeGroup; // データを参照・編集できる範囲を指定する。デフォルト値はデータ作成者のグループ(APScopeGroup) かSDKの初期化にて指定されたタイプが使用される。 self.scopeTypeForAutoRefresh = APScopeGroup; // 端末にあるデータの自動更新対象の権限範囲を指定する。デフォルト値はデータの権限(_scopeType)が使用される。 self.isUsingLockForUpdate = NO;

Declared In

APObject.h