# HG changeset patch # User Ingo Weinzierl # Date 1297100116 0 # Node ID 33271242e3039109a773d43d987ebab55473d710 # Parent ab646e0f5569aaf7ad099b6f2879fca22de5d8f4 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 diff -r ab646e0f5569 -r 33271242e303 ChangeLog --- 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 + + * 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 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java: diff -r ab646e0f5569 -r 33271242e303 artifact-database/src/main/java/de/intevation/artifactdatabase/data/DefaultStateData.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 Ingo Weinzierl + */ +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 : diff -r ab646e0f5569 -r 33271242e303 artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java --- 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 : diff -r ab646e0f5569 -r 33271242e303 artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java --- 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.