Package org.apache.velocity.runtime.parser.node

# Class ASTElseIfStatement

java.lang.Object
org.apache.velocity.runtime.parser.node.SimpleNode
org.apache.velocity.runtime.parser.node.ASTElseIfStatement

All Implemented Interfaces:
  `Cloneable`, `Node`, `Renderable`

public class ASTElseIfStatement extends SimpleNode
This class is responsible for handling the ElseIf VTL control statement. Please look at the Parser.jjt file which is what controls the generation of this class.

Version:
  $Id$
Author:
  Jason van Zyl, Geir Magnusson Jr.

## Field Summary

### Fields inherited from class org.apache.velocity.runtime.parser.node.SimpleNode

`children, column, first, firstImage, id, info, invalid, last, lastImage, line, literal, log, parent, parser, rsvc, state, template`

## Constructor Summary

Constructors
Constructor
Description
`ASTElseIfStatement(int id)`
`ASTElseIfStatement(Parser p, int id)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`evaluate(InternalContextAdapter context)`
An ASTElseStatement is true if the expression it contains evaluates to true.
`Object`
`init(InternalContextAdapter context, Object data)`
`Object`
`jjtAccept(StandardParserVisitor visitor, Object data)`
`boolean`
`render(InternalContextAdapter context, Writer writer)`

### Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode

`childrenAccept, cleanupParserAndTokens, clone, clone, dump, dump, dump, execute, getColumn, getFirstToken, getFirstTokenImage, getInfo, getLastToken, getLastTokenImage, getLine, getLocation, getParser, getRuntimeServices, getTemplate, getTemplateName, getType, isInvalid, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, literal, saveTokenImages, setFirstToken, setInfo, setInvalid, toString, toString, value`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ASTElseIfStatement

public ASTElseIfStatement(int id)

Parameters:
  `id` -

### ASTElseIfStatement

public ASTElseIfStatement(Parser p, int id)

Parameters:
  `p` -
  `id` -

## Method Details

### init

public Object init(InternalContextAdapter context, Object data) throws TemplateInitException

Specified by:
  `init` in interface `Node`
Overrides:
  `init` in class `SimpleNode`
Parameters:
  `context` -
  `data` -
Returns:
  The init result.
Throws:
  `TemplateInitException`
See Also:
  - `Node.init(org.apache.velocity.context.InternalContextAdapter, java.lang.Object)`

### jjtAccept

public Object jjtAccept(StandardParserVisitor visitor, Object data)

Specified by:
  `jjtAccept` in interface `Node`
Overrides:
  `jjtAccept` in class `SimpleNode`
Parameters:
  `visitor` -
  `data` -
Returns:
  The Node execution result object.
See Also:
  - `SimpleNode.jjtAccept(org.apache.velocity.runtime.parser.node.StandardParserVisitor, java.lang.Object)`

### evaluate

public boolean evaluate(InternalContextAdapter context) throws MethodInvocationException
An ASTElseStatement is true if the expression it contains evaluates to true. Expressions know how to evaluate themselves, so we do that here and return the value back to ASTIfStatement where this node was originally asked to evaluate itself.

Specified by:
  `evaluate` in interface `Node`
Overrides:
  `evaluate` in class `SimpleNode`
Parameters:
  `context` -
Returns:
  True if all children are true.
Throws:
  `MethodInvocationException`
See Also:
  - `Node.evaluate(org.apache.velocity.context.InternalContextAdapter)`

### render

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

Specified by:
  `render` in interface `Node`
Specified by:
  `render` in interface `Renderable`
Overrides:
  `render` in class `SimpleNode`
Parameters:
  `context` -
  `writer` -
Returns:
  True if the node rendered successfully.
Throws:
  `IOException`
  `MethodInvocationException`
  `ResourceNotFoundException`
  `ParseErrorException`
See Also:
  - `SimpleNode.render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)`