01: /*
02: Copyright 2004 Philip Jacob <phil@whirlycott.com>
03: Seth Fitzsimmons <seth@note.amherst.edu>
04:
05: Licensed under the Apache License, Version 2.0 (the "License");
06: you may not use this file except in compliance with the License.
07: You may obtain a copy of the License at
08:
09: http://www.apache.org/licenses/LICENSE-2.0
10:
11: Unless required by applicable law or agreed to in writing, software
12: distributed under the License is distributed on an "AS IS" BASIS,
13: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: See the License for the specific language governing permissions and
15: limitations under the License.
16: */
17:
18: package com.whirlycott.cache;
19:
20: import java.util.Map;
21:
22: /**
23: * This is the interface that all backend caching systems must implement.
24: *
25: * @author Phil Jacob
26: */
27: public interface ManagedCache<K, V> extends Map<K, V> {
28:
29: /**
30: * For ManagedCache implementations that can perform optimizations for mostly-read environments.
31: * @param _mostlyRead Whether most operations will be reads.
32: */
33: public void setMostlyRead(boolean _mostlyRead);
34:
35: /**
36: * Store an Object in the cache.
37: *
38: * @param k key with which the specified value is to be associated.
39: * @param v value to be associated with the specified key.
40: */
41: public void store(K k, V v);
42: }
|