KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > roller > util > cache > LRUCacheFactoryImpl


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. The ASF licenses this file to You
4  * under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License. For additional information regarding
15  * copyright in this work, please see the NOTICE file in the top level
16  * directory of this distribution.
17  */

18
19 package org.apache.roller.util.cache;
20
21 import java.util.Map JavaDoc;
22 import org.apache.commons.logging.Log;
23 import org.apache.commons.logging.LogFactory;
24
25
26 /**
27  * Roller LRU Cache factory.
28  */

29 public class LRUCacheFactoryImpl implements CacheFactory {
30     
31     private static Log log = LogFactory.getLog(LRUCacheFactoryImpl.class);
32     
33     
34     // protected so that only the CacheManager can instantiate us
35
protected LRUCacheFactoryImpl() {}
36     
37     
38     /**
39      * Construct a new instance of a Roller LRUCache.
40      */

41     public Cache constructCache(Map JavaDoc properties) {
42         
43         int size = 100;
44         String JavaDoc id = "unknown";
45         
46         try {
47             size = Integer.parseInt((String JavaDoc) properties.get("size"));
48         } catch(Exception JavaDoc e) {
49             // ignored
50
}
51         
52         String JavaDoc cacheId = (String JavaDoc) properties.get("id");
53         if(cacheId != null) {
54             id = cacheId;
55         }
56         
57         Cache cache = new LRUCacheImpl(id, size);
58         
59         log.debug("new cache constructed. size="+size);
60         
61         return cache;
62     }
63     
64 }
65
Popular Tags