protected boolean matches()

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;
    }