jpel.language
Class ExpressionListImpl

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

public class ExpressionListImpl
extends AbstractExpression
implements ExpressionList, ComparableExpression

Implementação padrão da lista de expressões.

See Also:
Serialized Form

Constructor Summary
ExpressionListImpl()
           
ExpressionListImpl(jpel.language.ExpressionType type)
           
 
Method Summary
 jpel.language.ExpressionList append(jpel.language.Expression expression)
          Adiciona uma expressão à lista.
 jpel.language.ExpressionList append(jpel.language.ExpressionList expressionList)
          Adiciona uma lista de expressões à lista.
 jpel.language.ExpressionList clear()
          Limpa a lista de expressoes.
 int compareTo(jpel.language.ComparableExpression expression)
          Indicates a order relation throught instances of the same type.
 boolean contains(jpel.language.Expression expression)
          Indica se uma expressão é parte constituinte da lista.
 boolean contains(jpel.language.ExpressionList expressionList)
          Indica se lista de expressões é parte constituinte da lista.
 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.
 java.lang.Object getData(java.lang.Class type)
          Retorna o dado associado à expressão.
 jpel.language.Expression head()
          Retorna o elemento cabeça da lista.
 boolean isEmpty()
          Indica se a lista está vazia.
 java.util.Iterator iterator()
          Fornece um mecanismo de varrer os elementos de uma lista.
 long length()
          Indica o tamanho da lista, isto é, quantas expressões estão presentes na lista.
static void main(java.lang.String[] args)
           
 jpel.language.Expression rebuild(jpel.language.MapReplace map)
          Permite que sub-expressões sejam substibuídas por outras, de acordo com o mapeamento dado.
 jpel.language.ExpressionList remove(jpel.language.Expression expression)
          Remove uma expressão da lista.
 jpel.language.ExpressionList remove(jpel.language.ExpressionList expressionList)
          Remove uma lista de expressões da lista.
 jpel.language.ExpressionList tail()
          Retorna a cauda da lista.
 java.lang.String toString()
           
 java.lang.String toString(java.lang.String prefix, java.lang.String separator, java.lang.String suffix)
          Retorna a representação String da lista com um determinado prefixo e sufixo.
 
Methods inherited from class jpel.language.AbstractExpression
createClone, getData, getSource, getType, setData, setSource, setType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jpel.language.Expression
createClone, getData, getSource, getType, setData, setSource, setType
 

Constructor Detail

ExpressionListImpl

public ExpressionListImpl()

ExpressionListImpl

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

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
Overrides:
getData in class AbstractExpression
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.

clear

public jpel.language.ExpressionList clear()
Description copied from interface: ExpressionList
Limpa a lista de expressoes.

Specified by:
clear in interface ExpressionList
Returns:
A lista de expressoes modificada.

append

public jpel.language.ExpressionList append(jpel.language.Expression expression)
Description copied from interface: ExpressionList
Adiciona uma expressão à lista.

Specified by:
append in interface ExpressionList
Parameters:
expression - Expressão a ser adicionada.
Returns:
A lista modificada.

append

public jpel.language.ExpressionList append(jpel.language.ExpressionList expressionList)
Description copied from interface: ExpressionList
Adiciona uma lista de expressões à lista.

Specified by:
append in interface ExpressionList
Parameters:
expressionList - Expressões a serem adicionadas.
Returns:
A lista modificada.

remove

public jpel.language.ExpressionList remove(jpel.language.Expression expression)
Description copied from interface: ExpressionList
Remove uma expressão da lista.

Specified by:
remove in interface ExpressionList
Parameters:
expression - Expressão a ser removida.
Returns:
A lista modificada.

remove

public jpel.language.ExpressionList remove(jpel.language.ExpressionList expressionList)
Description copied from interface: ExpressionList
Remove uma lista de expressões da lista.

Specified by:
remove in interface ExpressionList
Parameters:
expressionList - Expressões a serem removidas.
Returns:
A lista modificada.

contains

public boolean contains(jpel.language.Expression expression)
Description copied from interface: ExpressionList
Indica se uma expressão é parte constituinte da lista.

Specified by:
contains in interface ExpressionList
Parameters:
expression - Expressão que se deseja procurar.
Returns:
true, caso a expressão faça parte da lista, false, caso contrário.

contains

public boolean contains(jpel.language.ExpressionList expressionList)
Description copied from interface: ExpressionList
Indica se lista de expressões é parte constituinte da lista.

Specified by:
contains in interface ExpressionList
Parameters:
expressionList - Expressões que se deseja procurar.
Returns:
true, caso as expressões façam parte da lista, false, caso contrário.

length

public long length()
Description copied from interface: ExpressionList
Indica o tamanho da lista, isto é, quantas expressões estão presentes na lista.

Specified by:
length in interface ExpressionList
Returns:
Um long indicando a quantidade de elementos.

isEmpty

public boolean isEmpty()
Description copied from interface: ExpressionList
Indica se a lista está vazia.

Specified by:
isEmpty in interface ExpressionList
Returns:
true, caso a lsita na possua elementos, false caso contrário.

head

public jpel.language.Expression head()
Description copied from interface: ExpressionList
Retorna o elemento cabeça da lista.

Specified by:
head in interface ExpressionList
Returns:
Caso a lista não esteja vazia, o primeiro elemento, caso contrário, null.

tail

public jpel.language.ExpressionList tail()
Description copied from interface: ExpressionList
Retorna a cauda da lista.

Specified by:
tail in interface ExpressionList
Returns:
Caso a lista possua cauda ela é retornada, caso contrário, null.

iterator

public java.util.Iterator iterator()
Description copied from interface: ExpressionList
Fornece um mecanismo de varrer os elementos de uma lista.

Specified by:
iterator in interface ExpressionList
Returns:
Um navigator sobre a lista.

freeVariable

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

Specified by:
freeVariable in interface Expression
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.

Specified by:
rebuild in interface Expression
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.

Specified by:
eval in interface Expression
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.

compareTo

public int compareTo(jpel.language.ComparableExpression expression)
              throws BadTypedException
Description copied from interface: ComparableExpression
Indicates a order relation throught instances of the same type.

Specified by:
compareTo in interface ComparableExpression
Returns:
-1 if it comes before then the give expression, 0 if is in the same leve, and 1 otherwise.
Throws:
BadTypedException - When a wrong comparation type is passed.

toString

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

toString

public java.lang.String toString(java.lang.String prefix,
                                 java.lang.String separator,
                                 java.lang.String suffix)
Description copied from interface: ExpressionList
Retorna a representação String da lista com um determinado prefixo e sufixo.
O default é prefix = '[' e suffix = ']', caso de deseje delimitara lista com outros caracteres utiliza-se este método.

Specified by:
toString in interface ExpressionList
Parameters:
prefix - Prefixo a ser aplicado a lista de expressões separadas por separator.
separator - Separador utilizado para representar a lista.
suffix - Sufixo a ser aplicato a lista de expressões separadas por vírgulas.
Returns:
A representação String da lista com o prefixo e sufixo fornecido.

main

public static void main(java.lang.String[] args)