CacheBuilder インターフェース
セッションまたは組織のキャッシュから値を安全に取得または削除するためのインターフェース。このインターフェースを使用して、キャッシュに保存する値を生成します。このインターフェースはキャッシュの欠落があるかどうかをチェックします。つまり、null のキャッシュ値があるか自分でチェックする必要はなくなります。
名前空間
CacheBuilder のメソッド
CacheBuilder のメソッドは次のとおりです。
doLoad(var)
キャッシュ値を構築するロジックが含まれます。このメソッドを直接コールしません。代わりに、CacheBuilder インターフェースを実装するクラスを参照するときにこのメソッドが間接的にコールされます。
署名
public Object doLoad(String var)
パラメーター
- var
- 型: String
- キャッシュ値を構築するために使用する文字列値 (大文字と小文字を区別)。このパラメーターは、キャッシュ値を識別する一意のキーの一部としても使用されます。
戻り値
型: Object
キャッシュされた値。戻り値を適切な型にキャストします。
CacheBuilder の実装例
この例では、CacheBuilder インターフェースを実装する UserInfoCache というクラスを作成します。このクラスは、User オブジェクトに対する SOQL クエリ実行の結果をキャッシュします。
1class UserInfoCache implements Cache.CacheBuilder {
2 public Object doLoad(String userid) {
3 User u = (User)[SELECT Id, IsActive, username FROM User WHERE id =: userid];
4 return u;
5 }
6}この例は、ユーザー ID に基づいて、キャッシュされた User レコードを取得します。値が組織キャッシュに存在すれば、その値が返されます。値が存在しない場合、doLoad(String var) メソッドが再実行され、新しい値がキャッシュされて返されます。
1User batman = (User) Cache.Org.get(UserInfoCache.class, ‘00541000000ek4c');