* When using this method in a service layer class you will also need to provide the according <code>limit</code> and <code>start</code>\r
* parameters for dao list methods. The PagerUtil class provides the according methods for the required calculation:\r
* {@link PagerUtils#limitFor(Integer)} and {@link PagerUtils#startFor(Integer, Integer)}.<br/>\r
- * <b>NOTE:</b> It is highly recommended to use the {@link #limitStartforRange(Long, Integer, Integer)} method instead which already\r
- * includes the calculation of <code>limit</code> and <code>start</code>.\r
+ * <b>NOTE:</b> To calculate <code>limit</code> and <code>start</code> for dao methods is highly recommended to use\r
+ * the {@link #limitStartforRange(Long, Integer, Integer)} method instead which already includes the calculation of\r
+ * <code>limit</code> and <code>start</code>.\r
*\r
* @param numberOfResults\r
* @param pageIndex\r
* @param pageSize\r
* @return\r
- *\r
- * @deprecated use {@link #limitStartforRange(Long, Integer, Integer)} instead if appropriate.\r
*/\r
- @Deprecated\r
public static boolean hasResultsInRange(Long numberOfResults, Integer pageIndex, Integer pageSize) {\r
return numberOfResults > 0 // no results at all\r
&& (pageSize == null // page size may be null : return all in this case\r
\r
/**\r
* Test if the the <code>numberOfResults</code> in the range of the page specified by <code>pageIndex</code> and <code>pageSize</code>.\r
+ * <p>\r
+ * When using this method in a service layer class you will also need to provide the according <code>limit</code> and <code>start</code>\r
+ * parameters for dao list methods. The PagerUtil class provides the according methods for the required calculation:\r
+ * {@link PagerUtils#limitFor(Integer)} and {@link PagerUtils#startFor(Integer, Integer)}.<br/>\r
+ * <b>NOTE:</b> To calculate <code>limit</code> and <code>start</code> for dao methods is highly recommended to use\r
+ * the {@link #limitStartforRange(Long, Integer, Integer)} method instead which already includes the calculation of\r
+ * <code>limit</code> and <code>start</code>.\r
+ *\r
+ * @param numberOfResults\r
+ * @param pageIndex\r
+ * @param pageSize\r
+ * @return\r
+ *\r
+ * @deprecated The Hibernate <code>count</code> function returns <code>Long</code> values!\r
+ * Use {@link #hasResultsInRange(Long, Integer, Integer)} instead.\r
+ */\r
+ @Deprecated\r
+ public static boolean hasResultsInRange(Integer numberOfResults, Integer pageIndex, Integer pageSize) {\r
+ return numberOfResults > 0 // no results at all\r
+ && (pageSize == null // page size may be null : return all in this case\r
+ || pageIndex != null && numberOfResults > (pageIndex * pageSize));\r
+ }\r
+\r
+ /**\r
+ * Test if the the <code>numberOfResults</code> in the range of the page specified by <code>pageIndex</code> and <code>pageSize</code>.\r
* And returns the according <code>limit</code> and <code>start</code> values as an array in case the test is successful. If there is no\r
* result in the specified range the return value will be <code>null</code>.\r
* <p>\r
* @param pageSize\r
* @return An <code>Integer</code> array containing limit and start: <code>new int[]{limit, start}</code> or null if there is no result in the range of\r
* <code>pageIndex</code> and <code>pageSize</code>.\r
+ *\r
*/\r
public static Integer[] limitStartforRange(Long numberOfResults, Integer pageIndex, Integer pageSize) {\r
if(hasResultsInRange(numberOfResults, pageIndex, pageSize)){\r
return null;\r
}\r
\r
+ /**\r
+ * Test if the the <code>numberOfResults</code> in the range of the page specified by <code>pageIndex</code> and <code>pageSize</code>.\r
+ * And returns the according <code>limit</code> and <code>start</code> values as an array in case the test is successful. If there is no\r
+ * result in the specified range the return value will be <code>null</code>.\r
+ * <p>\r
+ * When using this method in a service layer class you will also need to provide the according <code>limit</code> and <code>start</code>\r
+ * parameters for dao list methods. The PagerUtil class provides the according methods for the required calculation:\r
+ * {@link PagerUtils#limitFor(Integer)} and {@link PagerUtils#startFor(Integer, Integer)}\r
+ *\r
+ * @param numberOfResults\r
+ * @param pageIndex\r
+ * @param pageSize\r
+ * @return An <code>Integer</code> array containing limit and start: <code>new int[]{limit, start}</code> or null if there is no result in the range of\r
+ * <code>pageIndex</code> and <code>pageSize</code>.\r
+ *\r
+ * @deprecated The Hibernate <code>count</code> function returns <code>Long</code> values! Use {@link #limitStartforRange(Long, Integer, Integer)} instead.\r
+ */\r
+ @Deprecated\r
+ public static Integer[] limitStartforRange(Integer numberOfResults, Integer pageIndex, Integer pageSize) {\r
+ if(hasResultsInRange(new Long(numberOfResults), pageIndex, pageSize)){\r
+ return new Integer[]{PagerUtils.limitFor(pageSize), PagerUtils.startFor(pageSize, pageIndex)};\r
+ }\r
+ return null;\r
+ }\r
+\r
}