+ return getParameter("limit") == null ? null : ((FilterParameter)getParameter("limit")).getValueWithExpressions(); \r
+ }\r
+ \r
+ public List<Expression> getLimitExpressions() {\r
+ return getParameter("limit").getExpressions();\r
+ }\r
+ \r
+ public boolean hasLimitExpression(String... expressionFields) {\r
+ logger.trace("Checking for limit expression for " + expressionFields);\r
+ for (String field : expressionFields) {\r
+ if (getLimitExpressions(field) != null && getLimitExpressions(field).size()>0) {\r
+ logger.trace("Limit expression found (" + field + ")");\r
+ return true;\r
+ } \r
+ }\r
+ logger.trace("No limit expressions found");\r
+ return false;\r
+ }\r
+ \r
+ public Expression getOneLimitExpression(String expressionField) {\r
+ List<Expression> exprs = getLimitExpressions(expressionField);\r
+ if (exprs != null && exprs.size()>0) {\r
+ if (exprs.size()>1) {\r
+ logger.warn("More that one limit expression found for [" + expressionField + "] but only asked to return the first one");\r
+ }\r
+ return exprs.get(0);\r
+ } else {\r
+ return null;\r
+ }\r
+ \r
+ }\r
+ \r
+ public List<Expression> getLimitExpressions(String... expressionFields) {\r
+ logger.trace("Checking for limit parameter");\r
+ if (parameters.get("limit")!=null) {\r
+ logger.trace("Found");\r
+ return getParameter("limit").getExpressions(expressionFields);\r
+ } else {\r
+ logger.trace("Not found");\r
+ return null;\r
+ }\r