KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jdon > util > SimpleCachePool


1 package com.jdon.util;
2
3 import java.util.Map JavaDoc;
4 import java.util.concurrent.ConcurrentHashMap JavaDoc;
5
6 /**
7  * <a HREF="SimpleCachePool.java.htm"><b><i>View Source</i></b></a>
8  *
9  * @author Brian Chan
10  * @version $Revision: 1.1.1.1 $
11  *
12  */

13 public class SimpleCachePool {
14
15   private static SimpleCachePool _instance;
16   private static int _SIZE = 100000;
17
18   private Map JavaDoc _scPool;
19
20    public static Object JavaDoc get(String JavaDoc id) {
21       return _getInstance()._get(id);
22    }
23
24    public static void put(String JavaDoc id, Object JavaDoc obj) {
25       _getInstance()._put(id, obj);
26    }
27
28    public static Object JavaDoc remove(String JavaDoc id) {
29       return _getInstance()._remove(id);
30    }
31
32    private static SimpleCachePool _getInstance() {
33       if (_instance == null) {
34          synchronized (SimpleCachePool.class) {
35             if (_instance == null) {
36                _instance = new SimpleCachePool();
37             }
38          }
39       }
40       return _instance;
41    }
42
43    private SimpleCachePool() {
44       _scPool = new ConcurrentHashMap JavaDoc(_SIZE);
45    }
46
47    private Object JavaDoc _get(String JavaDoc id) {
48       return (Object JavaDoc)_scPool.get(id);
49    }
50
51    private void _put(String JavaDoc id, Object JavaDoc ds) {
52       _scPool.put(id, ds);
53    }
54
55    private Object JavaDoc _remove(String JavaDoc id) {
56       return _scPool.remove(id);
57    }
58
59
60
61 }
62
Popular Tags