All Implemented Interfaces:
Cloneable, DirectiveConstants

public class Define extends Block
Directive that puts an unrendered AST block in the context under the specified key, postponing rendering until the reference is used and rendered.
Version:
$Id: Define.java 686842 2008-08-18 18:29:31Z nbubna $
Author:
Andrew Tetlaw, Nathan Bubna
  • Constructor Details

    • Define

      public Define()
  • Method Details

    • getName

      public String getName()
      Return name of this directive.
      Specified by:
      getName in class Directive
      Returns:
      The name of this directive.
    • init

      public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException
      simple init - get the key
      Overrides:
      init in class Block
      Parameters:
      rs -
      context -
      node -
      Throws:
      TemplateInitException
    • render

      public boolean render(InternalContextAdapter context, Writer writer, Node node)
      directive.render() simply makes an instance of the Block inner class and places it into the context as indicated.
      Specified by:
      render in class Directive
      Parameters:
      context -
      writer -
      node -
      Returns:
      True if the directive rendered successfully.
    • checkArgs

      public void checkArgs(ArrayList<Integer> argtypes, Token t, String templateName) throws ParseException
      Called by the parser to validate the argument types
      Overrides:
      checkArgs in class Directive
      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