in src/main/java/org/apache/sling/contentparser/xml/jcr/internal/JcrXmlValueConverter.java [77:110]
private static Object convertValue(final String value, final int type) {
switch (type) {
case PropertyType.UNDEFINED:
case PropertyType.STRING:
case PropertyType.NAME:
case PropertyType.PATH:
return value;
case PropertyType.BOOLEAN:
return Boolean.valueOf(value);
case PropertyType.LONG:
return Long.valueOf(value);
case PropertyType.DOUBLE:
return Double.valueOf(value);
case PropertyType.DECIMAL:
return new BigDecimal(value);
case PropertyType.DATE:
return ISO8601.parse(value);
case PropertyType.REFERENCE:
case PropertyType.WEAKREFERENCE:
return UUID.fromString(value);
case PropertyType.URI:
try {
return new URI(value);
} catch (URISyntaxException ex) {
throw new IllegalArgumentException("Unexpected URI syntax: " + value);
}
case PropertyType.BINARY:
// not supported - ignore value
return null;
default:
throw new IllegalArgumentException("Unexpected type: " + PropertyType.nameFromValue(type));
}
}