Clears info response when clearing init response
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / data / ResponseDataObject.java
index 8ffd810..5e2d639 100644 (file)
@@ -9,6 +9,12 @@ import org.apache.log4j.Logger;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Parent class of all response data objects, with generic methods for retrieving data elements\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class ResponseDataObject implements Serializable {\r
 \r
   Logger logger = Logger.getLogger(ResponseDataObject.class);\r
@@ -38,12 +44,18 @@ public class ResponseDataObject implements Serializable {
     return attributes.get(name);\r
   }\r
     \r
+  /**\r
+   * Used by the response XML parser to add child element objects to a parent element object\r
+   * \r
+   * @param name of the child element\r
+   * @param value the child object itself\r
+   */\r
   public void addElement (String name, ResponseDataObject value) {    \r
     if (elements.containsKey(name)) {\r
       elements.get(name).add(value);\r
     } else {\r
       List<ResponseDataObject> list = new ArrayList<ResponseDataObject>();\r
-      list.add(value);\r
+      list.add(value);      \r
       elements.put(name,list);\r
     }\r
   }\r
@@ -51,7 +63,7 @@ public class ResponseDataObject implements Serializable {
   public List<ResponseDataObject> getElements (String name) {\r
     return elements.get(name);\r
   }\r
-  \r
+    \r
   public ResponseDataObject getOneElement (String name) {\r
     if (elements.get(name) != null) {\r
       return elements.get(name).get(0);\r
@@ -66,7 +78,7 @@ public class ResponseDataObject implements Serializable {
    * @param name of the element \r
    * @return text value, empty string if none found\r
    */\r
-  public String getOneElementValue (String name) {\r
+  public String getOneValue (String name) {\r
     if (getOneElement(name)!=null && getOneElement(name).getValue().length()>0) {\r
       return getOneElement(name).getValue();\r
     } else {\r
@@ -74,6 +86,25 @@ public class ResponseDataObject implements Serializable {
     }\r
   }\r
   \r
+  /**\r
+   * Returns string array with the values of the named element(s)\r
+   *   \r
+   * @param name of the child object(s) to retrieve value(s) from\r
+   * @return\r
+   */\r
+  public String[] getValueArray (String name) {\r
+    List<ResponseDataObject> elements = getElements(name);\r
+    String[] valueArray = {};\r
+    if (elements != null) {\r
+      valueArray = new String[elements.size()];\r
+      int i = 0;\r
+      for (ResponseDataObject element : elements) {\r
+        valueArray[i++] = element.getValue();\r
+      }      \r
+    }\r
+    return valueArray;\r
+  }\r
+    \r
   public void appendContent (String content) {\r
     textContent = textContent + content;\r
   }\r
@@ -92,7 +123,7 @@ public class ResponseDataObject implements Serializable {
   }\r
   \r
   public int getIntValue(String name) {\r
-    String val = getOneElementValue(name);\r
+    String val = getOneValue(name);\r
     if (val.length()==0) {\r
       return 0;\r
     } else {\r