00001 package plp.orientadaObjetos1.expressao.valor; 00002 00003 import plp.orientadaObjetos1.memoria.AmbienteCompilacao; 00004 import plp.orientadaObjetos1.memoria.AmbienteExecucao; 00005 import plp.orientadaObjetos1.util.Tipo; 00006 import plp.orientadaObjetos1.util.TipoPrimitivo; 00007 00011 public class ValorString implements ValorConcreto{ 00012 00013 private String valor; 00014 00018 public ValorString(String valor) { 00019 this.valor = valor; 00020 } 00021 00027 public String toString() { 00028 return valor; 00029 } 00030 00034 public boolean equals(ValorConcreto obj){ 00035 if (obj instanceof ValorString){ 00036 return valor.equals( ((ValorString) obj).valor()); 00037 } else { 00038 return false; 00039 } 00040 } 00041 00045 public Valor avaliar(AmbienteExecucao amb) { 00046 return this; 00047 } 00048 00052 public String valor(){ 00053 return valor; 00054 } 00055 00063 public boolean checaTipo(AmbienteCompilacao amb) { 00064 return true; 00065 } 00066 00073 public Tipo getTipo(AmbienteCompilacao amb) { 00074 return TipoPrimitivo.TIPO_STRING; 00075 } 00076 }