public static PagingContext getPagingContext(final ResourceContext context, final PagingContext defaultContext) { String startString = context.getParameter(RestConstants.START_PARAM); String countString = context.getParameter(RestConstants.COUNT_PARAM); try { int defaultStart = defaultContext == null ? RestConstants.DEFAULT_START : defaultContext.getStart(); int defaultCount = defaultContext == null ? RestConstants.DEFAULT_COUNT : defaultContext.getCount(); int start = startString == null || StringUtils.isEmpty(startString.trim()) ? defaultStart : Integer.parseInt(startString); int count = countString == null || StringUtils.isEmpty(countString.trim()) ? defaultCount : Integer.parseInt(countString); if (count < 0 || start < 0) { throw new RoutingException("start/count parameters must be non-negative", 400); } return new PagingContext(start, count, startString != null, countString != null); } catch (NumberFormatException e) { throw new RoutingException("Invalid (non-integer) start/count parameters", 400); } }
String value = context.getParameter(param.getName());