private void checkStringArrayType()

in src/main/java/org/apache/sling/feature/analyser/task/impl/CheckApisJarsProperties.java [155:174]


    private void checkStringArrayType(final AnalyserTaskContext ctx, final JsonObject obj, final String propName) {
        if (obj.containsKey(propName)) {
            final JsonValue val = obj.get(propName);
            if (val.getValueType() != ValueType.ARRAY) {
                ctx.reportExtensionError(
                        EXTENSION_NAME, "property ".concat(propName).concat(" is not of type Array"));
            } else {
                boolean hasNonStringValue = false;
                for (final JsonValue v : val.asJsonArray()) {
                    if (v.getValueType() != ValueType.STRING) {
                        hasNonStringValue = true;
                    }
                }
                if (hasNonStringValue) {
                    ctx.reportExtensionError(
                            EXTENSION_NAME, "array ".concat(propName).concat(" contains non string values"));
                }
            }
        }
    }