jpel.language
Class ExpressionObject

java.lang.Object
  |
  +--jpel.language.AbstractExpression
        |
        +--jpel.language.ExpressionObject
All Implemented Interfaces:
Expression, java.io.Serializable
Direct Known Subclasses:
ExpressionBoolean, ExpressionCharacter, ExpressionNumber, ExpressionString

public class ExpressionObject
extends AbstractExpression

Representa uma expressão que oissui um objeto qualquer agregado. É esta classe que deve ser extendida quando se deseja icrementar a linguagem com novos tipos de expressões.

See Also:
Serialized Form

Constructor Summary
ExpressionObject(jpel.language.ExpressionType type, java.lang.Object value)
           
ExpressionObject(java.lang.Object value)
           
 
Method Summary
 boolean equivalent(jpel.language.Expression expression)
          Indica se uma expressão pode ser considerada equivalente à outra.
 jpel.language.Expression eval(jpel.language.Environment environment)
          Executa uma expressão de acordo com o ambiente definido.
 void freeVariable(jpel.language.ExpressionList list)
          Guarda as variáveis livres da expressão em uma lista.
 jpel.language.Expression rebuild(jpel.language.MapReplace map)
          Permite que sub-expressões sejam substibuídas por outras, de acordo com o mapeamento dado.
 
Methods inherited from class jpel.language.AbstractExpression
createClone, getData, getData, getSource, getType, setData, setSource, setType, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExpressionObject

public ExpressionObject(java.lang.Object value)

ExpressionObject

public ExpressionObject(jpel.language.ExpressionType type,
                        java.lang.Object value)
Method Detail

freeVariable

public void freeVariable(jpel.language.ExpressionList list)
Description copied from interface: Expression
Guarda as variáveis livres da expressão em uma lista.

Parameters:
list - A lista onde as variáveis livres vão ser inseridas.

rebuild

public jpel.language.Expression rebuild(jpel.language.MapReplace map)
Description copied from interface: Expression
Permite que sub-expressões sejam substibuídas por outras, de acordo com o mapeamento dado.

Parameters:
map - O mapeamento que guarda as substituições.
Returns:
Uma nova expressão com as devidas substituições.

eval

public jpel.language.Expression eval(jpel.language.Environment environment)
                              throws ExecutionException
Description copied from interface: Expression
Executa uma expressão de acordo com o ambiente definido.

Parameters:
environment - Ambiente no qual a expressão deve ser executada.
Returns:
A expressão avaliada.
Throws:
ExecutionException - Quando os tipos necessários para a correta avaliação da expressão não são respeitados.

equivalent

public boolean equivalent(jpel.language.Expression expression)
Description copied from interface: Expression
Indica se uma expressão pode ser considerada equivalente à outra.

Specified by:
equivalent in interface Expression
Overrides:
equivalent in class AbstractExpression
Parameters:
expression - Expressão ao qual se deseja verificar a equivalência.
Returns:
true, caso as expressões possam ser consideradas equivalentes, false, caso contrário.