view flys-client/src/main/java/de/intevation/flys/client/shared/model/PropertySetting.java @ 1507:c21d14e48040

Improved validation and property handling. flys-client/trunk@3645 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 11 Jan 2012 10:21:22 +0000
parents 3304608baf35
children 62332fa199bf
line wrap: on
line source
package de.intevation.flys.client.shared.model;

import java.util.HashMap;
import java.util.ArrayList;

/**
 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
 */
public class PropertySetting implements Property, Cloneable {

    /**The settings name.*/
    protected String name;

    /** The default value.*/
    protected String value;

    /** Additional attributes.*/
    protected HashMap<String, String> attributes;

    /**
     * Create a new StyleSetting for theme attribution.
     */
    public PropertySetting() {
        this.attributes = new HashMap<String, String>();
    }


    /**
     * Create a new PropertySet.
     * @param name The attribute name.
     * @param value The current value.
     */
    public PropertySetting(
        String name,
        String value)
    {
        this.name = name;
        this.value = value;
        this.attributes = new HashMap<String, String>();
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public void setAttribute(String k, String v) {
        attributes.put(k, v);
    }

    public String getName() {
        return this.name;
    }

    public Object getValue() {
        return this.value;
    }

    public String getAttribute(String key) {
        return attributes.get(key);
    }

    public ArrayList<String> getAttributeList() {
        return new ArrayList<String>(attributes.keySet());
    }


    public Object clone() {
        PropertySetting clone = new PropertySetting(this.getName(),
                                                    this.getValue().toString());
        for(String s: this.getAttributeList()) {
            clone.setAttribute(s, this.getAttribute(s));
        }
        return clone;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org