Secciones

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: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Grails

Patron Handler (Perdon por el ladrillo)

jalv82 - lunes 01/11/2010

Tengo 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! 

Responder al hilo | Volver al foro "Grails" | Volver a los foros