in src/main/java/org/apache/sling/maven/bundlesupport/GenerateAdapterMetadataMojo.java [159:178]
private void parseAdapterAnnotation(AnnotationParameterValueList annotationParameterValues, String annotatedClassName, final Map<String,Object> adaptableDescription) throws JsonException {
AnnotationParameterValue conditionParameterValue = annotationParameterValues.get("condition");
String condition = null;
if (conditionParameterValue != null) {
condition = (String) conditionParameterValue.getValue();
}
if (StringUtils.isEmpty(condition)) {
condition = String.format(DEFAULT_CONDITION, annotatedClassName);
}
Object[] adapterClasses = (Object[]) annotationParameterValues.get("value").getValue();
if (adapterClasses == null) {
throw new IllegalArgumentException("Adapter annotation is malformed. Expecting a list of adapter classes");
}
for (final Object adapterClass : adapterClasses) {
String adapterClassName = ((AnnotationClassRef)adapterClass).getName();
JsonSupport.accumulate(adaptableDescription, condition, adapterClassName);
}
}