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.parser.node
Class ASTIndex

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

All Implemented Interfaces:
  Node, Renderable

public class ASTIndex
extends SimpleNode

This node is responsible for the bracket notation at the end of a reference, e.g., $foo[1]

Field Summary
`protected boolean` | `strictRef` Indicates if we are running in strict reference mode.

Fields inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
`children, first, id, info, invalid, last, log, parent, parser, rsvc, state, templateName`

Constructor Summary
`ASTIndex(int i)`
`ASTIndex(Parser p, int i)`

Method Summary
`static Object` | `adjMinusIndexArg(Object argument, Object o, InternalContextAdapter context, SimpleNode node)` If argument is an Integer and negative, then return (o.size() - argument).
`Object` | `execute(Object o, InternalContextAdapter context)`
`Object` | `init(InternalContextAdapter context, Object data)`

Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
`childrenAccept, dump, evaluate, getColumn, getFirstToken, getInfo, getLastToken, getLine, getLocation, getRuntimeServices, getTemplateName, getType, isInvalid, jjtAccept, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, literal, render, setFirstToken, setInfo, setInvalid, toString, toString, value`

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

Field Detail

### strictRef

    protected boolean strictRef

  Indicates if we are running in strict reference mode.

Constructor Detail

### ASTIndex

    public ASTIndex(int i)

### ASTIndex

    public ASTIndex(Parser p,
                    int i)

Method Detail

### init

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

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

### adjMinusIndexArg

    public static Object adjMinusIndexArg(Object argument,
                                          Object o,
                                          InternalContextAdapter context,
                                          SimpleNode node)

  If argument is an Integer and negative, then return (o.size() - argument). Otherwise return the original argument. We use this to calculate the true index of a negative index e.g., $foo[-1]. If no size() method is found on the 'o' object, then we throw an VelocityException.

  Parameters:
    `context` - Used to access the method cache.
    `node` - ASTNode used for error reporting.

### execute

    public Object execute(Object o,
                          InternalContextAdapter context)
                   throws MethodInvocationException

  Specified by:
    `execute` in interface `Node`
  Overrides:
    `execute` in class `SimpleNode`
  Throws:
    `MethodInvocationException`
  See Also:
    `Node.execute(java.lang.Object, org.apache.velocity.context.InternalContextAdapter)`

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.