Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputData.java @ 799:feeaf5aec552
ISSUE213: Wrong Geometrytype used for the generation of an Layer with Multipolygon-Geometries
gnv-artifacts/trunk@881 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Tue, 06 Apr 2010 11:56:53 +0000 |
parents | a5526908f92f |
children | feae2f9d6c6f |
line wrap: on
line source
package de.intevation.gnv.state; import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; /** * The default implementation of <code>InputData</code>. This object stores * multiple values separated by {@link #VALUE_SEPARATOR} for a specific key. * * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class DefaultInputData implements InputData { /** * */ private static final long serialVersionUID = 4308041648698108066L; private static final Logger logger = Logger.getLogger(DefaultInputData.class); /** * The character used to separate the different values. */ public final static String VALUE_SEPARATOR = " , "; /** * The key/name of this object. */ protected String name; /** * Values separated by {@link #VALUE_SEPARATOR}. */ protected String value; /** * Descriptions for values used for user interface creation. Each value * should have an own description in this map. */ protected Map description; /** * An extra object. Might be everything. */ protected Object object; /** * Constructor * @param name * @param value */ public DefaultInputData(String name, String value) { this.name = name; this.value = value; } /** * * @param name * @param object */ public DefaultInputData(String name, Object object) { this.name = name; this.object = object; } /** * * @param name * @param value * @param object */ public DefaultInputData( String name, String value, Object object) { this.name = name; this.object = object; this.value = value; } /** * @return */ public String getName() { return this.name; } /** * @return */ public String getValue() { return this.value; } /** * * @param object */ public void setObject(Object object) { this.object = object; } /** * * @return */ public Object getObject() { return object; } /** * * @param key Key needs to be a single value of {@link #value}. * @return the description. */ public String getDescription(String key) { if (description == null) return null; return (String) description.get(key); } /** * Return all descriptions as array. * * @return descriptions as array. */ public String[] getDescription() { String[] values = splitValue(); int length = values.length; String[] description = new String[length]; for (int i = 0; i < length; i++) { description[i] = (String) this.description.get(values[i]); } return description; } /** * * @param description */ public void setDescription(String[] description) { if (this.description == null) this.description = new HashMap(); String[] values = splitValue(); int length = values.length; int descLength = description.length; for (int i = 0; i < length; i++) { if (i < descLength) { this.description.put(values[i], description[i]); } else { break; } } } /** * @return */ @Override public String toString() { return this.name + "==> " + this.value; } /** * @param value */ public void concartValue(String value) { this.value = this.value + VALUE_SEPARATOR + value; } /** * @return */ public String[] splitValue() { if (this.value != null){ return this.value.split(VALUE_SEPARATOR); } return null; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :