File Source: LRUCacheFactoryImpl.java
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.weblogger.util.cache;
20
21 import java.util.Map;
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
/*
P/P * Method: org.apache.roller.weblogger.util.cache.LRUCacheFactoryImpl__static_init
*
* Postconditions:
* init'ed(log)
*/
31 private static Log log = LogFactory.getLog(LRUCacheFactoryImpl.class);
32
33
34 // protected so that only the CacheManager can instantiate us
/*
P/P * Method: void org.apache.roller.weblogger.util.cache.LRUCacheFactoryImpl()
*/
35 protected LRUCacheFactoryImpl() {}
36
37
38 /**
39 * Construct a new instance of a Roller LRUCache.
40 */
41 public Cache constructCache(Map properties) {
42
/*
P/P * Method: Cache constructCache(Map)
*
* Preconditions:
* log != null
* properties != null
*
* Presumptions:
* java.lang.Integer:parseInt(...)@47 in -1_610_612_737..3_221_225_471
*
* Postconditions:
* return_value == &new LRUCacheImpl(constructCache#1)
* new Date(LRUCacheImpl#1) num objects == 1
* new LRUCacheImpl(constructCache#1) num objects == 1
* init'ed(return_value.cache)
* return_value.hits == +0
* return_value.misses == +0
* return_value.puts == +0
* return_value.removes == +0
* return_value.id != null
* return_value.startTime == &new Date(LRUCacheImpl#1)
*
* Test Vectors:
* java.util.Map:get(...)@52: Addr_Set{null}, Inverse{null}
*/
43 int size = 100;
44 String id = "unknown";
45
46 try {
47 size = Integer.parseInt((String) properties.get("size"));
48 } catch(Exception e) {
49 // ignored
50 }
51
52 String cacheId = (String) 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 }
SofCheck Inspector Build Version : 2.18479
| LRUCacheFactoryImpl.java |
2009-Jan-02 14:24:56 |
| LRUCacheFactoryImpl.class |
2009-Sep-04 03:12:32 |