Mercurial > dive4elements > framework
changeset 110:33271242e303
Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
artifacts/trunk@1301 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 07 Feb 2011 17:35:16 +0000 |
parents | ab646e0f5569 |
children | 901f384ddad9 |
files | ChangeLog artifact-database/src/main/java/de/intevation/artifactdatabase/data/DefaultStateData.java artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java |
diffstat | 4 files changed, 123 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Feb 07 11:24:07 2011 +0000 +++ b/ChangeLog Mon Feb 07 17:35:16 2011 +0000 @@ -1,3 +1,15 @@ +2011-02-07 Ingo Weinzierl <ingo@intevation.de> + + * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java: + Added a method to add new StateData objects to the State. + + * artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java: + Added a new method to the StateData interface to set the value of the + object. + + * artifact-database/src/main/java/de/intevation/artifactdatabase/data/DefaultStateData.java: + New. A default implementation of the StateData. + 2011-02-07 Ingo Weinzierl <ingo@intevation.de> * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/data/DefaultStateData.java Mon Feb 07 17:35:16 2011 +0000 @@ -0,0 +1,93 @@ +/* + * 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.data; + + +/** + * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> + */ +public class DefaultStateData implements StateData { + + /** The name of the data. */ + protected String name; + + /** The description of the data. */ + protected String description; + + /** The type of the data. */ + protected String type; + + /** The value. */ + protected Object value; + + + /** + * The default constructor. It creates empty StateData objects with no + * value. + * + * @param name The name. + * @param description The description. + * @param type The type. + */ + public DefaultStateData(String name, String description, String type) { + this.name = name; + this.description = description; + this.type = type; + } + + + /** + * Returns the name of the data object. + * + * @return the name. + */ + public String getName() { + return name; + } + + + /** + * Returns the description of the data object. + * + * @return the description of the data object. + */ + public String getDescription() { + return description; + } + + + /** + * Returns the type of the data object as string. + * + * @return the type as string. + */ + public String getType() { + return type; + } + + + /** + * Returns the value of the data object. + * + * @return the value. + */ + public Object getValue() { + return value; + } + + + /** + * Set the value of this data object. + * + * @param value The new value for this data object. + */ + public void setValue(Object value) { + this.value = value; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java Mon Feb 07 11:24:07 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java Mon Feb 07 17:35:16 2011 +0000 @@ -45,5 +45,13 @@ * @return the value. */ public Object getValue(); + + + /** + * Set the value of this data object. + * + * @param value The new value for this data object. + */ + public void setValue(Object value); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java Mon Feb 07 11:24:07 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java Mon Feb 07 17:35:16 2011 +0000 @@ -51,6 +51,16 @@ /** + * 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.