package org.jboss.windup.exec.configuration.options; import java.util.Collection; import javax.inject.Inject; import org.jboss.windup.config.AbstractConfigurationOption; import org.jboss.windup.config.InputType; import org.jboss.windup.config.ValidationResult; import org.jboss.windup.config.metadata.RuleProviderRegistryCache; /** * Specifies the tags to be included during Windup execution. The default behavior is to include all tags. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> */ public class IncludeTagsOption extends AbstractConfigurationOption { public static final String NAME = "includeTags"; @Inject private RuleProviderRegistryCache cache; @Override public Collection<?> getAvailableValues() { return cache.getAvailableTags(); } @Override public String getName() { return NAME; } @Override public String getLabel() { return "Indicates the tags to process (by default all tags are processed)"; } @Override public String getDescription() { return "Indicates the tags to process. If this is unset, then all tags will be processed. If this is set, then only Rules with the specified tags will be processed."; } @Override public InputType getUIType() { return InputType.SELECT_MANY; } @Override public Class<String> getType() { return String.class; } @Override public boolean isRequired() { return false; } @Override public ValidationResult validate(Object value) { return ValidationResult.SUCCESS; } }