package org.jboss.windup.config.parser.metadata;
import org.apache.commons.lang3.StringUtils;
import org.jboss.windup.config.exception.ConfigurationException;
import org.jboss.windup.config.parser.ElementHandler;
import org.jboss.windup.config.parser.NamespaceElementHandler;
import org.jboss.windup.config.parser.ParserContext;
import org.jboss.windup.config.parser.xml.RuleProviderHandler;
import org.w3c.dom.Element;
/**
* Indicates whether or not rules in this provider will override rules from another provider. The default value is false.
*
* For example:
*
* <pre>
* <overrideProvider>
* true
* </overrideProvider>
* </pre>
*/
@NamespaceElementHandler(elementName = MetadataProviderOverrideHandler.OVERRIDE_PROVIDER, namespace = RuleProviderHandler.WINDUP_RULE_NAMESPACE)
public class MetadataProviderOverrideHandler implements ElementHandler<Boolean>
{
public static final String OVERRIDE_PROVIDER = "overrideRules";
@Override
public Boolean processElement(ParserContext handlerManager, Element element) throws ConfigurationException
{
String textContent = element.getTextContent();
return StringUtils.isNotBlank(textContent) && Boolean.parseBoolean(textContent.trim());
}
}