changeset 796:a5526908f92f

Added javadoc in state package. gnv-artifacts/trunk@878 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 01 Apr 2010 09:15:36 +0000
parents cdade5005cba
children 9d2891068ba5
files gnv-artifacts/src/main/java/de/intevation/gnv/layer/LayerArtifact.java gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileInstantaneousPointArtifact.java gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileMeshArtifact.java gnv-artifacts/src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java gnv-artifacts/src/main/java/de/intevation/gnv/state/AutoResumeState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultExportMode.java gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputData.java gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputValue.java gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultOutputMode.java gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/ExportMode.java gnv-artifacts/src/main/java/de/intevation/gnv/state/ExtendedInputData.java gnv-artifacts/src/main/java/de/intevation/gnv/state/InputData.java gnv-artifacts/src/main/java/de/intevation/gnv/state/InputValue.java gnv-artifacts/src/main/java/de/intevation/gnv/state/MeasurementState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxDateState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputMode.java gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputStateBase.java gnv-artifacts/src/main/java/de/intevation/gnv/state/PreSettingsTransferCoordinateSelectionState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/PreSettingsTransferState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/SingleInputState.java gnv-artifacts/src/main/java/de/intevation/gnv/state/State.java gnv-artifacts/src/main/java/de/intevation/gnv/state/StateBase.java gnv-artifacts/src/main/java/de/intevation/gnv/state/StateFactory.java
diffstat 30 files changed, 1087 insertions(+), 105 deletions(-) [+]
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/layer/LayerArtifact.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/layer/LayerArtifact.java	Thu Apr 01 09:15:36 2010 +0000
@@ -34,9 +34,11 @@
 
 
     /**
-     * @see de.intevation.gnv.artifacts.GNVArtifactBase#setup(java.lang.String,
-     *      de.intevation.artifacts.ArtifactFactory, java.lang.Object
-     *      org.w3c.dom.Document)
+     * 
+     * @param identifier
+     * @param factory
+     * @param context
+     * @param data
      */
     @Override
     public void setup(String identifier, ArtifactFactory factory,
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java	Thu Apr 01 09:15:36 2010 +0000
@@ -47,6 +47,12 @@
     }
 
 
+    /**
+     * This method is called just before an artifact is exported. It removes all
+     * data which should not serialized into an export.
+     * 
+     * @param context CallContext object.
+     */
     @Override
     public void cleanup(Object context) {
         if (current != null)
@@ -55,3 +61,4 @@
         super.cleanup(context);
     }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java	Thu Apr 01 09:15:36 2010 +0000
@@ -45,3 +45,4 @@
         super.setup(identifier, factory, context, data);
     }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileInstantaneousPointArtifact.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileInstantaneousPointArtifact.java	Thu Apr 01 09:15:36 2010 +0000
@@ -28,3 +28,4 @@
         super.name = super.name + "InstantaneousPoint";
     }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileMeshArtifact.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileMeshArtifact.java	Thu Apr 01 09:15:36 2010 +0000
@@ -27,3 +27,4 @@
         super.name = super.name + "Mesh";
     }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java	Thu Apr 01 09:15:36 2010 +0000
