in src/main/java/org/apache/sling/maven/bundlesupport/GenerateAdapterMetadataMojo.java [178:202]
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);
}
}