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 Parse

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

All Implemented Interfaces:
  Cloneable, DirectiveConstants

public class Parse
extends InputBase

Pluggable directive that handles the `#parse()` statement in VTL.

     Notes:
     -----
      1) The parsed source material can only come from somewhere in
        the TemplateRoot tree for security reasons. There is no way
        around this.  If you want to include content from elsewhere on
        your disk, use a link from somwhere under Template Root to that
        content.

      2) There is a limited parse depth.  It is set as a property
        "directive.parse.max.depth = 10" by default.  This 10 deep
        limit is a safety feature to prevent infinite loops.

Version:
  $Id: Parse.java 928253 2010-03-27 19:39:04Z nbubna $
Author:
  Geir Magnusson Jr., Jason van Zyl, Christoph Reck

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

Method Summary
`String` | `getName()` Return name of this directive.
`String` | `getScopeName()` Overrides the default to use "template", so that all templates can use the same scope reference, whether rendered via #parse or direct merge.
`int` | `getType()` Return type of this directive.
`void` | `init(RuntimeServices rs, InternalContextAdapter context, Node node)` Init's the #parse directive.
`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, 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

### Parse

    public Parse()

Method Detail

### getName

    public String getName()

  Return name of this directive.

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

### getScopeName

    public String getScopeName()

  Overrides the default to use "template", so that all templates can use the same scope reference, whether rendered via #parse or direct merge.

  Overrides:
    `getScopeName` in class `Directive`

### getType

    public int getType()

  Return type of this directive.

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

### init

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

  Init's the #parse directive.

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

### render

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

  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`
    `ResourceNotFoundException`
    `ParseErrorException`
    `MethodInvocationException`

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.