Renames class, removes obsolete, javadoc
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / ShowCommand.java
1 package com.indexdata.mkjsf.pazpar2.commands;\r
2 \r
3 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
4 \r
5 \r
6 /**\r
7  * Represents a Pazpar2 <code>show</code> command, can be accessed by <code>pzreq.show</code> \r
8  * \r
9  * @author Niels Erik\r
10  *\r
11  */\r
12 public class ShowCommand extends Pazpar2Command implements ServiceProxyCommand {\r
13 \r
14   private static final long serialVersionUID = -8242768313266051307L;\r
15 \r
16   public ShowCommand() {\r
17     super("show");\r
18     setParameterInState(new CommandParameter("start","=","0"));\r
19   }\r
20 \r
21   /**\r
22    * Sets Pazpar2 parameter <code>sort</code>. See Pazpar2 documentation for details. \r
23    */\r
24   public void setSort (String sort) {\r
25     setParameter(new CommandParameter("sort","=",sort));\r
26   }\r
27   \r
28   /**\r
29    * Gets parameter value for <code>sort</cod>\r
30    */\r
31   public String getSort () {\r
32     return getParameter("sort") != null ? getParameter("sort").value : "relevance";\r
33   }\r
34   \r
35   /**\r
36    * Sets the number of records that pazpar2 should show at a time. Is \r
37    * followed by an update of the show data object from pazpar2.  \r
38    * \r
39    * To be used by the UI for paging. After setting page size the parts\r
40    * of the UI that displays 'show' data should be rendered. \r
41    * \r
42    * @param perPageOption i.e. 10, default is 20.\r
43    */\r
44   public void setPageSize (String perPageOption) {    \r
45     setParameters(new CommandParameter("num","=",perPageOption),\r
46                   new CommandParameter("start","=",0));\r
47   }\r
48   \r
49   /**\r
50    * Retrieves the currently defined number of items to show at a time\r
51    * \r
52    * @return number of result records that will be shown from pazpar2\r
53    */\r
54   public String getPageSize () {\r
55     return getParameter("num") != null ? getParameter("num").value : "20";\r
56   }\r
57   \r
58   /**\r
59    * Sets Pazpar2 parameter <code>start</code>. See Pazpar2 documentation for details. \r
60    */\r
61   public void setStart (int start) {    \r
62     setParameter(new CommandParameter("start","=",start));      \r
63   }\r
64   \r
65   /**\r
66    * Retrieves the sequence number of the record that pazpaz2 will return as\r
67    * the first record in 'show'\r
68    * \r
69    * @return sequence number of the first record to be shown (numbering starting at '0')\r
70    * \r
71    */\r
72   public int getStart() {\r
73     return getParameter("start") != null ? Integer.parseInt(getParameter("start").value) : 0;\r
74   }\r
75   \r
76   /**\r
77    * Sets Pazpar2 parameter <code>num</code>. See Pazpar2 documentation for details. \r
78    */\r
79   public void setNum (int num) {\r
80     setParameter(new CommandParameter("num","=",num));\r
81   }\r
82     \r
83   /** \r
84    * Get the parameter value for <code>num</code>\r
85    */\r
86   public int getNum () {\r
87     return getParameter("num") != null ? Integer.parseInt(getParameter("num").value) : 0;\r
88   }\r
89   \r
90   /**\r
91    * Sets Pazpar2 parameter <code>block</code>. See Pazpar2 documentation for details. \r
92    */\r
93   public void setBlock(String block) {\r
94     setParameterInState(new CommandParameter("block","=",block));\r
95   }\r
96 \r
97   /** \r
98    * Get the parameter value for <code>block</code>\r
99    */\r
100   public String getBlock() {\r
101     return getParameterValue("block");\r
102   }\r
103   \r
104   /**\r
105    * Sets Pazpar2 parameter <code>mergekey</code>. See Pazpar2 documentation for details. \r
106    */\r
107   public void setMergekey (String mergekey) {\r
108     setParameter(new CommandParameter("mergekey","=",mergekey));\r
109   }\r
110   \r
111   /** \r
112    * Get the parameter value for <code>mergekey</code>\r
113    */\r
114   public String getMergekey () {\r
115     return getParameterValue("mergekey");\r
116   }\r
117   \r
118   /**\r
119    * Sets Pazpar2 parameter <code>rank</code>. See Pazpar2 documentation for details. \r
120    */\r
121   public void setRank (String rank) {\r
122     setParameter(new CommandParameter("rank","=",rank));\r
123   }\r
124   \r
125   /** \r
126    * Get the parameter value for <code>rank</code>\r
127    */\r
128   public String getRank () {\r
129     return getParameterValue("rank");\r
130   }\r
131 \r
132   \r
133   public ShowCommand copy () {\r
134     ShowCommand newCommand = new ShowCommand();\r
135     for (String parameterName : parameters.keySet()) {\r
136       newCommand.setParameterInState(parameters.get(parameterName).copy());      \r
137     }    \r
138     return newCommand;\r
139   }\r
140 \r
141   @Override\r
142   public ServiceProxyCommand getSp() {\r
143     return this;\r
144   }\r
145 \r
146   @Override\r
147   public boolean spOnly() {\r
148     return false;\r
149   }\r
150 \r
151 }\r