in cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Annotates.java [311:342]
public static String beanName(Annotated annotated) {
return collect(annotated.getAnnotations()).stream().filter(Named.class::isInstance).map(Named.class::cast).findFirst().map(
named -> {
if (named.value().isEmpty()) {
if (annotated instanceof AnnotatedMethod) {
AnnotatedMethod<?> annotatedMethod = (AnnotatedMethod<?>)annotated;
String name = annotatedMethod.getJavaMember().getName();
if (name.startsWith("get")) {
name = name.substring(3);
}
else if (name.startsWith("is")) {
name = name.substring(2);
}
char c[] = name.toCharArray();
c[0] = Character.toLowerCase(c[0]);
return new String(c);
}
else if (annotated instanceof AnnotatedField) {
AnnotatedField<?> annotatedField = (AnnotatedField<?>)annotated;
return annotatedField.getJavaMember().getName();
}
else {
char c[] = Reflection.getRawType(annotated.getBaseType()).getSimpleName().toCharArray();
c[0] = Character.toLowerCase(c[0]);
return new String(c);
}
}
return named.value();
}
).orElse(null);
}