plp.orientadaObjetos1.memoria
Class ContextoExecucaoOO1

java.lang.Object
  extended by plp.orientadaObjetos1.memoria.ContextoExecucaoOO1
All Implemented Interfaces:
Ambiente<Valor>, AmbienteExecucaoOO1, AmbienteOO1<Valor>

public class ContextoExecucaoOO1
extends java.lang.Object
implements AmbienteExecucaoOO1


Constructor Summary
ContextoExecucaoOO1()
          Construtor utilizado quando queremos ler do teclado.
ContextoExecucaoOO1(AmbienteExecucaoOO1 ambiente)
          Construtor da classe.
ContextoExecucaoOO1(ListaValor entrada)
          Construtor.
 
Method Summary
 void changeValor(Id idArg, Valor valorId)
          Altera o valor associado a um identificador.
 Valor get(Id idArg)
          Obtém o valor associado a um determinado identificador.
 ContextoExecucaoOO1 getContextoIdValor()
          Obtém um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.
 DefClasse getDefClasse(Id idArg)
          Obtém a definição da classe cujo nome é idArg
 ListaValor getEntrada()
          Obtém a entrada.
 java.util.HashMap<Id,DefClasse> getMapDefClasse()
          Retorna a pilha com as definiçoes das classes.
 Objeto getObjeto(ValorRef valorRef)
          Obtém o objeto associado a um dado valor referencia.
 java.util.Stack<java.util.HashMap<Id,Valor>> getPilha()
          Obtém a pilha de valores associados a identificadores
 java.util.Stack<java.util.HashMap<ValorRef,Objeto>> getPilhaObjeto()
          Obtém a pilha com os objetos e seus valores.
 ValorRef getProxRef()
          Obtém a próxima referência de acordo com o contexto atual de execução.
 ValorRef getRef()
          Obtém o valor referencia atual.
 ListaValor getSaida()
          Obtém a saída.
 void incrementa()
          Incrementa a pilha do ambiente, passando para o próximo estado.
 void map(Id idArg, Valor valorId)
          Mapeia um identificador a um valor.
 void mapDefClasse(Id idArg, DefClasse defClasse)
          Mapeia um identificador a um definição de classe.
 void mapObjeto(ValorRef valorRef, Objeto objeto)
          Mapeia um valor referência a um objeto.
 Valor read(Tipo tipoIdLido)
          Lê da entrada padrão e associa o conteúdo a um determinado identificador.
 void restaura()
          Restaura o estado do ambiente.
 java.lang.String toString()
          Retorna a representação textual do contexto de execução.
 AmbienteExecucaoOO1 write(Valor v)
          Escreve um valor 'v' na saída.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ContextoExecucaoOO1

public ContextoExecucaoOO1()
Construtor utilizado quando queremos ler do teclado.


ContextoExecucaoOO1

public ContextoExecucaoOO1(AmbienteExecucaoOO1 ambiente)
                    throws VariavelJaDeclaradaException
Construtor da classe.

Throws:
VariavelJaDeclaradaException

ContextoExecucaoOO1

public ContextoExecucaoOO1(ListaValor entrada)
Construtor.

Parameters:
entrada - Entrada para o contexto de execução.
Method Detail

getPilha

public java.util.Stack<java.util.HashMap<Id,Valor>> getPilha()
Obtém a pilha de valores associados a identificadores

Specified by:
getPilha in interface AmbienteExecucaoOO1
Returns:
a pilha de valores associados a identificadores.

getMapDefClasse

public java.util.HashMap<Id,DefClasse> getMapDefClasse()
Retorna a pilha com as definiçoes das classes.

Specified by:
getMapDefClasse in interface AmbienteExecucaoOO1
Returns:
a pilha com as definiçoes das classes.

getPilhaObjeto

public java.util.Stack<java.util.HashMap<ValorRef,Objeto>> getPilhaObjeto()
Obtém a pilha com os objetos e seus valores.

Specified by:
getPilhaObjeto in interface AmbienteExecucaoOO1
Returns:
a pilha com os objetos e seus valores.

read

public Valor read(Tipo tipoIdLido)
           throws EntradaInvalidaException
Lê da entrada padrão e associa o conteúdo a um determinado identificador.

Specified by:
read in interface AmbienteExecucaoOO1
Parameters:
tipoIdLido - Tipo do identificador ao qual será associado o valor lido.
Returns:
o valor lido.
Throws:
EntradaInvalidaException - Quando a entrada fornecida não pode ser atribuída ao tipo do identificador.

