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 Link icon

    • Define Link icon

      public Define()
  • Method Details Link icon

    • getName Link icon

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

      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 Link icon

      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 Link icon

      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