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 excluded during Windup execution. The default behavior is not to exclude any tags. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> */ public class ExcludeTagsOption extends AbstractConfigurationOption { public static final String NAME = "excludeTags"; @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 explicitly exclude from processing (by default all tags are processed). Multiple tags can be specified separated by a space (eg, --" + NAME + " TAG_1 TAG_@"; } @Override public String getDescription() { return "Indicates the tags to exclude from processing. If this is unset, then all tags will be processed. If this is set, then Rules with the specified tags will be skipped."; } @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; } }