@Override default boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) { return getAnnotationMetadata().isAnnotationPresent(annotationClass); }
@Override default <T extends Annotation> Optional<AnnotationValue<T>> findDeclaredAnnotation(String annotation) { return getAnnotationMetadata().findDeclaredAnnotation(annotation); }
@Override default <T extends Annotation> Optional<AnnotationValue<T>> findDeclaredAnnotation(Class<T> annotationClass) { return getAnnotationMetadata().findDeclaredAnnotation(annotationClass); } }
@Override default Annotation[] synthesizeDeclared() { return getAnnotationMetadata().synthesizeDeclared(); }
@Override default <T extends Annotation> T synthesizeDeclared(Class<T> annotationClass) { return getAnnotationMetadata().synthesizeDeclared(annotationClass); }
@Override default Annotation[] synthesizeAll() { return getAnnotationMetadata().synthesizeAll(); }
@Override default boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationClass) { return getAnnotationMetadata().isDeclaredAnnotationPresent(annotationClass); }
@Override default <T extends Annotation> T[] synthesizeAnnotationsByType(Class<T> annotationClass) { return getAnnotationMetadata().synthesizeAnnotationsByType(annotationClass); }
@Override default <T extends Annotation> Optional<AnnotationValue<T>> findAnnotation(String annotation) { return getAnnotationMetadata().findAnnotation(annotation); }
@Override default <T extends Annotation> Optional<AnnotationValue<T>> findAnnotation(Class<T> annotationClass) { return getAnnotationMetadata().findAnnotation(annotationClass); }
@Override default <T extends Annotation> T synthesize(Class<T> annotationClass) { return getAnnotationMetadata().synthesize(annotationClass); }
@Override default <T extends Annotation> T[] synthesizeDeclaredAnnotationsByType(Class<T> annotationClass) { return getAnnotationMetadata().synthesizeDeclaredAnnotationsByType(annotationClass); }
@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; } }