/** * Find the first annotation name for the given stereotype. * * @param stereotype The stereotype * @return The annotation name */ default @Nonnull Optional<Class<? extends Annotation>> getAnnotationTypeByStereotype(@Nullable String stereotype) { return getAnnotationNameByStereotype(stereotype).flatMap(this::getAnnotationType); }
/** * Find the first annotation name for the given stereotype. * * @param stereotype The stereotype * @return The annotation name */ default @Nonnull Optional<String> getAnnotationNameByStereotype(@Nonnull Class<? extends Annotation> stereotype) { ArgumentUtils.requireNonNull("stereotype", stereotype); return getAnnotationNameByStereotype(stereotype.getName()); }
@Override default @Nonnull Optional<String> getAnnotationNameByStereotype(String stereotype) { return getAnnotationMetadata().getAnnotationNameByStereotype(stereotype); }
@Override default @Nonnull Optional<String> getAnnotationNameByStereotype(@Nonnull Class<? extends Annotation> stereotype) { return getAnnotationMetadata().getAnnotationNameByStereotype(stereotype); }
/** * Resolves the proxied bean instance for this bean. * * @param beanContext The {@link BeanContext} * @return The proxied bean */ @SuppressWarnings({"unchecked", "unused"}) @Internal protected final Object getProxiedBean(BeanContext beanContext) { DefaultBeanContext defaultBeanContext = (DefaultBeanContext) beanContext; Optional<String> qualifier = getAnnotationMetadata().getAnnotationNameByStereotype(javax.inject.Qualifier.class); return defaultBeanContext.getProxyTargetBean(getBeanType(), (Qualifier<T>) qualifier.map(q -> Qualifiers.byAnnotation(getAnnotationMetadata(), q)).orElse(null)); }
/** * Resolves the proxied bean instance for this bean. * * @param beanContext The {@link BeanContext} * @return The proxied bean */ @SuppressWarnings({"unchecked", "unused"}) @Internal protected final Object getProxiedBean(BeanContext beanContext) { DefaultBeanContext defaultBeanContext = (DefaultBeanContext) beanContext; Optional<String> qualifier = getAnnotationMetadata().getAnnotationNameByStereotype(javax.inject.Qualifier.class); return defaultBeanContext.getProxyTargetBean(getBeanType(), (Qualifier<T>) qualifier.map(q -> Qualifiers.byAnnotation(getAnnotationMetadata(), q)).orElse(null)); }