@CheckForNull @Override public List<String> paramAsStrings(String key) { WebService.Param definition = action.param(key); String value = readParamOrDefaultValue(key, definition); if (value == null) { return null; } List<String> values = Lists.newArrayList(Splitter.on(',').omitEmptyStrings().trimResults().split(value)); for (String s : values) { validate(s, definition); } return values; }
@CheckForNull @Override public <E extends Enum<E>> List<E> paramAsEnums(String key, Class<E> enumClass) { WebService.Param definition = action.param(key); String value = readParamOrDefaultValue(key, definition); if (value == null) { return null; } Iterable<String> values = Splitter.on(',').omitEmptyStrings().trimResults().split(value); List<E> result = Lists.newArrayList(); for (String s : values) { validate(s, definition); result.add(Enum.valueOf(enumClass, s)); } return result; }
@CheckForNull private String param(String key, boolean validateValue) { WebService.Param definition = action.param(key); String value = readParamOrDefaultValue(key, definition); if (value != null && validateValue) { validate(value, definition); } return value; }