public static String beanName()

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);
	}