Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.velocity.runtime.directive
Class Directive

    java.lang.Object
      org.apache.velocity.runtime.directive.Directive

All Implemented Interfaces:
  Cloneable, DirectiveConstants

Direct Known Subclasses:
  Block, Break, Evaluate, Foreach, InputBase, Literal, Macro, RuntimeMacro, Stop, VelocimacroProxy

public abstract class Directive
extends Object
implements DirectiveConstants, Cloneable

Base class for all directives used in Velocity.

Version:
  $Id: Directive.java 778045 2009-05-23 22:17:46Z nbubna $
Author:
  Jason van Zyl, Nathan Bubna

Field Summary
`protected RuntimeServices` | `rsvc`

Fields inherited from interface org.apache.velocity.runtime.directive.DirectiveConstants
`BLOCK, LINE`

Constructor Summary
`Directive()`

Method Summary
`int` | `getColumn()` for log msg purposes
`int` | `getLine()` for log msg purposes
`abstract String` | `getName()` Return the name of this directive.
`String` | `getScopeName()`
`String` | `getTemplateName()`
`abstract int` | `getType()` Get the directive type BLOCK/LINE.
`void` | `init(RuntimeServices rs, InternalContextAdapter context, Node node)` How this directive is to be initialized.
`boolean` | `isScopeProvided()`
`protected Scope` | `makeScope(Object prev)`
`protected void` | `postRender(InternalContextAdapter context)` This cleans up any scope control for this directive after rendering, assuming the scope control was turned on.
`protected void` | `preRender(InternalContextAdapter context)` This creates and places the scope control for this directive into the context (if scope provision is turned on).
`abstract boolean` | `render(InternalContextAdapter context, Writer writer, Node node)` How this directive is to be rendered
`void` | `setLocation(int line, int column)` Allows the template location to be set.
`void` | `setLocation(int line, int column, String templateName)` Allows the template location to be set.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### rsvc

    protected RuntimeServices rsvc

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,
                            String templateName)

  Allows the template location to be set.

  Parameters:
    `line` -
    `column` -

### 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()

### isScopeProvided

    public boolean isScopeProvided()

  Returns:
    true if there will be a scope control injected into the context when rendering this directive.

### init

    public void init(RuntimeServices rs,
                     InternalContextAdapter context,
                     Node node)
              throws TemplateInitException

  How this directive is to be initialized.

  Parameters:
    `rs` -
    `context` -
    `node` -
  Throws:
    `TemplateInitException`

### render

    public abstract boolean render(InternalContextAdapter context,
                                   Writer writer,
                                   Node node)
                            throws IOException,
                                   ResourceNotFoundException,
                                   ParseErrorException,
                                   MethodInvocationException

  How this directive is to be rendered

  Parameters:
    `context` -
    `writer` -
    `node` -
  Returns:
    True if the directive rendered successfully.
  Throws:
    `IOException`
    `ResourceNotFoundException`
    `ParseErrorException`
    `MethodInvocationException`

### 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).

### makeScope

    protected Scope makeScope(Object prev)

### postRender

    protected void postRender(InternalContextAdapter context)

  This cleans up any scope control for this directive after rendering, assuming the scope control was turned on.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.