java/cewolf-1.0/src/main/java/de/laures/cewolf/taglib/util/DatasetProductionTimeStore.java
1 /* ================================================================
2 * Cewolf : Chart enabling Web Objects Framework
3 * ================================================================
5 * Project Info: http://cewolf.sourceforge.net
6 * Project Lead: Guido Laures (guido@laures.de);
8 * (C) Copyright 2002, by Guido Laures
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.
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.
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.
23 package de.laures.cewolf.taglib.util;
25 import java.util.Date;
26 import java.util.Hashtable;
27 import java.util.Iterator;
30 import org.apache.commons.logging.Log;
31 import org.apache.commons.logging.LogFactory;
36 public class DatasetProductionTimeStore extends Hashtable {
38 private static final DatasetProductionTimeStore instance = new DatasetProductionTimeStore();
39 private static final Log log = LogFactory.getLog(DatasetProductionTimeStore.class);
40 public static final DatasetProductionTimeStore getInstance() {
44 private DatasetProductionTimeStore() {
47 public boolean containsEntry(String producerId, Map params) {
48 return containsKey(new DatasetProductionTimesKey(producerId, params));
51 public void addEntry(String producerId, Map params, Date produceTime) {
52 log.debug("add entry: " + producerId);
53 put(new DatasetProductionTimesKey(producerId, params), produceTime);
56 public void removeEntry(String producerId, Map params) {
57 log.debug("remove entry: " + producerId);
59 remove(new DatasetProductionTimesKey(producerId, params));
62 public Date getProductionTime(String producerId, Map params) {
63 return (Date) get(new DatasetProductionTimesKey(producerId, params));
66 public String paramsToString(Map params){
67 Iterator it = params.keySet().iterator();
68 StringBuffer buf = new StringBuffer("[");
70 String key = (String)it.next();
71 buf.append(key + ":" + params.get(key));
74 return buf.toString();