Class Directive

    • Constructor Detail

      • Directive

        public Directive()
    • Method Detail

      • getName

        public abstract String getName()
        Return the name of this directive.
        Returns:
        The name of this directive.
      • getType

        public abstract int getType()
        Get the directive type BLOCK/LINE.
        Returns:
        The directive type BLOCK/LINE.
      • setLocation

        public void setLocation​(int line,
                                int column)
        Allows the template location to be set.
        Parameters:
        line -
        column -
      • setLocation

        public void setLocation​(int line,
                                int column,
                                Template template)
        Allows the template location to be set.
        Parameters:
        line -
        column -
        template -
      • getTemplate

        public Template getTemplate()
        returns the template in which this directive appears
        Returns:
        template
      • getLine

        public int getLine()
        for log msg purposes
        Returns:
        The current line for log msg purposes.
      • getColumn

        public int getColumn()
        for log msg purposes
        Returns:
        The current column for log msg purposes.
      • getTemplateName

        public String getTemplateName()
        Returns:
        The template file name this directive was defined in, or null if not defined in a file.
      • getScopeName

        public String getScopeName()
        Returns:
        the name to be used when a scope control is provided for this directive.
      • isScopeProvided

        public boolean isScopeProvided()
        Returns:
        true if there will be a scope control injected into the context when rendering this directive.
      • checkArgs

        public void checkArgs​(ArrayList<Integer> argtypes,
                              Token t,
                              String templateName)
                       throws ParseException
        The Parser calls this method during template parsing to check the arguments types. Be aware that this method is called pre init, so not all data is available in this method. The default implementation does not peform any checking. We do this so that Custom directives do not trigger any parse errors in IDEs.
        Parameters:
        argtypes - type, Array of argument types of each argument to the directive for example StandardParserTreeConstants.JJTWORD
        t - token of directive
        templateName - the name of the template this directive is referenced in.
        Throws:
        ParseException
      • preRender

        protected void preRender​(InternalContextAdapter context)
        This creates and places the scope control for this directive into the context (if scope provision is turned on).
        Parameters:
        context -
      • makeScope

        protected Scope makeScope​(Object prev)
        Parameters:
        prev -
        Returns:
        scope
      • postRender

        protected void postRender​(InternalContextAdapter context)
        This cleans up any scope control for this directive after rendering, assuming the scope control was turned on.
        Parameters:
        context -