@Override public @NonNull CrossSourceStatementReactor build() { final StatementSupportBundle initBundle = reactorSupportBundles.get(ModelProcessingPhase.INIT).build(); final StatementSupportBundle preLinkageBundle = reactorSupportBundles .get(ModelProcessingPhase.SOURCE_PRE_LINKAGE).setParent(initBundle).build(); final StatementSupportBundle linkageBundle = reactorSupportBundles.get(ModelProcessingPhase.SOURCE_LINKAGE) .setParent(preLinkageBundle).build(); final StatementSupportBundle stmtDefBundle = reactorSupportBundles .get(ModelProcessingPhase.STATEMENT_DEFINITION).setParent(linkageBundle).build(); final StatementSupportBundle fullDeclBundle = reactorSupportBundles.get(ModelProcessingPhase.FULL_DECLARATION) .setParent(stmtDefBundle).build(); final StatementSupportBundle effectiveBundle = reactorSupportBundles.get(ModelProcessingPhase.EFFECTIVE_MODEL) .setParent(fullDeclBundle).build(); final CrossSourceStatementReactor.Builder reactorBuilder = CrossSourceStatementReactor.builder() .setBundle(ModelProcessingPhase.INIT, initBundle) .setBundle(ModelProcessingPhase.SOURCE_PRE_LINKAGE, preLinkageBundle) .setBundle(ModelProcessingPhase.SOURCE_LINKAGE, linkageBundle) .setBundle(ModelProcessingPhase.STATEMENT_DEFINITION, stmtDefBundle) .setBundle(ModelProcessingPhase.FULL_DECLARATION, fullDeclBundle) .setBundle(ModelProcessingPhase.EFFECTIVE_MODEL, effectiveBundle); for (final Entry<ValidationBundleType, Collection<StatementDefinition>> entry : reactorValidationBundles .entrySet()) { reactorBuilder.setValidationBundle(entry.getKey(), entry.getValue()); } return reactorBuilder.build(); } }
/** * Create a new {@link Builder}. * * @return A new builder. */ public static @NonNull Builder builder() { return new Builder(); }