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.

http://dive4elements.wald.intevation.org