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 Include

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

All Implemented Interfaces:
  Cloneable, DirectiveConstants

public class Include
extends InputBase

Pluggable directive that handles the #include() statement in VTL. This #include() can take multiple arguments of either StringLiteral or Reference.

Notes:

1. For security reasons, the included source material can only come from somewhere within the template root tree. If you want to include content from elsewhere on your disk, add extra template roots, or use a link from somwhere under template root to that content.
2. By default, there is no output to the render stream in the event of a problem. You can override this behavior with two property values : include.output.errormsg.start include.output.errormsg.end If both are defined in velocity.properties, they will be used to in the render output to bracket the arg string that caused the problem. Ex. : if you are working in html then include.output.errormsg.start=<!-- #include error : include.output.errormsg.end= --> might be an excellent way to start...
3. As noted above, #include() can take multiple arguments. Ex : #include('foo.vm' 'bar.vm' $foo) will include all three if valid to output without any special separator.

Version:
  $Id: Include.java 746438 2009-02-21 05:41:24Z nbubna $
Author:
  Geir Magnusson Jr., Jason van Zyl, Kasper Nielsen

Field Summary

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
`Include()`

Method Summary
`String` | `getName()` Return name of this directive.
`int` | `getType()` Return type of this directive.
`void` | `init(RuntimeServices rs, InternalContextAdapter context, Node node)` simple init - init the tree and get the elementKey from the AST
`boolean` | `isScopeProvided()` Since there is no processing of content, there is never a need for an internal scope.
`boolean` | `render(InternalContextAdapter context, Writer writer, Node node)` iterates through the argument list and renders every argument that is appropriate.

Methods inherited from class org.apache.velocity.runtime.directive.InputBase
`getInputEncoding`

Methods inherited from class org.apache.velocity.runtime.directive.Directive
`getColumn, getLine, getScopeName, getTemplateName, 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

### Include

    public Include()

Method Detail

### getName

    public String getName()

  Return name of this directive.

  Specified by:
    `getName` in class `Directive`
  Returns:
    The name of this directive.

### getType

    public int getType()

  Return type of this directive.

  Specified by:
    `getType` in class `Directive`
  Returns:
    The type of this directive.

### isScopeProvided

    public boolean isScopeProvided()

  Since there is no processing of content, there is never a need for an internal scope.

  Overrides:
    `isScopeProvided` in class `Directive`
  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

  simple init - init the tree and get the elementKey from the AST

  Overrides:
    `init` in class `Directive`
  Parameters:
    `rs` -
    `context` -
    `node` -
  Throws:
    `TemplateInitException`

### render

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

  iterates through the argument list and renders every argument that is appropriate. Any non appropriate arguments are logged, but render() continues.

  Specified by:
    `render` in class `Directive`
  Parameters:
    `context` -
    `writer` -
    `node` -
  Returns:
    True if the directive rendered successfully.
  Throws:
    `IOException`
    `MethodInvocationException`
    `ResourceNotFoundException`

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.