Mercurial > hg > digilib-old
view servlet/src/digilib/util/ParameterMap.java @ 611:1b6202aba26e jquery
work on button creation
(reinstated jquery-test)
author | robcast |
---|---|
date | Fri, 14 Jan 2011 15:21:15 +0100 |
parents | 0885f5ca5b24 |
children |
line wrap: on
line source
/* ParameterMap.java -- HashMap of Parameters. Digital Image Library servlet components Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please read license.txt for the full details. A copy of the GPL may be found at http://www.gnu.org/copyleft/lgpl.html You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Created on 02.09.2003 by casties * */ package digilib.util; import java.util.HashMap; /** HashMap of digilib.servlet.Parameter's. * * Keys are Strings. Values are Parameters. * * @author casties * */ public class ParameterMap { protected HashMap<String, Parameter> params; protected OptionsSet options; /** Default constructor. * */ public ParameterMap() { params = new HashMap<String, Parameter>(); options = new OptionsSet(); initParams(); } /** Constructor with initial size. * @param size */ public ParameterMap(int size) { params = new HashMap<String, Parameter>(size); options = new OptionsSet(); initParams(); } /** Shallow copy constructor. * Be warned that the maps are only cloned i.e. keys and values are shared! * @param pm */ @SuppressWarnings("unchecked") public static ParameterMap cloneInstance(ParameterMap pm) { ParameterMap newPm = new ParameterMap(); // clone params to this map newPm.params = (HashMap<String, Parameter>) pm.params.clone(); newPm.options = (OptionsSet) pm.options.clone(); return newPm; } /** Creates new ParameterMap by merging Parameters from another ParameterMap. * @param pm * @return */ public static ParameterMap getInstance(ParameterMap pm) { ParameterMap newPm = new ParameterMap(); // add all params to this map newPm.params.putAll(pm.params); newPm.initOptions(); return newPm; } /** set up parameters * */ protected void initParams() { // no default parameters } /** set up options * */ protected void initOptions() { // no default options } /** Get the Parameter with the corresponding key. * * Returns null if no element is associated with key. * * @param key * @return */ public Parameter get(String key) { return params.get(key); } /** Get the Parameter with the corresponding key. * * Returns null if no element is associated with key. * * @param key * @return */ public Object getValue(String key) { Parameter p = params.get(key); return (p != null) ? p.getValue() : null; } /** Get the Parameter with the corresponding key. * * Returns null if no element is associated with key. * * @param key * @return */ public String getAsString(String key) { Parameter p = params.get(key); return (p != null) ? p.getAsString() : ""; } /** Get the Parameter with the corresponding key. * * Returns null if no element is associated with key. * * @param key * @return */ public int getAsInt(String key) { Parameter p = params.get(key); return (p != null) ? p.getAsInt() : 0; } /** Get the Parameter with the corresponding key. * * Returns null if no element is associated with key. * * @param key * @return */ public float getAsFloat(String key) { Parameter p = params.get(key); return (p != null) ? p.getAsFloat() : 0f; } /** Get the Parameter with the corresponding key. * * Returns null if no element is associated with key. * * @param key * @return */ public boolean getAsBoolean(String key) { Parameter p = params.get(key); return (p != null) ? p.getAsBoolean() : false; } /** Returns if the Parameter's value has been set. * * @param key * @return */ public boolean hasValue(String key) { Parameter p = params.get(key); return (p != null) ? p.hasValue() : false; } /** Add the Parameter to the map with a certain key. * * Returns the value that was previously associated with key. * * @param key * @param val * @return */ public Parameter put(String key, Parameter val) { return params.put(key, val); } /** Add the Parameter val to the map, using val's name. * * Returns the value that was previously associated with val's name. * * @param val * @return */ public Parameter put(Parameter val) { return params.put(val.getName(), val); } /** Add a new Parameter with name, default and value. * * Returns the key that was previously associated with name. * * @param name * @param def * @param val * @return */ public Parameter newParameter(String name, Object def, Object val) { Parameter p = new Parameter(name, def, val); return params.put(name, p); } /** Add a new Parameter with name, default, value and type. * * Returns the key that was previously associated with name. * * @param name * @param def * @param val * @param type * @return */ public Parameter newParameter(String name, Object def, Object val, int type) { Parameter p = new Parameter(name, def, val, type); return params.put(name, p); } /** Set the value of an existing parameter. * * Sets the value and returns true if the parameter exists. * * @param key * @param val * @return */ public boolean setValue(String key, Object val) { Parameter p = params.get(key); if (p != null) { p.setValue(val); return true; } return false; } /** Set the value of an existing parameter. * * Sets the value and returns true if the parameter exists. * * @param key * @param val * @return */ public boolean setValue(String key, int val) { Parameter p = params.get(key); if (p != null) { p.setValue(val); return true; } return false; } /** Set the value of an existing parameter. * * Sets the value and returns true if the parameter exists. * * @param key * @param val * @return */ public boolean setValue(String key, float val) { Parameter p = params.get(key); if (p != null) { p.setValue(val); return true; } return false; } /** Set the value of an existing parameter. * * Sets the value and returns true if the parameter exists. * * @param key * @param val * @return */ public boolean setValueFromString(String key, String val) { Parameter p = params.get(key); if (p != null) { p.setValueFromString(val); return true; } return false; } /** Returns of the option has been set. * @param opt * @return */ public boolean hasOption(String opt) { return options.hasOption(opt); } public HashMap<String, Parameter> getParams() { return params; } public void setParams(HashMap<String, Parameter> params) { this.params = params; } public OptionsSet getOptions() { return options; } public void setOptions(OptionsSet options) { this.options = options; } }