org.apache.taglibs.standard.lang.jstl
Class ArraySuffix

java.lang.Object
  extended by org.apache.taglibs.standard.lang.jstl.ValueSuffix
      extended by org.apache.taglibs.standard.lang.jstl.ArraySuffix
Direct Known Subclasses:
PropertySuffix

public class ArraySuffix
extends ValueSuffix

Represents an operator that obtains a Map entry, an indexed value, a property value, or an indexed property value of an object. The following are the rules for evaluating this operator:

 Evaluating a[b] (assuming a.b == a["b"])
   a is null
     return null
   b is null
     return null
   a is Map
     !a.containsKey (b)
       return null
     a.get(b) == null
       return null
     otherwise
       return a.get(b)
   a is List or array
     coerce b to int (using coercion rules)
     coercion couldn't be performed
       error
     a.get(b) or Array.get(a, b) throws ArrayIndexOutOfBoundsException or IndexOutOfBoundsException
       return null
     a.get(b) or Array.get(a, b) throws other exception
       error
     return a.get(b) or Array.get(a, b)

   coerce b to String
   b is a readable property of a
     getter throws an exception
       error
     otherwise
       return result of getter call

   otherwise
     error
 

Author:
Nathan Abramson - Art Technology Group, Shawn Bayern

Constructor Summary
ArraySuffix(Expression pIndex)
          Constructor
 
Method Summary
 Object evaluate(Object pValue, Object pContext, VariableResolver pResolver, Map functions, String defaultPrefix, Logger pLogger)
          Evaluates the expression in the given context, operating on the given value.
 String getExpressionString()
          Returns the expression in the expression language syntax
 Expression getIndex()
           
 void setIndex(Expression pIndex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArraySuffix

public ArraySuffix(Expression pIndex)
Constructor

Method Detail

getIndex

public Expression getIndex()

setIndex

public void setIndex(Expression pIndex)

getExpressionString

public String getExpressionString()
Returns the expression in the expression language syntax

Specified by:
getExpressionString in class ValueSuffix

evaluate

public Object evaluate(Object pValue,
                       Object pContext,
                       VariableResolver pResolver,
                       Map functions,
                       String defaultPrefix,
                       Logger pLogger)
                throws ELException
Evaluates the expression in the given context, operating on the given value.

Specified by:
evaluate in class ValueSuffix
Throws:
ELException


Copyright © 2001-2015 The Apache Software Foundation. All Rights Reserved.