in src/main/java/org/apache/sling/servlets/post/impl/helper/SlingPropertyValueHandler.java [350:376]
private boolean isMultiValue(final Modifiable parent, RequestProperty prop, String[] values)
throws PersistenceException {
// multiple values are provided
if (values != null && values.length > 1) {
return true;
}
// TypeHint with []
if (prop.hasMultiValueTypeHint()) {
return true;
}
// patch method requires multi value
if (prop.isPatch()) {
return true;
}
// nothing in the request, so check the current JCR property definition
final Object value = parent.valueMap.get(prop.getName());
if ( parent.node != null ) {
if ( value != null ) {
return jcrSupport.isPropertyMultiple(parent.node, prop.getName());
}
} else {
if ( value != null && value.getClass().isArray() ) {
return true;
}
}
return false;
}