package org.jboss.windup.reporting.freemarker;
import java.util.List;
import org.jboss.windup.config.GraphRewrite;
import org.jboss.windup.config.phase.RulePhase;
import freemarker.ext.beans.StringModel;
import freemarker.template.TemplateModelException;
/**
* Returns true if the passed in object is a and instanceof {@link RulePhase}.<br/>
*
* isRulePhase(Object):boolean
*
*/
public class IsRulePhaseMethod implements WindupFreeMarkerMethod
{
@Override
public Object exec(@SuppressWarnings("rawtypes") List arguments) throws TemplateModelException
{
if (arguments.size() != 1)
{
throw new TemplateModelException(
"Error, method expects one argument (Object)");
}
StringModel stringModel = (StringModel) arguments.get(0);
Object object = stringModel.getWrappedObject();
return object instanceof RulePhase;
}
@Override
public String getMethodName()
{
return "isRulePhase";
}
@Override
public String getDescription()
{
return "Returns true if the passed in object is an instance of " + RulePhase.class.getSimpleName() + ".";
}
@Override
public void setContext(GraphRewrite event)
{
}
}