jpel.language
Class Abstraction

java.lang.Object
  |
  +--jpel.language.AbstractExpression
        |
        +--jpel.language.Abstraction
All Implemented Interfaces:
Expression, java.io.Serializable

public class Abstraction
extends AbstractExpression

Define uma abstração, isto é, um procedimento.

See Also:
Serialized Form

Constructor Summary
Abstraction(jpel.language.ExpressionList arguments, jpel.language.Expression body)
           
 
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.ExpressionList getArguments()
           
 jpel.language.Expression getBody()
           
 boolean hasRelative()
           
 boolean isTerminal()
           
 jpel.language.Expression rebuild(jpel.language.MapReplace map)
          Permite que sub-expressões sejam substibuídas por outras, de acordo com o mapeamento dado.
 void setArguments(jpel.language.ExpressionList arguments)
           
 void setBody(jpel.language.Expression body)
           
 java.lang.String toString()
           
 
Methods inherited from class jpel.language.AbstractExpression
createClone, getData, getData, getSource, getType, setData, setSource, setType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Abstraction

public Abstraction(jpel.language.ExpressionList arguments,
                   jpel.language.Expression body)
Method Detail

getArguments

public jpel.language.ExpressionList getArguments()

setArguments

public void setArguments(jpel.language.ExpressionList arguments)

getBody

public jpel.language.Expression getBody()

setBody

public void setBody(jpel.language.Expression body)

hasRelative

public boolean hasRelative()

isTerminal

public boolean isTerminal()

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.

toString

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