private void parseAdaptableAnnotation()

in src/main/java/org/apache/sling/maven/bundlesupport/GenerateAdapterMetadataMojo.java [141:157]


    private void parseAdaptableAnnotation(AnnotationParameterValueList annotationParameterValues, String annotatedClassName, final Map<String,Object> descriptor) throws JsonException {
        // two parameters: adaptableClass and Adapter[] adapters
        String adaptableClassName = ((AnnotationClassRef) annotationParameterValues.get("adaptableClass").getValue()).getName();
        Object[] adapters = (Object[]) annotationParameterValues.get("adapters").getValue();
        
        Map<String,Object> adaptableDescription;
        if (descriptor.containsKey(adaptableClassName)) {
            adaptableDescription = (Map<String,Object>)descriptor.get(adaptableClassName);
        } else {
            adaptableDescription = new HashMap<>();
            descriptor.put(adaptableClassName, adaptableDescription);
        }

        for (final Object adapter : adapters) {
            parseAdapterAnnotation(((AnnotationInfo)adapter).getParameterValues(), annotatedClassName, adaptableDescription);
        }
    }