Lo + Leído
Eventos destacados
Artículos para tus primeros pasos
Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Grails
Patron Handler (Perdon por el ladrillo)
jalv82 - lunes 01/11/2010Tengo las siguientes clases para el Handler:
package handler
abstract class IdPersona extends Handler {
String identificador
Componente componente
public IdPersona() {}
}
package handler
class DNI extends IdPersona { }
Estas otras para el patron Composite:
abstract class Componente {
def identificador
}
class Grupo extends Componente {
private lista = []
def agnadir(componente) { lista.add(componente) }
public Grupo obtenerGrupo() { return this; }
public Componente buscar(/*String*/DNI id) { ----> Deberia ser de tipo Handler
int i = 0;
Componente componente = null;
if (identificador.compareToIgnoreCase(id) == 0) {
componente = this;
} else {
while ((componente == null) && (i < lista.size())) {
// Si es un componente, recorro su lista.
if (lista.get(i).obtenerGrupo() != null) {
componente = lista.get(i).buscar(id);
} else if (lista.get(i).getIdentificador().compareTo(id) == 0) {
componente = lista.get(i);
}
i++;
}
}
return componente;
}
}
Me gustaria poder usar el patron handler en el composite. El metodo buscar deberia aceptar el tipo Handler pero no se como hacerlo.
El composite funciona bien si no uso el Handler
Saludos y gracias!