Merge branch 'master' of ssh://git.indexdata.com/home/git/private/mkjsf.git into...
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / data / sp / SpResponses.java
diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/sp/SpResponses.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/sp/SpResponses.java
new file mode 100644 (file)
index 0000000..0986e86
--- /dev/null
@@ -0,0 +1,71 @@
+package com.indexdata.mkjsf.pazpar2.data.sp;\r
+\r
+import java.io.Serializable;\r
+\r
+import com.indexdata.mkjsf.pazpar2.data.Responses;\r
+\r
+/**\r
+ * Provides references to all current Service Proxy-only data objects.\r
+ *  \r
+ * @author Niels Erik\r
+ *\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
+  \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