getSaida

public ListaValor getSaida()
Obtém a saída.

Specified by:
getSaida in interface AmbienteExecucaoOO1
Returns:
a saída.

getEntrada

public ListaValor getEntrada()
Obtém a entrada.

Specified by:
getEntrada in interface AmbienteExecucaoOO1
Returns:
a entrada.

write

public AmbienteExecucaoOO1 write(Valor v)
Escreve um valor 'v' na saída.

Specified by:
write in interface AmbienteExecucaoOO1
Parameters:
v - O valor a ser escrito.
Returns:
o ambiente de execução, que representa o estado atual.

incrementa

public void incrementa()
Incrementa a pilha do ambiente, passando para o próximo estado.

Specified by:
incrementa in interface Ambiente<Valor>

restaura

public void restaura()
Restaura o estado do ambiente.

Specified by:
restaura in interface Ambiente<Valor>

map

public void map(Id idArg,
                Valor valorId)
         throws VariavelJaDeclaradaException
Mapeia um identificador a um valor.

Specified by:
map in interface Ambiente<Valor>
Parameters:
idArg - Identificador.
valorId - Valor que vai ser associado ao identificador.
Throws:
VariavelJaDeclaradaException - Quando a variável já foi declarada.

mapDefClasse

public void mapDefClasse(Id idArg,
                         DefClasse defClasse)
                  throws ClasseJaDeclaradaException
Mapeia um identificador a um definição de classe.

Specified by:
mapDefClasse in interface AmbienteOO1<Valor>
Parameters:
idArg - o nome da classe
defClasse - Definição da Classe.
Throws:
ClasseJaDeclaradaException - quando a classe já foi declarada.

mapObjeto

public void mapObjeto(ValorRef valorRef,
                      Objeto objeto)
               throws ObjetoJaDeclaradoException
Mapeia um valor referência a um objeto.

Specified by:
mapObjeto in interface AmbienteExecucaoOO1
Parameters:
valorRef - Valor referência.
objeto - Objeto.
Throws:
ObjetoJaDeclaradoException - Quando esse objeto já foi declarado.

changeValor

public void changeValor(Id idArg,
                        Valor valorId)
                 throws VariavelNaoDeclaradaException
Altera o valor associado a um identificador.

Specified by:
changeValor in interface AmbienteExecucaoOO1
Parameters:
idArg - Identificador.
valorId - O valor a ser associado ao identificador.
Throws:
VariavelNaoDeclaradaException - Quando a variável não foi declarada.

get

public Valor get(Id idArg)
          throws VariavelNaoDeclaradaException
Obtém o valor associado a um determinado identificador.

Specified by:
get in interface Ambiente<Valor>
Parameters:
idArg - Identificador
Returns:
o valor associado a um determinado identificador.
Throws:
VariavelNaoDeclaradaException - Quando a variável não foi declarada.

getDefClasse

public DefClasse getDefClasse(Id idArg)
                       throws ClasseNaoDeclaradaException
Obtém a definição da classe cujo nome é idArg

Specified by:
getDefClasse in interface AmbienteOO1<Valor>
Parameters:
idArg - Nome da classe.
Returns:
a definição da classe.
Throws:
ClasseNaoDeclaradaException - quando nao foi declarada nenhuma classe com esse nome.

getObjeto

public Objeto getObjeto(ValorRef valorRef)
                 throws ObjetoNaoDeclaradoException
Obtém o objeto associado a um dado valor referencia.

Specified by:
getObjeto in interface AmbienteExecucaoOO1
Parameters:
valorRef - Valor referência
Returns:
o objeto associado a um dado valor referencia.
Throws:
ObjetoNaoDeclaradoException - Quando o objeto não foi declarado.

getProxRef

public ValorRef getProxRef()
Obtém a próxima referência de acordo com o contexto atual de execução.

Specified by:
getProxRef in interface AmbienteExecucaoOO1
Returns:
a próxima referência de acordo com o contexto atual de execução.

getRef

public ValorRef getRef()
Obtém o valor referencia atual.

Specified by:
getRef in interface AmbienteExecucaoOO1
Returns:
o valor referencia atual.

toString

public java.lang.String toString()
Retorna a representação textual do contexto de execução.

Overrides:
toString in class java.lang.Object
Returns:
a representação textual do contexto de execução.

getContextoIdValor

public ContextoExecucaoOO1 getContextoIdValor()
Obtém um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.

Specified by:
getContextoIdValor in interface AmbienteExecucaoOO1
Returns:
um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.