@@ -46,3 +46,4 @@
         super.setup(identifier, factory, context, data);
     }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/AutoResumeState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/AutoResumeState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -2,12 +2,13 @@
 
 /**
  *
- * Markerinterface for States which should be used for
- * automatically Resume and jump to the next State using
- * the Conditions of the Transitions which are linked to it.
+ * Markerinterface for states which should be used for
+ * automatically resume and jump to the next <code>State</code> using
+ * the conditions of the transitions which are linked to it.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- *
  */
 public interface AutoResumeState extends State{
 
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -30,6 +30,9 @@
 import org.w3c.dom.NodeList;
 
 /**
+ * This state handles coordinate input by the user. It searches database results
+ * for coordinates and turns them into a human readable form.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  *
  */
@@ -80,7 +83,8 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.StateBase#prepareInputData4RegionDBQuery(java.lang.String)
+     * @param value
+     * @return
      */
     @Override
     protected String prepareInputData4RegionDBQuery(String value) {
@@ -88,7 +92,8 @@
         double distance=0.;
         String returnValue = null;
         try {
-            Point center = new InputValidator().getPointValue(value);
+            @SuppressWarnings("static-access")
+            Point center = InputValidator.getPointValue(value);
             String meshId = super.inputData.get("meshid").getValue();
             int segments = 97;
             if (meshWidths != null){
@@ -113,7 +118,8 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.StateBase#extractKVP(java.util.Collection, java.lang.String, java.lang.String)
+     * @param valueid
+     * @param keyid
      */
     @Override
     protected NamedCollection<KeyValueDescibeData> extractKVP(
@@ -129,7 +135,8 @@
             Result resultValue = rit.next();
             String key = resultValue.getString(keyid);
             if(prevKey == null || !prevKey.equals(key)){ // TODO: FIXME: We have to do that because the arcsde does not support a distinct Query on Layers
-                String geomString = this.convert2DisplayCoordinate(resultValue.getString(valueid));
+                @SuppressWarnings("static-access")
+                String geomString = CoordinateSelectionState.convert2DisplayCoordinate(resultValue.getString(valueid));
                 String value = geomString;
                 if (resultValue.getResultDescriptor().getColumnIndex("VALUE") > 0){
                     value = resultValue.getString("VALUE") + " - "+value;
@@ -143,12 +150,18 @@
         return keyValueDescibeData;
     }
 
+    /**
+     * Turn coordinate into a human readable format.
+     *
+     * @param wkt Coordinate as wkt string.
+     * @return formatted coordinate.
+     */
     protected static String convert2DisplayCoordinate(String wkt){
         return WKTUtils.toText(wkt);
     }
 
     /**
-     * @see de.intevation.gnv.state.StateBase#setup(org.w3c.dom.Node)
+     * @param configuration
      */
     @Override
     public void setup(Node configuration) {
@@ -174,3 +187,4 @@
         }
     }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -8,13 +8,12 @@
 
 
 /**
+ * Default implementation of <code>AutoResumeState</code>.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- *
  */
-public class DefaultAutoResumeState extends StateBase implements AutoResumeState  {
-
-
-
+public class DefaultAutoResumeState extends StateBase implements AutoResumeState
+{
     /**
      * The UID of this Class.
      */
@@ -27,18 +26,28 @@
         super();
     }
 
+    
     /**
-     * @see de.intevation.gnv.state.StateBase#purifyResult(java.util.Collection, java.lang.String)
+     * 
+     * @param result
+     * @param uuid
+     * @return
      */
     @Override
     protected List<Object> purifyResult(Collection<Result> result, String uuid) {
         return new ArrayList<Object>(0);
     }
 
+
+    /**
+     * 
+     * @param data
+     * @param uuid
+     * @return
+     */
     @Override
     protected String[] getDescriptionForInputData(InputData data, String uuid) {
         return new String[0];
     }
-
-
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultExportMode.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultExportMode.java	Thu Apr 01 09:15:36 2010 +0000
@@ -1,31 +1,63 @@
 package de.intevation.gnv.state;
 
 /**
+ * This is the default implementation of <code>ExportMode</code>.
+ * 
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class DefaultExportMode
 implements   ExportMode
 {
+    /**
+     * The name of the export (e.g. pdf, svg, image).
+     */
     protected String name;
+
+    /**
+     * A description for this export.
+     */
     protected String description;
+
+    /**
+     * The mimetype used to do execute this export.
+     */
     protected String mimeType;
 
+    /**
+     * Constructor.
+     *
+     * @param name
+     * @param description
+     * @param mimeType
+     */
     public DefaultExportMode(String name, String description, String mimeType){
         this.name        = name;
         this.description = description;
         this.mimeType    = mimeType;
     }
 
+    /**
+     *
+     * @return
+     */
     public String getName() {
         return name;
     }
 
+    /**
+     *
+     * @return
+     */
     public String getDescription() {
         return description;
     }
 
+    /**
+     *
+     * @return
+     */
     public String getMimeType() {
         return mimeType;
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputData.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputData.java	Thu Apr 01 09:15:36 2010 +0000
@@ -6,6 +6,9 @@
 import org.apache.log4j.Logger;
 
 /**
+ * The default implementation of <code>InputData</code>. This object stores
+ * multiple values separated by {@link #VALUE_SEPARATOR} for a specific key.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
@@ -18,27 +21,59 @@
 
     private static final Logger logger = Logger.getLogger(DefaultInputData.class);
 
+    /**
+     * The character used to separate the different values.
+     */
     public final static String VALUE_SEPARATOR = " , ";
 
+    /**
+     * The key/name of this object.
+     */
     protected String name;
+
+    /**
+     * Values separated by {@link #VALUE_SEPARATOR}.
+     */
     protected String value;
+
+    /**
+     * Descriptions for values used for user interface creation. Each value
+     * should have an own description in this map.
+     */
     protected Map    description;
+    
+    /**
+     * An extra object. Might be everything.
+     */
     protected Object object;
 
 
     /**
      * Constructor
+     * @param name
+     * @param value
      */
     public DefaultInputData(String name, String value) {
         this.name = name;
         this.value = value;
     }
 
+    /**
+     *
+     * @param name
+     * @param object
+     */
     public DefaultInputData(String name, Object object) {
         this.name   = name;
         this.object = object;
     }
 
+    /**
+     *
+     * @param name
+     * @param value
+     * @param object
+     */
     public DefaultInputData(
         String name,
         String value,
@@ -50,27 +85,40 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.InputData#getName()
+     * @return
      */
     public String getName() {
         return this.name;
     }
 
     /**
-     * @see de.intevation.gnv.state.InputData#getValue()
+     * @return
      */
     public String getValue() {
         return this.value;
     }
 
+    /**
+     *
+     * @param object
+     */
     public void setObject(Object object) {
         this.object = object;
     }
 
+    /**
+     *
+     * @return
+     */
     public Object getObject() {
         return object;
     }
 
+    /**
+     *
+     * @param key Key needs to be a single value of {@link #value}.
+     * @return the description.
+     */
     public String getDescription(String key) {
         if (description == null)
             return null;
@@ -78,6 +126,11 @@
         return (String) description.get(key);
     }
 
+    /**
+     * Return all descriptions as array.
+     * 
+     * @return descriptions as array.
+     */
     public String[] getDescription() {
         String[] values      = splitValue();
         int length           = values.length;
@@ -90,6 +143,10 @@
         return description;
     }
 
+    /**
+     *
+     * @param description
+     */
     public void setDescription(String[] description) {
         if (this.description == null)
             this.description = new HashMap();
@@ -110,7 +167,7 @@
     }
 
     /**
-     * @see java.lang.Object#toString()
+     * @return
      */
     @Override
     public String toString() {
@@ -118,14 +175,14 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.InputData#concartValue(java.lang.String)
+     * @param value
      */
     public void concartValue(String value) {
         this.value = this.value + VALUE_SEPARATOR + value;
     }
 
     /**
-     * @see de.intevation.gnv.state.InputData#splitValue()
+     * @return
      */
     public String[] splitValue() {
         if (this.value != null){
@@ -135,3 +192,4 @@
     }
 
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputValue.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultInputValue.java	Thu Apr 01 09:15:36 2010 +0000
@@ -1,8 +1,10 @@
 package de.intevation.gnv.state;
 
 /**
+ * The default implementation of <code>InputValue</code>. InputValue objects are
+ * used to store meta information about <code>InputData</code> objects.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- *
  */
 public class DefaultInputValue implements InputValue {
 
@@ -16,6 +18,13 @@
     private int usedInQueries = 1;
     private String defaultValue = "N/N";
 
+    /**
+     *
+     * @param name
+     * @param type
+     * @param defaultValue
+     * @param multiselect
+     */
     public DefaultInputValue(String name, String type, String defaultValue,
                              boolean multiselect) {
         this(name, type, multiselect, 1);
@@ -25,6 +34,10 @@
 
     /**
      * Constructor
+     * @param name
+     * @param type
+     * @param multiselect
+     * @param usedInQueries
      */
     public DefaultInputValue(String name, String type, boolean multiselect,
                              int usedInQueries) {
@@ -35,21 +48,23 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.InputValue#getName()
+     * @return
      */
     public String getName() {
         return this.name;
     }
 
     /**
-     * @see de.intevation.gnv.state.InputValue#getType()
+     * @return
      */
     public String getType() {
         return this.type;
     }
 
     /**
-     * @see java.lang.Object#toString()
+     * Returns the information as string.
+     * 
+     * @return information as string.
      */
     @Override
     public String toString() {
@@ -58,18 +73,27 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.InputValue#isMultiselect()
+     * @return
      */
     public boolean isMultiselect() {
         return this.multiselect;
     }
 
+    /**
+     *
+     * @return
+     */
     public int usedInQueries() {
         return this.usedInQueries;
     }
 
+    /**
+     *
+     * @return
+     */
     public String getDefaultValue() {
         return this.defaultValue;
     }
 
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultOutputMode.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultOutputMode.java	Thu Apr 01 09:15:36 2010 +0000
@@ -4,6 +4,8 @@
 import java.util.List;
 
 /**
+ * The default implementation of <code>OutputMode</code>.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
@@ -22,9 +24,11 @@
     /**
      * Constructor
      *
-     * @param name
-     * @param description
-     * @param mimeType
+     * @param name The name of the output mode.
+     * @param description The description of this output mode.
+     * @param mimeType The mime type used by this output mode.
+     * @param inputParameters The input parameters required by this output mode.
+     * @param exportModes The export modes for this output mode.
      */
     public DefaultOutputMode(
         String name,
@@ -42,28 +46,28 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.OutputMode#getDescription()
+     * @return the description.
      */
     public String getDescription() {
         return this.description;
     }
 
     /**
-     * @see de.intevation.gnv.state.OutputMode#getMimeType()
+     * @return the mime type.
      */
     public String getMimeType() {
         return this.mimeType;
     }
 
     /**
-     * @see de.intevation.gnv.state.OutputMode#getName()
+     * @return the name.
      */
     public String getName() {
         return this.name;
     }
 
     /**
-     * @see java.lang.Object#toString()
+     * @return this output mode as string.
      */
     @Override
     public String toString() {
@@ -72,15 +76,19 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.OutputMode#getInputParameters()
+     * @return the input parameters.
      */
     public Collection<InputValue> getInputParameters() {
         return this.inputParameters;
     }
 
+    /**
+     *
+     * @return the export modes.
+     */
     public List<ExportMode> getExportModes() {
         return exportModes;
     }
 
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/DefaultState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -1,6 +1,8 @@
 package de.intevation.gnv.state;
 
 /**
+ * This is the default implementation of <code>StateBase</code>.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  *
  */
@@ -18,3 +20,4 @@
     }
 
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/ExportMode.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/ExportMode.java	Thu Apr 01 09:15:36 2010 +0000
@@ -3,13 +3,32 @@
 import java.io.Serializable;
 
 /**
+ * This interface defines basic methods which are necessary for exports.
+ *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public interface ExportMode
 extends          Serializable
 {
+    /**
+     * Return the export name (e.g. pdf, svg, image).
+     *
+     * @return the export name.
+     */
     public String getName();
+
+    /**
+     * Return the description for this export.
+     *
+     * @return the export description.
+     */
     public String getDescription();
+
+    /**
+     * Returns the mime type used by this export.
+     *
+     * @return export's mimetype.
+     */
     public String getMimeType();
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/ExtendedInputData.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/ExtendedInputData.java	Thu Apr 01 09:15:36 2010 +0000
@@ -1,14 +1,32 @@
 package de.intevation.gnv.state;
 
 /**
+ * This class is used to save the relation between two attributes. Mainly used
+ * to save the relation between a measurement and the parameter it belongs to.
+ * 
+ * @see MeasurementState
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class ExtendedInputData extends DefaultInputData {
 
+    /**
+     * The separater used to separate measurement ids and parameter ids.
+     */
     public static final String SEPARATOR = ";";
 
+    /**
+     * The parameter this object belongs to.
+     */
     protected String parameterid;
 
+    /**
+     * Constructcor.
+     *
+     * @param name
+     * @param value
+     * @param object
+     * @param parameterid
+     */
     public ExtendedInputData(
         String name,
         String value,
@@ -19,14 +37,29 @@
         this.parameterid = parameterid;
     }
 
+    /**
+     * Return the parameter ids this object belongs to.
+     *
+     * @return the parameter id.
+     */
     public String getParameterID() {
         return parameterid;
     }
 
+    /**
+     * Set the parameter ids.
+     *
+     * @param parameterid Parameter ids.
+     */
     public void setParameter(String parameterid) {
         this.parameterid = parameterid;
     }
 
+    /**
+     * Return all parameter ids as array.
+     *
+     * @return Array of parameter ids.
+     */
     public String[] splitParameter() {
         if (parameterid != null)
             return parameterid.split(SEPARATOR);
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/InputData.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/InputData.java	Thu Apr 01 09:15:36 2010 +0000
@@ -3,26 +3,78 @@
 import java.io.Serializable;
 
 /**
+ * This interface defines the basic methods used to store multiple values with
+ * a specific key and name.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  *
  */
 public interface InputData extends Serializable {
 
+    /**
+     * Method to Retrieve the name of this input data item.
+     *
+     * @return the name
+     */
     public String getName();
 
+    /**
+     * Method to retrieve the value of this input data item. A value might be a
+     * list of values separated by a specific character.
+     *
+     * @return the value
+     */
     public String getValue();
 
+    /**
+     * Method to store a further object at this input data item.
+     *
+     * @param o A further object.
+     */
     public void setObject(Object o);
 
+    /**
+     * Method to retrieve the extra object.
+     *
+     * @return the extra object.
+     */
     public Object getObject();
 
+    /**
+     * Method to store descriptions for this input data item.
+     *
+     * @param description Array of descriptions.
+     */
     public void setDescription(String[] description);
 
+    /**
+     * Method to retrieve a description specified by a given key.
+     *
+     * @param key Key.
+     * @return the description for this key.
+     */
     public String getDescription(String key);
 
+    /**
+     * Method to retrieve all descriptions of this input data item.
+     *
+     * @return descriptions.
+     */
     public String[] getDescription();
 
+    /**
+     * Append a further string value to the value field devided by a separater
+     * character.
+     *
+     * @param value Value to append.
+     */
     public void concartValue(String value);
 
+    /**
+     * Method to retrieve the character separated values split into an array.
+     *
+     * @return
+     */
     String[] splitValue();
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/InputValue.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/InputValue.java	Thu Apr 01 09:15:36 2010 +0000
@@ -3,19 +3,48 @@
 import java.io.Serializable;
 
 /**
+ * This interface defines some basic methods to retrieve information about the
+ * type of an user input.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  *
  */
 public interface InputValue extends Serializable {
 
+    /**
+     * Retrieve the name of the inserted data.
+     *
+     * @return the input data name.
+     */
     public String getName();
 
+    /**
+     * Retrieve the type of the input.
+     *
+     * @return the input data type.
+     */
     public String getType();
 
+    /**
+     * Retrieve the default value used when no input is done.
+     *
+     * @return the input data default value.
+     */
     public String getDefaultValue();
 
+    /**
+     * Retrieve information about mutliselect fields.
+     *
+     * @return true, if the input data is a multiselect, otherwise false.
+     */
     public boolean isMultiselect();
 
+    /**
+     * Retrieve information about the occurance of this input in an sql
+     * statement.
+     *
+     * @return the number of times, this data is used in a sql query.
+     */
     public int usedInQueries();
-
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/MeasurementState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/MeasurementState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -34,6 +34,12 @@
 import org.w3c.dom.Node;
 
 /**
+ * This state handles input of measurements relating to a parameter. The user
+ * interface description created by this class represents a matrix - each
+ * parameter in a single row, each measurement in a column. An invalid
+ * measurement column for a specific parameter is marked as disabled and should
+ * not be selected.
+ * 
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class MeasurementState
@@ -41,11 +47,24 @@
 {
     private static Logger logger = Logger.getLogger(MeasurementState.class);
 
+    /**
+     *
+     */
     public static final String SQL_KEY_PARAMETERID = "PARAMETERID";
 
+    /**
+     *
+     */
     public static final String SEPARATOR = ";";
 
 
+    /**
+     * This class is used to generate the Matrix in <code>MinMaxDateState</code>.
+     * Parameter and Measurements are stored in separate lists and can be
+     * requested via different methods.
+     *
+     * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
+     */
     private class ParameterMatrix {
         private final Logger logger =
             Logger.getLogger(ParameterMatrix.class);
@@ -55,6 +74,12 @@
         private List parameters;
         private boolean[][] values;
 
+        /**
+         * Constructs a new matrix.
+         *
+         * @param data A collection containing the measurements.
+         * @param parameter An array of parameters.
+         */
         public ParameterMatrix(Collection data, String[] parameter) {
             measurements  = new ArrayList(data.size());
             mDescriptions = new ArrayList(data.size());
@@ -69,6 +94,11 @@
             initMeasurements(data);
         }
 
+        /**
+         * Initialize the measurements used in this matrix.
+         * 
+         * @param data The measurements.
+         */
         private void initMeasurements(Collection data) {
             Iterator iter = data.iterator();
             while (iter.hasNext()) {
@@ -103,12 +133,22 @@
             }
         }
 
+        /**
+         * Initialize the parameters used in this matrix.
+         * 
+         * @param parameter Parameters.
+         */
         private void initParameters(String[] parameter) {
             for (String param: parameter) {
                 parameters.add(param);
             }
         }
 
+        /**
+         * Returns the number of measurements.
+         * 
+         * @return the number of measurements.
+         */
         public int measurementSize() {
             if (measurements != null)
                 return measurements.size();
@@ -116,6 +156,11 @@
             return 0;
         }
 
+        /**
+         * Returns the number of parameters.
+         * 
+         * @return number of parameters.
+         */
         public int parameterSize() {
             if (parameters != null)
                 return parameters.size();
@@ -123,6 +168,12 @@
             return 0;
         }
 
+        /**
+         * Returns the measurement at idx.
+         * 
+         * @param idx Index.
+         * @return the measurement.
+         */
         public String getMeasurement(int idx) {
             if (idx >= 0 && idx < measurements.size())
                 return (String) measurements.get(idx);
@@ -131,6 +182,12 @@
             return "";
         }
 
+        /**
+         * Returns the parameter at idx.
+         * 
+         * @param idx Index
+         * @return the parameter.
+         */
         public String getParameter(int idx) {
             if (idx >= 0 && idx < parameters.size()) {
                 return (String) parameters.get(idx);
@@ -140,6 +197,12 @@
             return "";
         }
 
+        /**
+         * Returns a description text for a specific measurement.
+         *
+         * @param idx Index of a measurement.
+         * @return measurement's description.
+         */
         public String getMDescription(int idx) {
             if (mDescriptions != null) {
                 return (String) mDescriptions.get(idx);
@@ -148,6 +211,14 @@
             return null;
         }
 
+        /**
+         * This method returns true, if a measurement is valid for a specific
+         * parameter - otherwise false.
+         * 
+         * @param i Index of a measurement column.
+         * @param j Index of a parameter row.
+         * @return true, if valid, else false.
+         */
         public boolean isValid(int i, int j) {
             if (i < 0 || i > measurements.size()
             ||  j < 0 || j > parameters.size())
@@ -161,6 +232,9 @@
     } // End of ParameterMatrix
 
 
+    /**
+     *
+     */
     public MeasurementState() {
         super();
     }
@@ -200,6 +274,18 @@
     }
 
 
+    /**
+     * This method create the user interface description for measurement and
+     * parameters as matrix. A row for each parameter, a column for each
+     * measurement.
+     * 
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param dynamicNode
+     * @param callMeta
+     * @param o
+     */
     @Override
     protected void appendToDynamicNode(
         XMLUtils.ElementCreator artCreator,
@@ -266,6 +352,17 @@
     }
 
 
+    /**
+     * This feed takes some input data storing measurement ids and parameter ids
+     * and put them into ExtendedInputData objects to save the relation between
+     * a measurement and the parameter it belongs to.
+     * 
+     * @param context
+     * @param input
+     * @param uuid
+     * @return
+     * @throws StateException
+     */
     @Override
     public Document feed(
         CallContext           context,
@@ -334,6 +431,15 @@
     }
 
 
+    /**
+     * Extract parameter ids and measurement ids from DefaultInputData objects
+     * and return an array. In the first position of this array, the measurement
+     * ids are placed, in the second position the parameter ids - all separated
+     * by a character.
+     *
+     * @param tmp String containing measurement ids and parameter ids.
+     * @return An array with separated measurements and parameters.
+     */
     protected String[] extractValuesAndParams(String tmp) {
         String[] array = tmp.split(DefaultInputData.VALUE_SEPARATOR);
 
@@ -363,4 +469,4 @@
         return extracted;
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxDateState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxDateState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -25,36 +25,58 @@
 import org.w3c.dom.Document;
 
 /**
+ * This state handles date input. The resulting describe document of this state
+ * contains two fields in the user interface description to define a time range.
+ *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class MinMaxDateState extends MinMaxState {
 
 
+    /**
+     *
+     */
     public static final String EXCEPTION_DATE_REQUIRED =
         "input.is.not.valid.date.required";
 
+    /**
+     *
+     */
     public static final String EXCEPTION_START_AFTER_END =
         "start.date.after.end.date";
 
+    /**
+     *
+     */
     public static final String EXCEPTION_DATE_OUT_OF_RANGE =
         "date.out.of.range";
 
+    /**
+     *
+     */
     public static final String EXCEPTION_MISSING_DATE =
         "missing.data.field";
 
     private static Logger logger = Logger.getLogger(MinMaxDateState.class);
 
 
+    /**
+     *
+     */
     public MinMaxDateState() {
         super();
     }
 
 
     /**
-     * @see de.intevation.gnv.state.StateBase#feed(java.util.Collection,
-     *      java.lang.String)
+     * This feed method needs a collection of two InputData objects. These
+     * objects' values need to be a datetime string which is turned into a Date
+     * object. Afterwards, the given dates are validated. Min and max date need
+     * to be in range of the min and max date retrieved by
+     * {@link #getDescibeData(java.lang.String)}.
      */
     @Override
+    @SuppressWarnings({"static-access", "static-access", "static-access"})
     public Document feed(
         CallContext           context,
         Collection<InputData> inputData,
@@ -71,7 +93,6 @@
             return feedFailure(msg);
         }
 
-        InputValidator iv = new InputValidator();
         Iterator iter     = inputData.iterator();
 
         MinMaxDescribeData data =
@@ -95,7 +116,7 @@
                 return feedFailure(msg);
             }
 
-            if (!iv.isInputValid(value, type)) {
+            if (!InputValidator.isInputValid(value, type)) {
                 String msg = resFactory.getRessource(
                     locale, EXCEPTION_DATE_REQUIRED, EXCEPTION_DATE_REQUIRED);
                 logger.error(msg);
@@ -134,7 +155,7 @@
                     logger.debug("Upper date bound: " + upper.toString());
                 }
 
-                if (!iv.isDateValid(d, lower, upper)) {
+                if (!InputValidator.isDateValid(d, lower, upper)) {
                     String msg = resFactory.getRessource(
                         locale,
                         EXCEPTION_DATE_OUT_OF_RANGE,
@@ -153,7 +174,7 @@
             }
 
             if (tmpMin != null && tmpMax != null) {
-                if (!iv.isInputValid((String) tmpMin, (String) tmpMax, type)) {
+                if (!InputValidator.isInputValid((String) tmpMin, (String) tmpMax, type)) {
                     String msg = resFactory.getRessource(
                         locale,
                         EXCEPTION_START_AFTER_END,
@@ -172,4 +193,4 @@
         return feedSuccess();
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/MinMaxState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -33,6 +33,10 @@
 import org.w3c.dom.Node;
 
 /**
+ * This state handles input of a min and max value and validates the user input.
+ * The min value needs to be equal or smaller than the max value, otherwise the
+ * input results in an error.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
@@ -51,8 +55,13 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.StateBase#purifyResult(java.util.Collection,
-     *      java.lang.String)
+     * The objects returned by the database are searched for two fields with
+     * 'MIN' and 'MAX' as names. These objects are stored and used to be
+     * displayed in the gui to give the user an orientation of the range he is
+     * able to insert.
+     *
+     * @param uuid 
+     * @return
      */
     @Override
     protected List<Object> purifyResult(
@@ -77,10 +86,14 @@
 
 
     /**
-     * @see de.intevation.gnv.state.StateBase#feed(java.util.Collection,
-     *      java.lang.String)
+     * @param context
+     * @param uuid
+     * @param inputData 
+     * @return
+     * @throws StateException
      */
     @Override
+    @SuppressWarnings("static-access")
     public Document feed(
         CallContext           context,
         Collection<InputData> inputData,
@@ -113,7 +126,8 @@
                 return feedFailure(msg);
             }
 
-            boolean valid = iv.isInputValid(value, type);
+            @SuppressWarnings("static-access")
+            boolean valid = InputValidator.isInputValid(value, type);
             if (!valid) {
                 String msg = "Input is not valid for this state.";
                 log.error(msg);
@@ -129,7 +143,7 @@
             }
 
             if (min != null && max != null) {
-                if (!iv.isInputValid((String) min, (String) max, type)) {
+                if (!InputValidator.isInputValid((String) min, (String) max, type)) {
                     String msg = "Input is not valid for this state.";
                     log.error(msg);
                     return feedFailure(msg);
@@ -148,6 +162,14 @@
     }
 
 
+    /**
+     *
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param staticNode
+     * @param callMeta
+     */
     @Override
     protected void appendToStaticNode(
         XMLUtils.ElementCreator artCreator,
@@ -220,4 +242,4 @@
         staticNode.appendChild(groupNode);
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputMode.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputMode.java	Thu Apr 01 09:15:36 2010 +0000
@@ -6,18 +6,49 @@
 import java.util.List;
 
 /**
+ * This is the interface description of an <code>OutputMode</code>. The
+ * methods defined here retrieve some basic information for an output. An output
+ * can be chart, histogram, statistic, csv, odv and so on.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- *
+ * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public interface OutputMode extends Serializable {
 
+    /**
+     * Retrieve the name of this output mode.
+     *
+     * @return the name of this output mode.
+     */
     public String getName();
 
+    /**
+     * Retrieve the description of an output.
+     *
+     * @return the description.
+     */
     public String getDescription();
 
+    /**
+     * Retrieve the mimetype used for the output.
+     *
+     * @return the mimetype.
+     */
     public String getMimeType();
 
+    /**
+     * Retrieve a list of optional InputValue objects the user is able to
+     * adjust.
+     *
+     * @return optional input parameters.
+     */
     public Collection<InputValue> getInputParameters();
 
+    /**
+     * Retrieve a list of export modes this output can be exported to.
+     *
+     * @return some export modes.
+     */
     public List<ExportMode> getExportModes();
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -11,8 +11,14 @@
 import org.w3c.dom.Document;
 
 /**
+ * This is the interface description of an output state. Currently, there are
+ * two methods defined:<br>
+ * <ol>
+ *  <li>out(): To start an output of the current state.</li>
+ *  <li>getOutputModes(): To retrieve a list of possible output modes.</li>
+ * </ol>
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- *
  */
 public interface OutputState
 extends          State
@@ -21,9 +27,11 @@
     /**
      * Returns the Rendered Result of an State.
      *
-     * @param outputMode
-     *            The Mode that should be produces (Chart, Map, ...)
-     * @return The Bytecode of the Result
+     * @param format
+     * @param inputData
+     * @param outputStream
+     * @param uuid 
+     * @param callContext
      * @throws StateException
      */
     public void out(
@@ -41,3 +49,4 @@
      */
     public Collection<OutputMode> getOutputModes();
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputStateBase.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/OutputStateBase.java	Thu Apr 01 09:15:36 2010 +0000
@@ -44,6 +44,10 @@
 import org.w3c.dom.NodeList;
 
 /**
+ * This is the default implementation of <code>OutputState</code>. Artifacts
+ * having reached this state or a subclass of this state are able to produce
+ * some output (e.g. chart, histograms, statistic, etc).
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  *
@@ -52,15 +56,27 @@
 extends               StateBase
 implements            OutputState
 {
+    /**
+     *
+     */
     public static final String XPATH_OUTPUT_MODE =
         "/art:action/art:out/@name";
 
+    /**
+     *
+     */
     public static final String XPATH_EXPORT_MODE =
         "/art:action/art:out/art:export/@name";
 
+    /**
+     *
+     */
     public static final String XPATH_MIME_TYPE   =
         "/art:action/art:out/art:mime-type/@value";
 
+    /**
+     *
+     */
     public static final String XPATH_EXPORTS =
         "exportModes/export";
 
@@ -79,6 +95,9 @@
      */
     protected Collection<OutputMode> outputModes = null;
 
+    /**
+     *
+     */
     protected String queryODVID = null;
 
     /**
@@ -89,7 +108,8 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.OutputState#getOutputModes()
+     * 
+     * @return
      */
     public Collection<OutputMode> getOutputModes() {
         log.debug("OutputStateBase.getOutputModes");
@@ -97,7 +117,7 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.StateBase#setup(org.w3c.dom.Node)
+     * @param configuration
      */
     @Override
     public void setup(Node configuration) {
@@ -166,7 +186,9 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.StateBase#advance()
+     * @param uuid 
+     * @param context
+     * @throws StateException
      */
     @Override
     public void advance(String uuid, CallContext context)
@@ -174,12 +196,29 @@
     {
     }
 
+    /**
+     *
+     * @param uuid
+     * @param context
+     * @throws StateException
+     */
     @Override
     public void initialize(String uuid, CallContext context)
     throws StateException
     {
     }
 
+    /**
+     * This method needs to be defined by concrete subclasses. Nothing is done
+     * here.
+     *
+     * @param format
+     * @param inputData
+     * @param outputStream
+     * @param uuid
+     * @param callMeta
+     * @throws StateException
+     */
     public void out(
         Document              format,
         Collection<InputData> inputData,
@@ -192,6 +231,13 @@
     }
 
     /**
+     * This method needs to be defined by concrete subclasses. Nothing is done
+     * here.
+     * 
+     * @param outputMode
+     * @param inputData
+     * @param outputStream 
+     * @throws StateException
      * @see de.intevation.gnv.state.OutputState#out(java.lang.String,
      *      java.util.Collection, java.io.OutputStream)
      */
@@ -200,7 +246,15 @@
     }
 
     /**
-     * @return
+     * Returns the data used to create charts. If a cache is configured, try to
+     * fetch the data from cache. The database is queried if the data is not in
+     * cache yet, or if no cache is configured. If the cache is configured, but
+     * the data is not in cache yet, put it into cache for a faster access
+     * in a later time.
+     * 
+     * @param uuid The uuid of an artifact.
+     * @param callContext The CallContext.
+     * @return the chart data.
      */
     protected Object getChartResult(String uuid, CallContext callContext) {
         log.debug("OutputStateBase.getChartResult");
@@ -233,6 +287,16 @@
         }
     }
 
+    /**
+     * This method should no longer be used, because it is not good to put a
+     * chart into cache. Parameter changes done by the user wouldn't be detected
+     * proper.
+     *
+     * @param uuid
+     * @param callContext
+     * @return
+     * @deprecated 
+     */
     protected Object getChartFromCache(String uuid, CallContext callContext) {
         log.debug("Fetch chart [" + uuid + "] from cache");
         CacheFactory cacheFactory = CacheFactory.getInstance();
@@ -247,6 +311,12 @@
         return null;
     }
 
+    /**
+     * Retrieves the data used to create an ODV export.
+     *
+     * @param uuid
+     * @return odv data.
+     */
     protected Collection<Result> getODVResult(String uuid) {
         log.debug("OutputStateBase.getODVResult");
         // TODO add Caching? I think it's not nessessary
@@ -260,8 +330,10 @@
     }
 
     /**
-     * @param returnValue
-     * @return
+     * Retrieve data from database with help of queryID.
+     *
+     * @param queryID A query id defined in sql statements properties file.
+     * @return some data.
      */
     protected Collection<Result> getData(String queryID) {
         log.debug("OutputStateBase.getData");
@@ -282,6 +354,11 @@
         return returnValue;
     }
 
+    /**
+     * This method removes the data used for creating charts from cache.
+     *
+     * @param uuid
+     */
     protected void removeChartResult(String uuid) {
         log.debug("OutputStateBase.getChartResult");
         if (CacheFactory.getInstance().isInitialized()) {
@@ -294,6 +371,12 @@
         }
     }
 
+    /**
+     * This method should no longer be used. It removes a chart from cache.
+     *
+     * @param uuid
+     * @deprecated 
+     */
     protected void removeChart(String uuid) {
         log.debug("OutputStateBase.removeChart from cache");
 
@@ -306,6 +389,12 @@
         }
     }
 
+    /**
+     * This is an internal method used while database query.
+     *
+     * @param chart
+     * @param uuid
+     */
     protected void purifyChart(Object chart, String uuid) {
         log.debug("Prufify chart [" + uuid + "]");
         CacheFactory cacheFactory = CacheFactory.getInstance();
@@ -316,6 +405,15 @@
     }
 
 
+    /**
+     * Use this method to feed a state with new data.
+     *
+     * @param context
+     * @param inputData
+     * @param uuid
+     * @return
+     * @throws StateException
+     */
     @Override
     public Document feed(
         CallContext           context,
@@ -329,9 +427,17 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.StateBase#putInputData(java.util.Collection, java.lang.String)
+     * This method is used to put new data into a next state. The difference
+     * between this method and feed is, that this method should be used to
+     * transfer some old input data required by this state. New data need to be
+     * inserted via feed!
+     *
+     * @param inputData
+     * @param uuid
+     * @throws StateException
      */
     @Override
+    @SuppressWarnings({"static-access", "static-access", "static-access", "static-access"})
     public void putInputData(Collection<InputData> inputData,
                              String uuid)
                                          throws StateException {
@@ -352,13 +458,14 @@
                                 inputData.size());
                     }
 
-                    boolean valid = iv.isInputValid(tmpItem.getValue(),
+                    @SuppressWarnings("static-access")
+                    boolean valid = InputValidator.isInputValid(tmpItem.getValue(),
                             inputValue.getType());
                     if (valid) {
                         if (tmpItem.getName().equals(MINVALUEFIELDNAME)){
                             String minValue = tmpItem.getValue();
                             String maxValue = getInputValue4ID(inputData, MAXVALUEFIELDNAME);
-                            valid = iv.isInputValid(maxValue,inputValue.getType());
+                            valid = InputValidator.isInputValid(maxValue,inputValue.getType());
                             if (!valid){
                                 String errMsg = "Wrong input for " + tmpItem.getValue()
                                                 + " is not an " + inputValue.getType()
@@ -367,7 +474,7 @@
                                 throw new StateException(errMsg);
                             }
 
-                            valid = iv.isInputValid(minValue,
+                            valid = InputValidator.isInputValid(minValue,
                                     maxValue,
                                     inputValue.getType());
                             if (!valid){
@@ -378,7 +485,7 @@
                         }else if (tmpItem.getName().equals(MAXVALUEFIELDNAME)){
                             String minValue = getInputValue4ID(inputData, MINVALUEFIELDNAME);
                             String maxValue = tmpItem.getValue();
-                            valid = iv.isInputValid(minValue,inputValue.getType());
+                            valid = InputValidator.isInputValid(minValue,inputValue.getType());
                             if (!valid){
                                 String errMsg = "Wrong input for " + tmpItem.getValue()
                                                 + " is not an " + inputValue.getType()
@@ -387,7 +494,7 @@
                                 throw new StateException(errMsg);
                             }
 
-                            valid = iv.isInputValid(minValue,
+                            valid = InputValidator.isInputValid(minValue,
                                                     maxValue,
                                                     inputValue.getType());
                             if (!valid){
@@ -428,12 +535,32 @@
         }
     }
 
-    public void out(String outputMode, Collection<InputData> inputData,
-                    OutputStream outputStream, String uuid, CallMeta callMeta)
-                                                                              throws StateException {
-    }
+    /**
+     *
+     * @param outputMode
+     * @param inputData
+     * @param outputStream
+     * @param uuid
+     * @param callMeta
+     * @throws StateException
+     */
+    public void out(
+        String                outputMode,
+        Collection<InputData> inputData,
+        OutputStream          outputStream,
+        String                uuid,
+        CallMeta              callMeta)
+    throws StateException { }
 
 
+    /**
+     * Retrieves a message from resource bundle specified by locale.
+     *
+     * @param locale Locale to use.
+     * @param key The key of the message.
+     * @param value The default value.
+     * @return The value.
+     */
     protected String getMessage(Locale locale, String key, String value) {
         return RessourceFactory.getInstance().getRessource(
             locale,
@@ -442,4 +569,4 @@
         );
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/PreSettingsTransferCoordinateSelectionState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/PreSettingsTransferCoordinateSelectionState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -14,8 +14,9 @@
 import org.w3c.dom.Node;
 
 /**
+ * This method looks for former inserted coordinates before initialization.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- *
  */
 public class PreSettingsTransferCoordinateSelectionState extends CoordinateSelectionState {
 
@@ -35,8 +36,13 @@
         super();
     }
 
+
     /**
-     * @see de.intevation.gnv.state.StateBase#initialize(java.lang.String, de.intevation.artifacts.CallContext)
+     * Lookup mechanism for former inserted data before intialization begins.
+     * 
+     * @param uuid
+     * @param context
+     * @throws StateException
      */
     @Override
     public void initialize(String uuid, CallContext context)
@@ -55,8 +61,10 @@
         super.initialize(uuid, context);
     }
 
+
     /**
-     * @see de.intevation.gnv.state.StateBase#setup(org.w3c.dom.Node)
+     * 
+     * @param configuration
      */
     @Override
     public void setup(Node configuration) {
@@ -69,7 +77,5 @@
         }
         super.setup(configuration);
     }
-
-
-
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/PreSettingsTransferState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/PreSettingsTransferState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -14,8 +14,11 @@
 import org.w3c.dom.Node;
 
 /**
+ * This special state does a lookup for already inserted data while
+ * initializing. If there are some data for this state, take them for further
+ * work.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
- *
  */
 public class PreSettingsTransferState extends DefaultState {
 
@@ -34,8 +37,14 @@
         super();
     }
 
+
     /**
-     * @see de.intevation.gnv.state.StateBase#initialize(java.lang.String, de.intevation.artifacts.CallContext)
+     * This method does a lookup for already inserted data before initializing
+     * it.
+     * 
+     * @param uuid
+     * @param context
+     * @throws StateException
      */
     @Override
     public void initialize(String uuid, CallContext context)
@@ -54,8 +63,10 @@
         super.initialize(uuid, context);
     }
 
+
     /**
-     * @see de.intevation.gnv.state.StateBase#setup(org.w3c.dom.Node)
+     * 
+     * @param configuration
      */
     @Override
     public void setup(Node configuration) {
@@ -68,7 +79,5 @@
         }
         super.setup(configuration);
     }
-
-
-
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/SingleInputState.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/SingleInputState.java	Thu Apr 01 09:15:36 2010 +0000
@@ -11,6 +11,9 @@
 import org.apache.log4j.Logger;
 
 /**
+ * This state handles single user input. The user is allowed to select just one
+ * value.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  *
  */
@@ -32,9 +35,11 @@
     public SingleInputState() {
     }
 
-    /**
-     * @see de.intevation.gnv.state.StateBase#purifyResult(java.util.Collection,
-     *      java.lang.String)
+    /**s
+     *
+     * @param result
+     * @param uuid
+     * @return
      */
     @Override
     protected List<Object> purifyResult(Collection<Result> result, String uuid) {
@@ -54,5 +59,5 @@
 
         return describeData;
     }
-
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/State.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/State.java	Thu Apr 01 09:15:36 2010 +0000
@@ -13,18 +13,45 @@
 import org.w3c.dom.Node;
 
 /**
+ * This interface describes the basic method a concrete state class needs to
+ * implement.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */
 public interface State extends Serializable {
 
+    /**
+     * Setup the state.
+     *
+     * @param configuration State configuration.
+     */
     public void setup(Node configuration);
 
+    /**
+     * 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();
 
+    /**
+     * 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 xml elements.
+     * @param context The CallContext.
+     * @param uuid The uuid of an artifact.
+     */
     public void describe(
         Document    document,
         Node        rootNode,
@@ -32,36 +59,124 @@
         String      uuid
     );
 
+    /**
+     * This method is used to insert new data into this state. Concrete
+     * subclasses should valide the input before saving it.
+     *
+     * @param context The CallContext.
+     * @param inputData New InputData items.
+     * @param uuid The uuid of an artifact.
+     * @return a document with an error or sucess message.
+     * @throws StateException
+     */
     public Document feed(
         CallContext context, Collection<InputData> inputData, String uuid)
     throws StateException;
 
+    /**
+     * Set the previous state.
+     *
+     * @param state The previous state.
+     */
     public void setParent(State state);
 
+    /**
+     * Returns the previous state.
+     *
+     * @return the previous state.
+     */
     public State getParent();
 
+    /**
+     * Retrieve a collection of required input values.
+     *
+     * @return required input values.
+     */
     public Collection<InputValue> getRequiredInputValues();
 
+    /**
+     * Retrieves a map with InputData items.
+     *
+     * @return a map with InputData items.
+     */
     public Map<String, InputData> inputData();
 
+    /**
+     * Use this method to feed a state with some data.
+     *
+     * @param inputData InputData collection.
+     * @param uuid UUID of an artifact.
+     * @throws StateException
+     */
     public void putInputData(Collection<InputData> inputData, String uuid)
     throws StateException;
 
+    /**
+     * Retrieves a collection with the InputData stored in this state.
+     *
+     * @return An InputData collection.
+     * @throws StateException
+     */
     public Collection<InputData> getInputData() throws StateException;
 
+    /**
+     * This method is called to advance to a next or previous state.
+     *
+     * @param uuid The uuid of an artifact.
+     * @param context The CallContext object.
+     * @throws StateException
+     */
     public void advance(String uuid, CallContext context)
     throws StateException;
 
+    /**
+     * This method is called when the state is created.
+     *
+     * @param uuid The uuid of an artifact.
+     * @param context The CallContext object.
+     * @throws StateException
+     */
     public void initialize(String uuid, CallContext context)
     throws StateException;
 
+    /**
+     * This method can be used to reset the state.
+     *
+     * @param uuid The uuid of an artifact.
+     */
     public void reset(String uuid);
 
+    /**
+     * This method is called when the lifetime of an artifact ends or if the
+     * user decides to step back to a previous state.
+     *
+     * @param globalContext The CallContext.
+     */
     public void endOfLife(Object globalContext);
 
+    /**
+     * This method is used to put some InputData objects into an artifact before
+     * the parameterization begins.
+     *
+     * @param preSettings
+     */
     public void setPreSettings(Map<String,InputData> preSettings);
 
+    /**
+     * This method retrieves a map with InputData objects which have been
+     * inserted into this state before the parameterization has started. The key
+     * used to store the objects is the name of the state.
+     *
+     * @return map with InputData objects.
+     */
     public Map<String,InputData> getPreSettings();
 
+    /**
+     * Method to remove the data stored at a state which should not be
+     * serialized while an artifact is exported.
+     * 
+     * @param context The CallContext
+     */
     public void cleanup(Object context);
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/StateBase.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/StateBase.java	Thu Apr 01 09:15:36 2010 +0000
@@ -55,6 +55,9 @@
 import org.w3c.dom.NodeList;
 
 /**
+ * This is the major implementation of <code>State</code>. Nearly every other
+ * state is derived by this class.
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
@@ -71,17 +74,38 @@
      */
     private static Logger log = Logger.getLogger(StateBase.class);
 
+    /**
+     *
+     */
     protected final static String MINVALUEFIELDNAME = "minvalue";
+    /**
+     *
+     */
     protected final static String MAXVALUEFIELDNAME = "maxvalue";
 
     private final static String NODATASELECTIONKEY = "n/n";
 
+    /**
+     *
+     */
     public final static String DESCRIBEDATAKEY = "_DESCRIBEDATA";
 
+    /**
+     *
+     */
     public final static String XPATH_STATIC_UI  = "art:static";
+    /**
+     *
+     */
     public final static String XPATH_DYNAMIC_UI = "art:dynamic";
 
+    /**
+     *
+     */
     public static final String EXCEPTION_NO_INPUT      = "no.input.data";
+    /**
+     *
+     */
     public static final String EXCEPTION_INVALID_INPUT =
         "input.is.not.valid";
 
@@ -90,28 +114,61 @@
 
     private String id = null;
 
+    /**
+     *
+     */
     protected String hash;
 
     private String description = null;
 
+    /**
+     *
+     */
     protected String dataName = null;
 
+    /**
+     *
+     */
     protected String preSettingsName = null;
 
+    /**
+     *
+     */
     protected boolean dataMultiSelect = false;
 
+    /**
+     *
+     */
     protected boolean dataNoSelect = false;
 
+    /**
+     *
+     */
     protected String queryID = null;
 
+    /**
+     *
+     */
     protected Collection<String> inputValueNames = null;
 
+    /**
+     *
+     */
     protected Map<String, InputValue> inputValues = null;
 
+    /**
+     *
+     */
     protected State parent = null;
 
+    /**
+     *
+     */
     protected Map<String, InputData> inputData = null;
 
+    /**
+     *
+     */
     protected Map<String, InputData> preSettings = null;
 
     /**
@@ -122,14 +179,14 @@
     }
 
     /**
-     * @see de.intevation.gnv.state.State#getID()
+     * @return
      */
     public String getID() {
         return this.id;
     }
 
     /**
-     * @see de.intevation.gnv.state.State#getDescription()
+     * @return
      */
     public String getDescription() {
         return this.description;
@@ -138,19 +195,24 @@
 
 
     /**
-     * @see de.intevation.gnv.state.State#getRequiredInputValues()
+     * @return
      */
     public Collection<InputValue> getRequiredInputValues() {
         return this.inputValues.values();
     }
 
 
+    /**
+     *
+     * @param uuid
+     */
     public void reset(String uuid) {
         inputData.remove(dataName);
     }
 
 
     /**
+     * @param configuration
      * @see de.intevation.gnv.state.State#setup(org.w3c.dom.Node)
      */
     public void setup(Node configuration) {
@@ -207,6 +269,7 @@
     }
 
     /**
+     * @return
      * @see de.intevation.gnv.state.State#getParent()
      */
     public State getParent() {
@@ -214,6 +277,7 @@
     }
 
     /**
+     * @param state
      * @see de.intevation.gnv.state.State#setParent(de.intevation.gnv.state.State)
      */
     public void setParent(State state) {
@@ -221,6 +285,14 @@
     }
 
 
+    /**
+     *
+     * @param context
+     * @param inputData
+     * @param uuid
+     * @return
+     * @throws StateException
+     */
     public Document feed(
         CallContext           context,
         Collection<InputData> inputData,
@@ -244,7 +316,8 @@
                                 inputData.size());
                     }
 
-                    boolean valid = iv.isInputValid(tmpItem.getValue(),
+                    @SuppressWarnings("static-access")
+                    boolean valid = InputValidator.isInputValid(tmpItem.getValue(),
                             inputValue.getType());
                     if (valid) {
 
@@ -285,18 +358,33 @@
     }
 
 
+    /**
+     *
+     * @return
+     */
     protected Document feedSuccess() {
         return ArtifactXMLUtilities.createSuccessReport(
             "Initialize success", XMLUtils.newDocument());
     }
 
 
+    /**
+     *
+     * @param msg
+     * @return
+     */
     protected Document feedFailure(String msg) {
         return ArtifactXMLUtilities.createInputExceptionReport(
             msg, XMLUtils.newDocument());
     }
 
 
+    /**
+     *
+     * @param data
+     * @param uuid
+     * @return
+     */
     protected String[] getDescriptionForInputData(InputData data, String uuid) {
         // there is only one element in the list, so take the first
         Object obj = getDescibeData(uuid).get(0);
@@ -336,8 +424,12 @@
 
 
     /**
+     * @param inputData
+     * @param uuid
+     * @throws StateException
      * @see de.intevation.gnv.state.State#putInputData(java.util.Collection)
      */
+    @SuppressWarnings({"static-access", "static-access", "static-access", "static-access"})
     public void putInputData(Collection<InputData> inputData, String uuid)
     throws StateException {
         if (inputData != null) {
@@ -352,13 +444,14 @@
                                 inputData.size());
                     }
 
-                    boolean valid = iv.isInputValid(tmpItem.getValue(),
+                    @SuppressWarnings("static-access")
+                    boolean valid = InputValidator.isInputValid(tmpItem.getValue(),
                             inputValue.getType());
                     if (valid) {
                         if (tmpItem.getName().equals(MINVALUEFIELDNAME)){
                             String minValue = tmpItem.getValue();
                             String maxValue = this.getInputValue4ID(inputData, MAXVALUEFIELDNAME);
-                            valid = iv.isInputValid(maxValue,inputValue.getType());
+                            valid = InputValidator.isInputValid(maxValue,inputValue.getType());
                             if (!valid){
                                 String errMsg = "Wrong input for " + tmpItem.getValue()
                                                 + " is not an " + inputValue.getType()
@@ -367,7 +460,7 @@
                                 throw new StateException(errMsg);
                             }
 
-                            valid = iv.isInputValid(minValue,
+                            valid = InputValidator.isInputValid(minValue,
                                     maxValue,
                                     inputValue.getType());
                             if (!valid){
@@ -378,7 +471,7 @@
                         }else if (tmpItem.getName().equals(MAXVALUEFIELDNAME)){
                             String minValue = this.getInputValue4ID(inputData, MINVALUEFIELDNAME);
                             String maxValue = tmpItem.getValue();
-                            valid = iv.isInputValid(minValue,inputValue.getType());
+                            valid = InputValidator.isInputValid(minValue,inputValue.getType());
                             if (!valid){
                                 String errMsg = "Wrong input for " + tmpItem.getValue()
                                                 + " is not an " + inputValue.getType()
@@ -387,7 +480,7 @@
                                 throw new StateException(errMsg);
                             }
 
-                            valid = iv.isInputValid(minValue,
+                            valid = InputValidator.isInputValid(minValue,
                                                     maxValue,
                                                     inputValue.getType());
                             if (!valid){
@@ -422,6 +515,7 @@
 
     /**
      *
+     * @param preSettings
      * @see de.intevation.gnv.state.State#setPreSettings(java.util.Map)
      */
     public void setPreSettings(Map<String, InputData> preSettings) {
@@ -430,10 +524,20 @@
 
 
 
+    /**
+     *
+     * @return
+     */
     public Map<String, InputData> getPreSettings() {
         return this.preSettings;
     }
 
+    /**
+     *
+     * @param inputData
+     * @param inputName
+     * @return
+     */
     protected String getInputValue4ID(Collection<InputData> inputData, String inputName){
         Iterator<InputData> it = inputData.iterator();
         while (it.hasNext()) {
@@ -447,6 +551,9 @@
 
 
     /**
+     * @param uuid
+     * @param context
+     * @throws StateException
      * @see de.intevation.gnv.state.State#advance(java.lang.String,
      *      de.intevation.artifacts.CallMeta)
      */
@@ -455,6 +562,12 @@
     {
     }
 
+    /**
+     *
+     * @param uuid
+     * @param context
+     * @throws StateException
+     */
     public void initialize(String uuid, CallContext context)
     throws StateException
     {
@@ -495,6 +608,11 @@
         return filterValues;
     }
 
+    /**
+     *
+     * @param value
+     * @return
+     */
     protected String prepareInputData4RegionDBQuery(String value){
         return value;
     }
@@ -536,6 +654,8 @@
 
     /**
      * @param result
+     * @param uuid
+     * @return
      */
     protected List<Object> purifyResult(Collection<Result> result, String uuid) {
         List<Object> describeData = new ArrayList<Object>();
@@ -550,6 +670,8 @@
 
     /**
      * @param result
+     * @param keyid
+     * @param valueid
      * @return
      */
     protected NamedCollection<KeyValueDescibeData> extractKVP(Collection<Result> result,
@@ -614,6 +736,11 @@
     }
 
 
+    /**
+     *
+     * @param key
+     * @return
+     */
     public static boolean inBlackList(String key) {
         int length = BLACKLIST.length;
         for (int i = 0; i < length; i++) {
@@ -626,6 +753,10 @@
     }
 
     /**
+     * @param document 
+     * @param rootNode 
+     * @param context 
+     * @param uuid
      * @see de.intevation.gnv.state.State#describe(org.w3c.dom.Document,
      *      org.w3c.dom.Node, de.intevation.artifacts.CallMeta,
      *      java.lang.String)
@@ -675,6 +806,15 @@
     }
 
 
+    /**
+     *
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param dynamic
+     * @param context
+     * @param uuid
+     */
     protected void describeDynamic(
         XMLUtils.ElementCreator artCreator,
         XMLUtils.ElementCreator creator,
@@ -703,6 +843,15 @@
     }
 
 
+    /**
+     *
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param staticNode
+     * @param context
+     * @param uuid
+     */
     protected void describeStatic(
         XMLUtils.ElementCreator artCreator,
         XMLUtils.ElementCreator creator,
@@ -722,6 +871,14 @@
     }
 
 
+    /**
+     *
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param staticNode
+     * @param callMeta
+     */
     protected void appendToStaticNode(
         XMLUtils.ElementCreator artCreator,
         XMLUtils.ElementCreator creator,
@@ -775,6 +932,15 @@
     }
 
 
+    /**
+     *
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param dynamicNode
+     * @param callMeta
+     * @param o
+     */
     protected void appendToDynamicNode(
         XMLUtils.ElementCreator artCreator,
         XMLUtils.ElementCreator creator,
@@ -848,6 +1014,15 @@
     }
 
 
+    /**
+     *
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param node
+     * @param callMeta
+     * @param o
+     */
     protected void appendMinMaxDescribeData(
         XMLUtils.ElementCreator artCreator,
         XMLUtils.ElementCreator creator,
@@ -914,6 +1089,15 @@
     }
 
 
+    /**
+     *
+     * @param artCreator
+     * @param creator
+     * @param document
+     * @param node
+     * @param callMeta
+     * @param o
+     */
     protected void appendSingleValueDescribeData(
         XMLUtils.ElementCreator artCreator,
         XMLUtils.ElementCreator creator,
@@ -953,17 +1137,27 @@
     }
 
 
+    /**
+     *
+     * @param uuid
+     */
     protected void setHash(String uuid) {
         this.hash = uuid + id + inputData.hashCode();
     }
 
 
+    /**
+     *
+     * @return
+     */
     protected String getHash() {
         return this.hash;
     }
 
 
     /**
+     * @param uuid 
+     * @return
      * @see de.intevation.gnv.state.State#getDescibeData()
      */
     public List<Object> getDescibeData(String uuid) {
@@ -1016,6 +1210,13 @@
         return null;
     }
 
+    /**
+     *
+     * @param filterValues
+     * @param uuid
+     * @return
+     * @throws QueryException
+     */
     protected List<Object> queryDatabase(String[] filterValues, String uuid)
     throws QueryException {
         Collection<Result> result = null;
@@ -1030,17 +1231,28 @@
     }
 
 
+    /**
+     *
+     * @return
+     */
     public Map<String, InputData> inputData() {
         return inputData;
     }
 
     /**
+     * @return
+     * @throws StateException
      * @see de.intevation.gnv.state.State#getInputData()
      */
     public Collection<InputData> getInputData() throws StateException {
         return this.inputData != null ? this.inputData.values() : null;
     }
 
+    /**
+     *
+     * @param name
+     * @return
+     */
     public InputData getInputDataByName(String name) {
         State state = this;
 
@@ -1056,11 +1268,19 @@
         return null;
     }
 
+    /**
+     *
+     * @param globalContext
+     */
     public void endOfLife(Object globalContext) {
     }
 
 
+    /**
+     *
+     * @param context
+     */
     public void cleanup(Object context) {
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/StateFactory.java	Wed Mar 31 13:48:07 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/StateFactory.java	Thu Apr 01 09:15:36 2010 +0000
@@ -7,6 +7,9 @@
 import org.w3c.dom.Node;
 
 /**
+ * This factory should be used to create new state objects with help of a
+ * configuration segment.
+ * 
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  *
  */
@@ -26,6 +29,11 @@
         super();
     }
 
+    /**
+     * Return the instance of this class.
+     *
+     * @return
+     */
     public static StateFactory getInstance() {
         if (instance == null) {
             instance = new StateFactory();
@@ -33,6 +41,13 @@
         return instance;
     }
 
+    /**
+     * This method creates a new state with help of the information in <i>
+     * configuration</i> and calls its setup method after creation.
+     *
+     * @param configuration
+     * @return the new state.
+     */
     public State createState(Node configuration) {
         log.debug("StateFactory.createState");
         State state = null;
@@ -51,3 +66,4 @@
     }
 
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
\ No newline at end of file

http://dive4elements.wald.intevation.org