package org.jboss.windup.config.loader; import java.nio.file.Path; import java.util.Collections; import org.jboss.forge.furnace.util.Predicate; import org.jboss.windup.config.RuleProvider; import org.ocpsoft.rewrite.context.Context; import org.ocpsoft.rewrite.context.ContextBase; /** * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> */ public class RuleLoaderContext { private final Context context; private final Iterable<Path> rulePaths; private final Predicate<RuleProvider> ruleProviderFilter; private boolean fileBasedRulesOnly; public RuleLoaderContext() { this.context = new ContextBase() { }; this.rulePaths = Collections.emptyList(); this.ruleProviderFilter = (provider) -> true; } public RuleLoaderContext(Iterable<Path> rulePaths, Predicate<RuleProvider> ruleProviderFilter) { this.context = new ContextBase() { }; this.rulePaths = rulePaths; this.ruleProviderFilter = ruleProviderFilter; } public RuleLoaderContext(Context context, Iterable<Path> rulePaths, Predicate<RuleProvider> ruleProviderFilter) { this.context = context; this.rulePaths = rulePaths; this.ruleProviderFilter = ruleProviderFilter; } public RuleLoaderContext setFileBasedRulesOnly() { this.fileBasedRulesOnly = true; return this; } public boolean isFileBasedRulesOnly() { return fileBasedRulesOnly; } public Context getContext() { return context; } public Iterable<Path> getRulePaths() { return rulePaths; } public Predicate<RuleProvider> getRuleProviderFilter() { return ruleProviderFilter; } }