@Override public String allowedPattern(Type type) { return "string .*|true|false|" + NUMBER_CONVERTER.allowedPattern(type); } }
@Override public Number convert(String string, Type type) { Number n = toNumber(string); if (n != null) return n; throw new IllegalArgumentException("Cannot parse " + string); }
@Override public Object convert(String string, Type type) { Matcher m; if ((m = STRING_PATTERN.matcher(string)).matches()) { return m.group(1); } else if ((m = BOOLEAN_PATTERN.matcher(string)).matches()) { return Boolean.parseBoolean(string); } Number n = NUMBER_CONVERTER.toNumber(string); if (n != null) return n; return string; }