01: /* ================================================================
02: * Cewolf : Chart enabling Web Objects Framework
03: * ================================================================
04: *
05: * Project Info: http://cewolf.sourceforge.net
06: * Project Lead: Guido Laures (guido@laures.de);
07: *
08: * (C) Copyright 2002, by Guido Laures
09: *
10: * This library is free software; you can redistribute it and/or modify it under the terms
11: * of the GNU Lesser General Public License as published by the Free Software Foundation;
12: * either version 2.1 of the License, or (at your option) any later version.
13: *
14: * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16: * See the GNU Lesser General Public License for more details.
17: *
18: * You should have received a copy of the GNU Lesser General Public License along with this
19: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20: * Boston, MA 02111-1307, USA.
21: */
22:
23: package de.laures.cewolf.taglib.util;
24:
25: import java.util.Date;
26: import java.util.Hashtable;
27: import java.util.Iterator;
28: import java.util.Map;
29:
30: import org.apache.commons.logging.Log;
31: import org.apache.commons.logging.LogFactory;
32:
33: /**
34: * @author glaures
35: */
36: public class DatasetProductionTimeStore extends Hashtable {
37:
38: private static final DatasetProductionTimeStore instance = new DatasetProductionTimeStore();
39: private static final Log log = LogFactory
40: .getLog(DatasetProductionTimeStore.class);
41:
42: public static final DatasetProductionTimeStore getInstance() {
43: return instance;
44: }
45:
46: private DatasetProductionTimeStore() {
47: }
48:
49: public boolean containsEntry(String producerId, Map params) {
50: return containsKey(new DatasetProductionTimesKey(producerId,
51: params));
52: }
53:
54: public void addEntry(String producerId, Map params, Date produceTime) {
55: log.debug("add entry: " + producerId);
56: put(new DatasetProductionTimesKey(producerId, params),
57: produceTime);
58: }
59:
60: public void removeEntry(String producerId, Map params) {
61: log.debug("remove entry: " + producerId);
62:
63: remove(new DatasetProductionTimesKey(producerId, params));
64: }
65:
66: public Date getProductionTime(String producerId, Map params) {
67: return (Date) get(new DatasetProductionTimesKey(producerId,
68: params));
69: }
70:
71: public String paramsToString(Map params) {
72: Iterator it = params.keySet().iterator();
73: StringBuffer buf = new StringBuffer("[");
74: while (it.hasNext()) {
75: String key = (String) it.next();
76: buf.append(key + ":" + params.get(key));
77: }
78: buf.append("]");
79: return buf.toString();
80: }
81:
82: }
|