view flys-artifacts/src/main/java/de/intevation/flys/themes/Theme.java @ 5645:696d710470f5

flys/issue1077: Show loads as step line, therefore transform data in SedimentLoadFacet to stretch as in the measurement stations bounds. Deal with this new kind of data in the Generator.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 10 Apr 2013 09:35:07 +0200
parents 6566c7868456
children
line wrap: on
line source
package de.intevation.flys.themes;

import org.w3c.dom.Document;
import org.w3c.dom.Node;


/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public interface Theme {

    /**
     * Method to initialize the theme.
     *
     * @param config The configuration node.
     */
    void init(Node config);


    /**
     * Returns the name of the theme.
     *
     * @return the name of the theme.
     */
    String getName();


    /**
     * Returns the description of the theme.
     *
     * @return the description of the theme.
     */
    String getDescription();


    String getFacet();

    void setFacet(String facet);

    int getIndex();

    void setIndex(int index);


    /**
     * Adds a new attribute.
     *
     * @param name The name of the attribute.
     * @param value The value of the attribute.
     */
    void addAttribute(String name, String value);


    /**
     * Returns the value of a specific attribute.
     *
     * @param name the name of the attribute.
     *
     * @return the value of the attribute <i>name</i>.
     */
    String getAttribute(String name);


    /**
     * Adds a new field to the theme.
     *
     * @param name The name of the field.
     * @param field The field.
     */
    void addField(String name, ThemeField field);


    /**
     * Sets the value of an field.
     *
     * @param name The name of the field.
     * @param value The new value of the field.
     */
    void setFieldValue(String name, Object value);


    /**
     * Returns the field specified by name.
     *
     * @param name The name of the desired field.
     *
     * @return an field.
     */
    ThemeField getField(String name);


    /**
     * Returns the typename of a field.
     *
     * @param name the name of the field.
     *
     * @return the typename of a field.
     */
    String getFieldType(String name);


    /**
     * Returns the value of a field.
     *
     * @param name The name of the field.
     *
     * @return the value of a field.
     */
    Object getFieldValue(String name);


    /**
     * Dumps the theme to XML.
     *
     * @return a document.
     */
    Document toXML();
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org