Adds support for chosing pz2 or sp service run-time
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / Pz2Interface.java
1 package com.indexdata.mkjsf.pazpar2;\r
2 \r
3 import java.io.Serializable;\r
4 \r
5 import com.indexdata.mkjsf.controls.ResultsPager;\r
6 \r
7 public interface Pz2Interface extends Serializable {\r
8   \r
9   /**\r
10    * Executes a Pazpar2 search using the given query string\r
11    * \r
12    * @param query\r
13    */\r
14   public void doSearch(String query);\r
15   \r
16   /**\r
17    * Executes a Pazpar2 search using the current query \r
18    */\r
19   public void doSearch();\r
20   \r
21   /**\r
22    * Updates display data objects by issuing the following pazpar2 commands: \r
23    * 'show', 'stat', 'termlist' and 'bytarget'.\r
24    *  \r
25    * Returns a count of the remaining active clients from the most recent search.\r
26    * \r
27    * After refreshing the data from pazpar2 the UI components displaying those \r
28    * data should be re-rendered.\r
29    * \r
30    * @return count of activeclients \r
31    */\r
32   public String update();\r
33   \r
34   /**\r
35    * Updates the data objects given by a comma separated list of one or more commands - \r
36    * i.e. "show,state,termlist,bytarget".\r
37    *  \r
38    * May not be useful for the UI directly. \r
39    *  \r
40    * @param commands Command separated list of pazpar2 commands.\r
41    * @return count of activeclients \r
42    * \r
43    */\r
44   public String update (String commands);\r
45             \r
46   /**\r
47    * Will retrieve or remove the record with the given recid from memory.\r
48    * \r
49    * A pazpar2 'record' command will then be issued. The part of the UI \r
50    * showing record data should thus be re-rendered.\r
51    *  \r
52    * @param recid\r
53    * @return\r
54    */\r
55   public String toggleRecord(String recid);\r
56       \r
57   /**\r
58    * Resolves whether the backend has a record with the given recid in memory \r
59    * \r
60    * @return true if the bean currently holds the record with recid\r
61    */  \r
62   public boolean hasRecord (String recId);\r
63           \r
64     \r
65   /**\r
66    * Initiates a pager object, a component holding the data to draw a sequence\r
67    * of page numbers to navigate by and mechanisms to navigate with\r
68    * \r
69    * @param pageRange number of pages to display in the pager\r
70    * @return ResultsPager the initiated pager component\r
71    */\r
72   public ResultsPager setPager(int pageRange);\r
73   \r
74   /**\r
75    * Gives a component for drawing a pager to navigate by.\r
76    * @return ResultsPager pager component\r
77    */\r
78   public ResultsPager getPager();\r
79   \r
80   /**\r
81    * Returns the current hash key used, as used for internal session state tracking\r
82    * and potentially for browser history entries as well\r
83    * \r
84    * A UI author would not normally be concerned with retrieving this. It's used by the\r
85    * framework internally\r
86    *  \r
87    * @return string that can be used for browsers window.location.hash\r
88    */\r
89   public String getCurrentStateKey ();\r
90       \r
91   /**\r
92    * Sets the current state key, i.e. when user clicks back or forward in browser history.\r
93    * Would normally be automatically handled by the frameworks components.\r
94    *  \r
95    * @param key corresponding to browsers hash string\r
96    */\r
97   public void setCurrentStateKey(String key);\r
98   \r
99   public boolean getAuthenticationRequired ();\r
100 \r
101   public String getCheckHistory ();\r
102   public String getWatchActiveclients ();\r
103   public String getWatchActiveclientsRecord ();\r
104 \r
105   public void setServiceTypePZ2 ();\r
106   public void setServiceTypeSP ();\r
107   public void setServiceTypeTBD ();\r
108   public void setServiceUrl(String url);\r
109   public String getServiceUrl();\r
110   public String getServiceType();\r
111   public boolean isPazpar2Service ();  \r
112   public boolean isServiceProxyService();  \r
113   public boolean serviceIsToBeDecided ();\r
114 }\r