plp.orientadaObjetos1.declaracao.variavel
Class DecVariavelObjeto

java.lang.Object
  extended by plp.orientadaObjetos1.declaracao.variavel.DecVariavelObjeto
All Implemented Interfaces:
Declaracao, DecVariavel

public class DecVariavelObjeto
extends java.lang.Object
implements DecVariavel

Classe que representa a declaraçao de uma variável do tipo objeto.


Field Summary
private  Id classe
          Idenficador representando a classe da qual objeto é uma instância.
private  Id objeto
          Identificador representando o objeto.
private  Tipo tipo
          Tipo da variável declarado.
 
Constructor Summary
DecVariavelObjeto(Tipo tipo, Id objeto, Id classe)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se o tipo da classe associada é válido (se existe).
 AmbienteExecucao elabora(AmbienteExecucao ambiente)
          Cria um mapeamento do identificador para o objeto no ambiente de execução.
 Tipo getTipo(Id id)
          Retorna o tipo do identificador a ser declarado no AmbienteCompilacao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tipo

private Tipo tipo
Tipo da variável declarado.


objeto

private Id objeto
Identificador representando o objeto.


classe

private Id classe
Idenficador representando a classe da qual objeto é uma instância.

Constructor Detail

DecVariavelObjeto

public DecVariavelObjeto(Tipo tipo,
                         Id objeto,
                         Id classe)
Construtor.

Parameters:
tipo - Tipo declarado da variável.
objeto - Identificador do objeto.
classe - Classe da qual objeto é uma instância.
Method Detail

getTipo

public Tipo getTipo(Id id)
             throws VariavelNaoDeclaradaException
Retorna o tipo do identificador a ser declarado no AmbienteCompilacao

Specified by:
getTipo in interface DecVariavel
Parameters:
id - o identificador da declaracao
Returns:
o tipo do identificador
Throws:
VariavelNaoDeclaradaException

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws VariavelJaDeclaradaException,
                                VariavelNaoDeclaradaException,
                                ClasseJaDeclaradaException,
                                ClasseNaoDeclaradaException,
                                ObjetoJaDeclaradoException,
                                ObjetoNaoDeclaradoException
Cria um mapeamento do identificador para o objeto no ambiente de execução.

Specified by:
elabora in interface Declaracao
Specified by:
elabora in interface DecVariavel
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela inicialização da variável.
Throws:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoJaDeclaradoException
ObjetoNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelJaDeclaradaException,
                         VariavelNaoDeclaradaException,
                         ClasseJaDeclaradaException,
                         ClasseNaoDeclaradaException
Verifica se o tipo da classe associada é válido (se existe).

Specified by:
checaTipo in interface Declaracao
Specified by:
checaTipo in interface DecVariavel
Parameters:
ambiente - o ambiente que contem o mapeamento entre objetos e suas classes.
Returns:
true a classe existe false caso contrario.
Throws:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException