package org.jboss.windup.reporting.freemarker; import org.jboss.windup.config.GraphRewrite; import freemarker.template.TemplateDirectiveModel; /** * This interface provides us with a way of looking up all TemplateDirectiveModel implementations within various windup-related addons. * * This makes it possible for windup-addons to provide extension methods that can be easily accessed by the freemarker templates. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> */ public interface WindupFreeMarkerTemplateDirective extends TemplateDirectiveModel { /** * Returns the name to be used for the function inside of freemarker. */ String getDirectiveName(); /** * This should return a description of what this directive does, along with any required parameters. */ String getDescription(); /** * Set the current {@link GraphRewrite} event to use for * {@link #execute(freemarker.core.Environment, java.util.Map, freemarker.template.TemplateModel[], freemarker.template.TemplateDirectiveBody)} */ void setContext(GraphRewrite event); }