org.apache.velocity.runtime.directive
Class Define

java.lang.Object
  extended by org.apache.velocity.runtime.directive.Directive
      extended by org.apache.velocity.runtime.directive.Block
          extended by org.apache.velocity.runtime.directive.Define
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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.velocity.runtime.directive.Block
Block.Reference
 
Field Summary
 
Fields inherited from class org.apache.velocity.runtime.directive.Block
block, key, log, maxDepth
 
Fields inherited from class org.apache.velocity.runtime.directive.Directive
rsvc
 
Fields inherited from interface org.apache.velocity.runtime.directive.DirectiveConstants
BLOCK, LINE
 
Constructor Summary
Define()
           
 
Method Summary
 void checkArgs(ArrayList<Integer> argtypes, Token t, String templateName)
          Called by the parser to validate the argument types
 String getName()
          Return name of this directive.
 void init(RuntimeServices rs, InternalContextAdapter context, Node node)
          simple init - get the key
 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.
 
Methods inherited from class org.apache.velocity.runtime.directive.Block
getType, id, render
 
Methods inherited from class org.apache.velocity.runtime.directive.Directive
getColumn, getLine, getScopeName, getTemplateName, isScopeProvided, makeScope, postRender, preRender, setLocation, setLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Define

public Define()
Method Detail

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
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
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 ParserTreeConstants.JJTWORD
t - token of directive
templateName - the name of the template this directive is referenced in.
Throws:
ParseException


Copyright © 2000-2012 The Apache Software Foundation. All Rights Reserved.