Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java @ 186:15c7638511dc
Added an interface for CollectionItems and renamed the CollectionItem class from the artifact-database package to DefaultCollectionItem - because this is the default implementation of the interface.
artifacts/trunk@1416 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 07 Mar 2011 15:13:36 +0000 |
parents | 33271242e303 |
children | 2a9591f76270 |
line wrap: on
line source
/* * Copyright (c) 2011 by Intevation GmbH * * This program is free software under the LGPL (>=v2.1) * Read the file LGPL.txt coming with the software for details * or visit http://www.gnu.org/licenses/ if it does not exist. */ package de.intevation.artifactdatabase.state; import java.io.Serializable; import java.util.Map; import org.w3c.dom.Document; import org.w3c.dom.Node; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.data.StateData; /** * This interface describes the basic methods a concrete state class needs to * implement. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public interface State extends Serializable { /** * Return the id of the state. * * @return the id. */ public String getID(); /** * Return the description of the state. * * @return the description of the state. */ public String getDescription(); /** * Returns the data provided by this state. * * @return the data stored in this state. */ public Map<String, StateData> getData(); /** * This method should be used to add a new {@link StateData} object to the * data pool of the state. * * @param name The name of the data object. * @param data The data object. */ public void addData(String name, StateData data); /** * Initialize the state based on the state node in the configuration. * * @param config The state configuration node. */ public void setup(Node config); /** * This method is called when an artifacts retrieves a describe request. It * creates the user interface description of the current state. * * @param document Describe doucment. * @param rootNode Parent node for all new elements. * @param context The CallContext. * @param uuid The uuid of an artifact. */ public void describe( Document document, Node rootNode, CallContext context, String uuid ); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :