in initializer-generator/src/main/java/com/alibaba/initializer/generation/condition/OnModuleCondition.java [33:57]
protected boolean matches(ProjectDescription description, ConditionContext context, AnnotatedTypeMetadata metadata) {
Module module = context.getBeanFactory().getBean(Module.class);
AnnotationAttributes attributes = AnnotationAttributes
.fromMap(metadata.getAnnotationAttributes(ConditionalOnModule.class.getName(), true));
boolean root = attributes.getBoolean("root");
boolean main = attributes.getBoolean("main");
boolean others = attributes.getBoolean("others");
if (root) {
return module.isRoot();
}
if (main) {
return module.isMain();
}
if (others) {
return !module.isMain() && !module.isRoot();
}
return false;
}