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 Foreach

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

All Implemented Interfaces:
  Cloneable, DirectiveConstants

public class Foreach
extends Directive

Foreach directive used for moving through arrays, or objects that provide an Iterator.

Version:
  $Id: Foreach.java 945927 2010-05-18 22:21:41Z nbubna $
Author:
  Jason van Zyl, Geir Magnusson Jr., Daniel Rall

Nested Class Summary
`protected static class` | `Foreach.NullHolderContext` A special context to use when the foreach iterator returns a null.

Field Summary
`protected Info` | `uberInfo` immutable, so create in init

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

Method Summary
`protected void` | `clean(InternalContextAdapter context, Object o, Object savedCounter, Object nextFlag)`
`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
`protected void` | `put(InternalContextAdapter context, String key, Object value)` Extension hook to allow subclasses to control whether loop vars are set locally or not.
`boolean` | `render(InternalContextAdapter context, Writer writer, Node node)` renders the #foreach() block

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`

Field Detail

### uberInfo

    protected Info uberInfo

  immutable, so create in init

Constructor Detail

### Foreach

    public Foreach()

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.

### 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`

### put

    protected void put(InternalContextAdapter context,
                       String key,
                       Object value)

  Extension hook to allow subclasses to control whether loop vars are set locally or not. So, those in favor of VELOCITY-285, can make that happen easily by overriding this and having it use context.localPut(k,v). See VELOCITY-630 for more on this.

### render

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

  renders the #foreach() block

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

### clean

    protected void clean(InternalContextAdapter context,
                         Object o,
                         Object savedCounter,
                         Object nextFlag)

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.