2.12. 戻り値の強制
不必要にデータを送信しないようにするために、リモートキャッシュでの書き込み操作は、以前の値ではなく null を返します。
たとえば、以下のメソッド呼び出しでは、キーに対する以前の値は返されません。
V remove(Object key); V put(K key, V value);
V remove(Object key);
V put(K key, V value);
FORCE_RETURN_VALUE フラグを使用してこのデフォルトの動作を変更すると、呼び出しで以前の値が返されるようになります。
手順
-
nullではなく以前の値を取得するには、次の例のようにFORCE_RETURN_VALUEフラグを使用します。
cache.put("aKey", "initialValue");
assert null == cache.put("aKey", "aValue");
assert "aValue".equals(cache.withFlags(Flag.FORCE_RETURN_VALUE).put("aKey",
"newValue"));
cache.put("aKey", "initialValue");
assert null == cache.put("aKey", "aValue");
assert "aValue".equals(cache.withFlags(Flag.FORCE_RETURN_VALUE).put("aKey",
"newValue"));