private void checkExtension()

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


    private void checkExtension(final AnalyserTaskContext ctx) {
        final Extension ext = ctx.getFeature().getExtensions().getByName(EXTENSION_NAME);
        if ( ext != null ) {
            if ( ext.getType() != ExtensionType.JSON ) {
                ctx.reportExtensionError(EXTENSION_NAME,"is not of type JSON");
            } else {
                final JsonObject obj = ext.getJSONStructure().asJsonObject();
                checkStringType(ctx, obj, PROP_API_VERSION);
                checkStringType(ctx, obj, PROP_JAVADOC_SOURCE_LEVEL);
                checkStringType(ctx, obj, PROP_LICENSE_REPORT);
                checkStringArrayType(ctx, obj, PROP_BUNDLE_RESOURCES);
                checkStringArrayType(ctx, obj, PROP_BUNDLE_RESOURCE_FOLDERS);
                checkStringArrayType(ctx, obj, PROP_JAVADOC_CLASSPATH_TOPS);
                checkStringArrayType(ctx, obj, PROP_JAVADOC_CLASSPATH_HIGHEST_VERSIONS);
                checkStringArrayType(ctx, obj, PROP_JAVADOC_CLASSPATH_REMOVALS);
                checkStringArrayType(ctx, obj, PROP_JAVADOC_LINKS);
                checkStringArrayType(ctx, obj, PROP_LICENSE_DEFAULTS);
                checkStringMapType(ctx, obj, PROP_MANIFEST_ENTRIES);
                checkStringMapType(ctx, obj, PROP_CLASSIFIER_MAPPINGS);
                checkStringMapType(ctx, obj, PROP_REGION_MAPPINGS);
                checkStringOrStringArrayType(ctx, obj, PROP_LICENSE_FOOTER);
                checkStringOrStringArrayType(ctx, obj, PROP_LICENSE_HEADER);
            }
        }
    }