private boolean isMultiValue()

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;
    }