01: /*
02: * The contents of this file are subject to the Sapient Public License
03: * Version 1.0 (the "License"); you may not use this file except in compliance
04: * with the License. You may obtain a copy of the License at
05: * http://carbon.sf.net/License.html.
06: *
07: * Software distributed under the License is distributed on an "AS IS" basis,
08: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
09: * the specific language governing rights and limitations under the License.
10: *
11: * The Original Code is The Carbon Component Framework.
12: *
13: * The Initial Developer of the Original Code is Sapient Corporation
14: *
15: * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16: */
17:
18: package org.sape.carbon.services.cache.mru;
19:
20: import org.sape.carbon.core.component.FunctionalInterface;
21: import org.sape.carbon.services.cache.CacheLoadException;
22:
23: /**
24: * <p>The MRUCacheDataLoader is the interface implemented by Objects that
25: * interface with the backing data store of an MRU cache.</p>
26: *
27: * Copyright 2002 Sapient
28: * @since carbon 1.0
29: * @author Douglas Voet, March 2002
30: * @version $Revision: 1.7 $($Author: dvoet $ / $Date: 2003/05/05 21:21:07 $)
31: */
32: public interface MRUCacheDataLoader extends FunctionalInterface {
33:
34: /**
35: * Loads a single datum from the backing data store and returns it.
36: * This method is called from the get method of MRUCache when the
37: * requested datum is not in the cache or has expired.
38: *
39: * @param key an object providing all information necessary
40: * to locate a datum
41: * @return the data object represented by the key parameter
42: * @throws CacheLoadException indicates an error loading the data
43: */
44: Object loadDatum(Object key) throws CacheLoadException;
45:
46: }
|