SingleCandidateSpec Class — spring-boot Architecture
Architecture documentation for the SingleCandidateSpec class in OnBeanCondition.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnBeanCondition.java lines 806–828
private static class SingleCandidateSpec extends Spec<ConditionalOnSingleCandidate> {
private static final Collection<String> FILTERED_TYPES = Arrays.asList("", Object.class.getName());
SingleCandidateSpec(ConditionContext context, AnnotatedTypeMetadata metadata, MergedAnnotations annotations) {
super(context, metadata, annotations, ConditionalOnSingleCandidate.class);
}
@Override
protected Set<String> extractTypes(@Nullable MultiValueMap<String, @Nullable Object> attributes) {
Set<String> types = super.extractTypes(attributes);
types.removeAll(FILTERED_TYPES);
return types;
}
@Override
protected void validate(@Nullable BeanTypeDeductionException ex) {
Assert.isTrue(getTypes().size() == 1,
() -> getAnnotationName() + " annotations must specify only one type (got "
+ StringUtils.collectionToCommaDelimitedString(getTypes()) + ")");
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free