view gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputData.java @ 786:c907636c0288

Added a method to ExtendedInputData to retrieve the parameter ids as array (analog to splitValue() in DefaultInputData). gnv-artifacts/trunk@868 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 30 Mar 2010 14:16:07 +0000
parents e764cab8c885
children a5526908f92f
line wrap: on
line source
package de.intevation.gnv.state;

import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;

/**
 * @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);

    public final static String VALUE_SEPARATOR = " , ";

    protected String name;
    protected String value;
    protected Map    description;
    protected Object object;


    /**
     * Constructor
     */
    public DefaultInputData(String name, String value) {
        this.name = name;
        this.value = value;
    }

    public DefaultInputData(String name, Object object) {
        this.name   = name;
        this.object = object;
    }

    public DefaultInputData(
        String name,
        String value,
        Object object)
    {
        this.name        = name;
        this.object      = object;
        this.value       = value;
    }

    /**
     * @see de.intevation.gnv.state.InputData#getName()
     */
    public String getName() {
        return this.name;
    }

    /**
     * @see de.intevation.gnv.state.InputData#getValue()
     */
    public String getValue() {
        return this.value;
    }

    public void setObject(Object object) {
        this.object = object;
    }

    public Object getObject() {
        return object;
    }

    public String getDescription(String key) {
        if (description == null)
            return null;

        return (String) description.get(key);
    }

    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;
    }

    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;
            }
        }
    }

    /**
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return this.name + "==> " + this.value;
    }

    /**
     * @see de.intevation.gnv.state.InputData#concartValue(java.lang.String)
     */
    public void concartValue(String value) {
        this.value = this.value + VALUE_SEPARATOR + value;
    }

    /**
     * @see de.intevation.gnv.state.InputData#splitValue()
     */
    public String[] splitValue() {
        if (this.value != null){
            return this.value.split(VALUE_SEPARATOR);
        }
        return null;
    }

}

http://dive4elements.wald.intevation.org