/** * @see AnnotationSource#isAnnotationPresent(Class) */ @Override default boolean isDeclaredAnnotationPresent(@Nonnull Class<? extends Annotation> annotationClass) { //noinspection ConstantConditions if (annotationClass == null) { return false; } return hasDeclaredAnnotation(annotationClass); }
/** * Checks whether this object has the given annotation directly declared on the object. * * @param annotation The annotation * @return True if the annotation is present */ default boolean hasDeclaredAnnotation(@Nullable Class<? extends Annotation> annotation) { if (annotation != null) { Repeatable repeatable = annotation.getAnnotation(Repeatable.class); if (repeatable != null) { return hasDeclaredAnnotation(repeatable.value()); } else { return hasDeclaredAnnotation(annotation.getName()); } } return false; }
@Override default boolean hasDeclaredAnnotation(String annotation) { return getAnnotationMetadata().hasDeclaredAnnotation(annotation); }
@Override default boolean hasDeclaredAnnotation(@Nullable Class<? extends Annotation> annotation) { return getAnnotationMetadata().hasDeclaredAnnotation(annotation); }
private boolean isArgumentType(AnnotationMetadata annotationMetadata) { if (annotationMetadata != null) { return annotationMetadata.hasDeclaredAnnotation(Parameter.class); } return false; }
private boolean isArgumentType(AnnotationMetadata annotationMetadata) { if (annotationMetadata != null) { return annotationMetadata.hasDeclaredAnnotation(Parameter.class); } return false; }
@Override public boolean isPreDestroyMethod() { return annotationMetadata.hasDeclaredAnnotation(PreDestroy.class); }
@Override public boolean isPostConstructMethod() { return annotationMetadata.hasDeclaredAnnotation(PostConstruct.class); }
@Override public boolean isPreDestroyMethod() { return annotationMetadata.hasDeclaredAnnotation(PreDestroy.class); }
@Override public boolean isPostConstructMethod() { return annotationMetadata.hasDeclaredAnnotation(PostConstruct.class); }
/** * @param argument An {@link Argument} * @return Whether the argument is a path parameter */ protected boolean isPathParameter(Argument argument) { AnnotationMetadata annotationMetadata = argument.getAnnotationMetadata(); return annotationMetadata.hasDeclaredAnnotation(Selector.class); } }
/** * @param argument An {@link Argument} * @return Whether the argument is a path parameter */ protected boolean isPathParameter(Argument argument) { AnnotationMetadata annotationMetadata = argument.getAnnotationMetadata(); return annotationMetadata.hasDeclaredAnnotation(Selector.class); } }
private Qualifier resolveQualifier(BeanResolutionContext resolutionContext, Argument argument) { Qualifier qualifier = null; AnnotationMetadata annotationMetadata = argument.getAnnotationMetadata(); Optional<Class<? extends Annotation>> qualifierType = annotationMetadata.getAnnotationTypeByStereotype(javax.inject.Qualifier.class); if (qualifierType.isPresent()) { qualifier = Qualifiers.byAnnotation( annotationMetadata, qualifierType.get() ); } if (qualifier == null) { Class<?>[] byType = annotationMetadata.hasDeclaredAnnotation(Type.class) ? annotationMetadata.getValue(Type.class, Class[].class).orElse(null) : null; if (byType != null) { qualifier = Qualifiers.byType(byType); } else { Optional<Qualifier> optional = resolutionContext.get(javax.inject.Qualifier.class.getName(), Map.class) .map(map -> (Qualifier) map.get(argument)); qualifier = optional.orElse(null); if (qualifier == null && isIterable() && argument.isAnnotationPresent(Parameter.class)) { qualifier = optional.orElseGet(() -> { final Optional<String> n = resolutionContext.get(Named.class.getName(), String.class); return n.map(Qualifiers::byName).orElse(null); }); } } } return qualifier; }
return qualifiedName != null && candidate.getAnnotationMetadata().hasDeclaredAnnotation(qualifiedName);
return qualifiedName != null && candidate.getAnnotationMetadata().hasDeclaredAnnotation(qualifiedName);
private Qualifier resolveQualifier(BeanResolutionContext resolutionContext, Argument argument) { Qualifier qualifier = null; AnnotationMetadata annotationMetadata = argument.getAnnotationMetadata(); Optional<Class<? extends Annotation>> qualifierType = annotationMetadata.getAnnotationTypeByStereotype(javax.inject.Qualifier.class); if (qualifierType.isPresent()) { qualifier = Qualifiers.byAnnotation( annotationMetadata, qualifierType.get() ); } if (qualifier == null) { Class<?>[] byType = annotationMetadata.hasDeclaredAnnotation(Type.class) ? annotationMetadata.getValue(Type.class, Class[].class).orElse(null) : null; if (byType != null) { qualifier = Qualifiers.byType(byType); } else { Optional<Qualifier> optional = resolutionContext.get(javax.inject.Qualifier.class.getName(), Map.class) .map(map -> (Qualifier) map.get(argument)); qualifier = optional.orElse(null); if (qualifier == null && isIterable() && argument.isAnnotationPresent(Parameter.class)) { qualifier = optional.orElseGet(() -> { final Optional<String> n = resolutionContext.get(Named.class.getName(), String.class); return n.map(Qualifiers::byName).orElse(null); }); } } } return qualifier; }
@Override public boolean matches(ConditionContext context) { AnnotationMetadataProvider component = context.getComponent(); AnnotationMetadata annotationMetadata = component.getAnnotationMetadata(); if (annotationMetadata.hasDeclaredAnnotation(Endpoint.class)) { Boolean defaultEnabled = annotationMetadata.getValue(Endpoint.class, "defaultEnabled", Boolean.class).orElse(true); String prefix = annotationMetadata.getValue(Endpoint.class, "prefix", String.class).orElse(null); String id = annotationMetadata.getValue(Endpoint.class, "value", String.class).orElse(null); String defaultId = annotationMetadata.getValue(Endpoint.class, "defaultConfigurationId", String.class).orElse(null); BeanContext beanContext = context.getBeanContext(); if (beanContext instanceof PropertyResolver) { PropertyResolver propertyResolver = (PropertyResolver) beanContext; Optional<Boolean> enabled = propertyResolver.getProperty(String.format("%s.%s.enabled", prefix, id), Boolean.class); if (enabled.isPresent()) { return enabled.get(); } else { enabled = propertyResolver.getProperty(String.format("%s.%s.enabled", prefix, defaultId), Boolean.class); return enabled.orElse(defaultEnabled); } } } return true; } }
@Override public boolean matches(ConditionContext context) { AnnotationMetadataProvider component = context.getComponent(); AnnotationMetadata annotationMetadata = component.getAnnotationMetadata(); if (annotationMetadata.hasDeclaredAnnotation(Endpoint.class)) { Boolean defaultEnabled = annotationMetadata.getValue(Endpoint.class, "defaultEnabled", Boolean.class).orElse(true); String prefix = annotationMetadata.getValue(Endpoint.class, "prefix", String.class).orElse(null); String id = annotationMetadata.getValue(Endpoint.class, "value", String.class).orElse(null); String defaultId = annotationMetadata.getValue(Endpoint.class, "defaultConfigurationId", String.class).orElse(null); BeanContext beanContext = context.getBeanContext(); if (beanContext instanceof PropertyResolver) { PropertyResolver propertyResolver = (PropertyResolver) beanContext; Optional<Boolean> enabled = propertyResolver.getProperty(String.format("%s.%s.enabled", prefix, id), Boolean.class); if (enabled.isPresent()) { return enabled.get(); } else { enabled = propertyResolver.getProperty(String.format("%s.%s.enabled", prefix, defaultId), Boolean.class); return enabled.orElse(defaultEnabled); } } } return true; } }
protected final void injectBeanField(BeanResolutionContext resolutionContext, DefaultBeanContext context, int index, Object bean) { FieldInjectionPoint fieldInjectionPoint = fieldInjectionPoints.get(index); boolean isInject = fieldInjectionPoint.getAnnotationMetadata().hasDeclaredAnnotation(Inject.class); try { Object value;
protected final void injectBeanField(BeanResolutionContext resolutionContext, DefaultBeanContext context, int index, Object bean) { FieldInjectionPoint fieldInjectionPoint = fieldInjectionPoints.get(index); boolean isInject = fieldInjectionPoint.getAnnotationMetadata().hasDeclaredAnnotation(Inject.class); try { Object value;