Organizes SP specific responses in separate class
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / data / sp / SpResponses.java
index db58ca9..b5bb18c 100644 (file)
@@ -1,9 +1,64 @@
 package com.indexdata.mkjsf.pazpar2.data.sp;\r
 \r
-public class SpResponses {\r
+import java.io.Serializable;\r
 \r
-  public SpResponses() {\r
-    // TODO Auto-generated constructor stub\r
+import com.indexdata.mkjsf.pazpar2.data.Responses;\r
+\r
+public class SpResponses implements Serializable {\r
+  \r
+  private static final long serialVersionUID = -3831357590639961167L;\r
+  private Responses responses = null;  \r
+\r
+  public SpResponses(Responses responses) {\r
+    this.responses = responses;  \r
+  }\r
+  \r
+  /**\r
+   * Resets all responses from the search request to any request \r
+   * that can follow search (i.e. show and bytarget but not init or auth) \r
+   * @param includePazpar2Responses Set to true if the invocation should\r
+   *                                reset Pazpar2 responses \r
+   *                                (non-SP-specific responses) as well. \r
+   */\r
+  public void resetSearchAndBeyond(boolean includePazpar2Responses) {\r
+    if (includePazpar2Responses) {\r
+      responses.resetSearchAndBeyond();\r
+    }\r
+  }\r
+\r
+  /**\r
+   * Resets all responses from the init request to any request \r
+   * that can follow init (i.e. search and show but not auth) \r
+   * @param includePazpar2Responses Set to true if the invocation should\r
+   *                                reset Pazpar2 responses \r
+   *                                (non-SP-specific responses) as well. \r
+   */\r
+  public void resetInitAndBeyond (boolean includePazpar2Responses) {\r
+    responses.put("categories", new CategoriesResponse());\r
+    if (includePazpar2Responses) {\r
+      responses.resetInitAndBeyond();\r
+    }\r
+    resetSearchAndBeyond(includePazpar2Responses);    \r
+  }\r
+  \r
+  /**\r
+   * Resets all responses from the authentication request to any request \r
+   * that can follow authentication. \r
+   * @param includePazpar2Responses Set to true if the invocation should\r
+   *                                reset Pazpar2 responses \r
+   *                                (non-SP-specific responses) as well. \r
+   */\r
+  public void resetAuthAndBeyond (boolean includePazpar2Responses) {\r
+    responses.put("auth", new AuthResponse());\r
+    resetInitAndBeyond(includePazpar2Responses);    \r
+  }\r
+  \r
+  public AuthResponse getAuth () {\r
+    return ((AuthResponse) responses.getResponseObject("auth"));\r
+  }\r
+\r
+  public CategoriesResponse getCategories() {\r
+    return ((CategoriesResponse) responses.getResponseObject("categories"));\r
   }\r
 \r
 }\r