public Boolean insertarClase(Clase nueva) { if (!existeClase(nueva.getNombre())) { this.listaClases.Add(nueva); return(true); } return(false); }
public Boolean actualizarClase(Clase actualizar) { Clase temporal; for (int i = 0; i < this.listaClases.Count; i++) { temporal = this.listaClases.ElementAt(i); if (temporal.getNombre().ToUpper().Equals(actualizar.getNombre().ToUpper())) { this.listaClases.RemoveAt(i); this.listaClases.Add(actualizar); return(true); } } return(false); }
public Boolean seleccionarClaseActual(String nombreClase) { Clase temporal; if (this.claseActual.getNombre() != null) { actualizarClase(this.claseActual); } for (int i = 0; i < this.listaClases.Count; i++) { temporal = this.listaClases.ElementAt(i); if (temporal.getNombre().ToUpper().Equals(nombreClase.ToUpper())) { this.claseActual = temporal; return(true); } } return(false); }
public clasesDiagrama agregarHerencia() { clasesDiagrama umlRetorno = new clasesDiagrama(); Clase actual; for (int i = 0; i < listaClases.Count; i++) { actual = listaClases.ElementAt(i); if (actual.herencia != null) {//posee herencia Clase clasePadre = getClase(actual.herencia); Clase temporal = new Clase(); if (clasePadre.lenguaje.Equals(actual.lenguaje, StringComparison.OrdinalIgnoreCase)) { // buscamos todos los atributos que sean validos temporal.nombre = actual.nombre; temporal.herencia = actual.herencia; temporal.lenguaje = actual.lenguaje; temporal.tamanho = actual.tamanho; temporal.apuntador = actual.apuntador; //atributos de la clase padre foreach (Atributo atrTemp in clasePadre.atributos.atributos) { Atributo nuevo = esValidoAtriHerencia(atrTemp, temporal.nombre); Atributo nuevoSuper = esPadreValidoAtriHerencia(atrTemp, temporal.nombre); if (nuevo != null && nuevoSuper != null) { temporal.addAtributo(nuevoSuper); temporal.addAtributo(nuevo); } } //agregamos los atributos de la clase ya que han sido guardados los de la clase padre foreach (Atributo item in actual.atributos.atributos) { temporal.addAtributo(item); } //agregamos las funciones de la clase padre foreach (Funcion item in clasePadre.funciones.funciones) { Funcion funcNueva = esValidoFuncHerencia(item, temporal.nombre); Funcion funcNuevaPadre = esPadreValidoFuncHerencia(item, temporal.nombre); if (funcNueva != null && funcNuevaPadre != null) { temporal.addFuncion(funcNuevaPadre); temporal.addFuncion(funcNueva); } } foreach (Funcion item in actual.funciones.funciones) { temporal.funciones.sobreEscribirFunciones(item); } umlRetorno.insertarClase(temporal); } else { ErrorA er = new ErrorA(Constantes.errorSemantico, 0, 0, 0, "La clase " + actual.nombre + " es de otro lenguaje a la clase " + clasePadre.nombre); Form1.errores.addError(er); } } else { umlRetorno.insertarClase(actual); } } return(umlRetorno); }
public clasesDiagrama() { this.claseActual = new Clase(); this.listaClases = new List <Clase>(); }