jpel.language
Class AbstractExpression

java.lang.Object
  |
  +--jpel.language.AbstractExpression
All Implemented Interfaces:
Expression, java.io.Serializable
Direct Known Subclasses:
Abstraction, AbstractNamedExpression, ExpressionCall, ExpressionConnection, ExpressionIfThenElse, ExpressionListImpl, ExpressionListNumber, ExpressionObject, ExpressionSwitch

public abstract class AbstractExpression
extends java.lang.Object
implements Expression

Classe usada como referência para implementação de qualquer expressão.

See Also:
Serialized Form

Constructor Summary
AbstractExpression(jpel.language.ExpressionType type)
           
 
Method Summary
 jpel.language.Expression createClone()
          Retorna um clone da expressão.
 boolean equivalent(jpel.language.Expression exp)
          Indica se uma expressão pode ser considerada equivalente à outra.
 java.lang.Object getData()
          Retorna o dado associado à expressão.
 java.lang.Object getData(java.lang.Class type)
          Retorna o dado associado à expressão.
 java.lang.Object getSource()
          Retorna a fonte que gerou a expressão.
 jpel.language.ExpressionType getType()
          Fornece o tipo da expressão.
 void setData(java.lang.Object data)
          Ajusta o dado agregado à expressão.
 void setSource(java.lang.Object source)
          Ajusta a fonte de dados que gerou a expressão.
 void setType(jpel.language.ExpressionType type)
          Ajusta o tipo da expressão.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jpel.language.Expression
eval, freeVariable, rebuild
 

Constructor Detail

AbstractExpression

public AbstractExpression(jpel.language.ExpressionType type)
Method Detail

setSource

public void setSource(java.lang.Object source)
Description copied from interface: Expression
Ajusta a fonte de dados que gerou a expressão.

Specified by:
setSource in interface Expression
Parameters:
source - A fonte dos dados.

getSource

public java.lang.Object getSource()
Description copied from interface: Expression
Retorna a fonte que gerou a expressão. Suponha que foi aplicada um parser sobre a expressão:
x == 0 = 0
otherwise = x * fat (x-1) A tradução interna desta função não representa bem esta expressão, para isso podemos ajustar esta fonte de dados para indicar que este texto originou determinada expressão, o que facilita a construção de editores gráficos para a linguagem.

Na definição do toString(), quando este campo é diferente de null, ele correponde a descrição do objeto, caso contrário usa-se a implementação do toString() específico.

Specified by:
getSource in interface Expression
Returns:
A fonte de dados que gerou a expressão.

setData

public void setData(java.lang.Object data)
Description copied from interface: Expression
Ajusta o dado agregado à expressão.

Specified by:
setData in interface Expression
Parameters:
data - O objeto que deve ser agregado a expressão.

getData

public java.lang.Object getData()
Description copied from interface: Expression
Retorna o dado associado à expressão. Este recurso é necessário para a geração de objetos Java que não fazem parte diretamente da linguagem, como uma conexão ao banco de dados, ou mesmo os "wrapers" dos tipos primitivos.

Specified by:
getData in interface Expression
Returns:
O objeto embutido dentro de uma expressão.

getData

public java.lang.Object getData(java.lang.Class type)
Description copied from interface: Expression
Retorna o dado associado à expressão.

Specified by:
getData in interface Expression
Parameters:
type - O tipo do objeto desejado.
Returns:
O objeto embutido dentro de uma expressão se ele for do tipo solicitado, null, caso contrário.

setType

public void setType(jpel.language.ExpressionType type)
Description copied from interface: Expression
Ajusta o tipo da expressão.

Specified by:
setType in interface Expression
Parameters:
type - Novo tipo da expressão.

getType

public jpel.language.ExpressionType getType()
Description copied from interface: Expression
Fornece o tipo da expressão.

Specified by:
getType in interface Expression
Returns:
O tipo da expressão.

createClone

public jpel.language.Expression createClone()
Description copied from interface: Expression
Retorna um clone da expressão.

Specified by:
createClone in interface Expression
Returns:
O clone da expressão.

equivalent

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

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

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object