Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java @ 168:f70977cf2faf
Avoid Nullpointer exception in listCollections() when no creation time of the collection is returned.
artifacts/trunk@1393 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 04 Mar 2011 09:13:18 +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 :