com.caucho.el
Class ArrayResolverExpr

java.lang.Object
  extended by javax.el.Expression
      extended by javax.el.ValueExpression
          extended by com.caucho.el.Expr
              extended by com.caucho.el.ArrayResolverExpr
All Implemented Interfaces:
java.io.Serializable

public class ArrayResolverExpr
extends Expr

Represents an array reference:

 a[b]
 

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.caucho.el.Expr
L, log
 
Constructor Summary
ArrayResolverExpr(Expr left, Expr right)
          Creates a new array expression.
 
Method Summary
 Expr createMethod(Expr[] args)
          Creates a method for constant arrays.
 boolean equals(java.lang.Object o)
          Returns true for equal strings.
 Expr getExpr()
          Returns the base expression.
 Expr getIndex()
          Returns the index expression.
 MethodInfo getMethodInfo(ELContext env, java.lang.Class<?> returnType, java.lang.Class<?>[] argTypes)
          Evaluates the expression, returning an object.
 java.lang.Class<?> getType(ELContext env)
          Evaluates the expression as applicable to the provided context, and returns the most general type that can be accepted by the setValue(javax.el.ELContext, java.lang.Object) method.
 java.lang.Object getValue(ELContext env)
          Evaluate the expression as an object.
 ValueReference getValueReference(ELContext context)
           
 java.lang.Object invoke(ELContext env, java.lang.Class<?>[] argTypes, java.lang.Object[] args)
          Evaluates the expression, returning an object.
 boolean isReadOnly(ELContext env)
          Returns the read-only value of the expression.
 void printCreate(WriteStream os)
          Prints the code to create an LongLiteral.
 void setValue(ELContext env, java.lang.Object value)
          Evaluate the expression as an object.
 java.lang.String toString()
          Returns a readable representation of the expr.
 
Methods inherited from class com.caucho.el.Expr
coerceToType, createField, createField, error, evalBigDecimal, evalBigInteger, evalBoolean, evalCharacter, evalDouble, evalLong, evalObject, evalPeriod, evalString, evalStringWithNull, getExpectedType, getExpressionString, hashCode, invocationError, isConstant, isDouble, isDoubleString, isLiteralText, print, print, printEscaped, printEscapedString, setProperty, toBigDecimal, toBigInteger, toBoolean, toCharacter, toDouble, toEnum, toLong, toStream, toStream, toStream, toStreamEscaped, toStreamEscaped, toStreamEscaped, toString, toString, toString, toString, toString, toStringWithNull
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArrayResolverExpr

public ArrayResolverExpr(Expr left,
                         Expr right)
Creates a new array expression.

Parameters:
left - the object expression
right - the index expression.
Method Detail

getExpr

public Expr getExpr()
Returns the base expression.


getIndex

public Expr getIndex()
Returns the index expression.


createMethod

public Expr createMethod(Expr[] args)
Creates a method for constant arrays.

Overrides:
createMethod in class Expr
Parameters:
args - the arguments for the method

getType

public java.lang.Class<?> getType(ELContext env)
                           throws PropertyNotFoundException,
                                  ELException
Evaluates the expression as applicable to the provided context, and returns the most general type that can be accepted by the setValue(javax.el.ELContext, java.lang.Object) method.

Overrides:
getType in class Expr
Parameters:
env -
Returns:
Throws:
PropertyNotFoundException
ELException

getValue

public java.lang.Object getValue(ELContext env)
                          throws ELException
Evaluate the expression as an object.

Specified by:
getValue in class Expr
Parameters:
env - the variable environment
Returns:
the evaluated object
Throws:
ELException

isReadOnly

public boolean isReadOnly(ELContext env)
                   throws ELException
Returns the read-only value of the expression.

Overrides:
isReadOnly in class Expr
Parameters:
env - the variable environment
Returns:
true if read-only
Throws:
ELException

setValue

public void setValue(ELContext env,
                     java.lang.Object value)
              throws ELException
Evaluate the expression as an object.

Overrides:
setValue in class Expr
Parameters:
env - the variable environment
Throws:
ELException

getValueReference

public ValueReference getValueReference(ELContext context)
Overrides:
getValueReference in class ValueExpression

getMethodInfo

public MethodInfo getMethodInfo(ELContext env,
                                java.lang.Class<?> returnType,
                                java.lang.Class<?>[] argTypes)
                         throws ELException
Evaluates the expression, returning an object.

Overrides:
getMethodInfo in class Expr
Parameters:
env - the variable environment
Returns:
the value of the expression as an object
Throws:
ELException

invoke

public java.lang.Object invoke(ELContext env,
                               java.lang.Class<?>[] argTypes,
                               java.lang.Object[] args)
                        throws ELException
Evaluates the expression, returning an object.

Overrides:
invoke in class Expr
Parameters:
env - the variable environment
Returns:
the value of the expression as an object
Throws:
ELException

printCreate

public void printCreate(WriteStream os)
                 throws java.io.IOException
Prints the code to create an LongLiteral.

Overrides:
printCreate in class Expr
Parameters:
os - stream to the generated *.java code
Throws:
java.io.IOException

equals

public boolean equals(java.lang.Object o)
Returns true for equal strings.

Overrides:
equals in class Expr

toString

public java.lang.String toString()
Returns a readable representation of the expr.

Specified by:
toString in class Expr