eventos de java usando genéricos

Estoy aprendiendo genéricos de Java, y tratando de implementarlo para eventos antes de que alguien pregunte, he considerado usar el polimorfismo, pero como quiero que cada evento envíe valores diferentes al método de inicio del controlador, no puedo hacer esto.

Este es mi controlador de eventos:

    public class MyHandler {
      public void startEventAction(int num) {
        //do something with num
      }  
    }

Este es mi evento de plantilla:

     public abstract class SomeEvent<E> {
       protected List<E> handler_list = new LinkedList<E>();
       public SomeEvent() {
       }
       public Boolean addHandler(E handler) {
          return handler_list.add(handler);
       }
       public Boolean removeHandler(E handler) {
          return handler_list.remove(handler);
       } 
     }

y el evento en sí es: (ahora sé que probablemente sea incorrecto extender SomeEvent de esta manera, pero parece funcionar)

    public class MyEvent<MyHandler> extends SomeEvent<MyHandler> {
      public void executeHandlers() {   
        for (MyHandler handler : handler_list) {
            //Exception here!!
            handler.startEventAction(num);
        }
      }
    }

Mi pregunta es cómo es correcto extenderlo y por qué la función startEventAction no existe para MyHandler en el último bloque de código (para MyEvent) Las respuestas serán muy apreciadas.

Respuesta 1

Creo que debería ser

public class MyEvent<T extends MyHandler> extends SomeEvent<T> {
      public void executeHandlers() {   
        for (T handler : handler_list) {
            //Exception here!!
            handler.startEventAction(lvc_count);
        }
    }

Si usa, MyEvent<MyHandler>lo está considerando MyHandlercomo un parámetro de tipo, no como un argumento de tipo. Es por eso que generalmente prefiero usar letras como paramers de tipo en lugar de palabras completas, esto evita la confusión entre ellas y los nombres de clases e interfaces.

Respuesta: 2

Utilizamos la inyección de dependencia de Spring en una aplicación web grande. Hay servicios que deben funcionar con datos de solicitud o sesión y lo implementamos con la interfaz javax.inject.Provider como esta (...

Tengo una aplicación de Google App Engine, y como parte de esa aplicación tengo mis páginas HTML estándar, Inicio, ContactUs, Testimonios, Precios ETC ETC, cuando los usuarios hacen clic en "iniciar sesión" o van a un sitio específico ...

Estamos creando la aplicación Google App Engine en java. Estamos investigando Play! framework 1.2.x (http://www.playframework.org/) y estamos en proceso de hacer algunas pruebas con él. Nuestra principal preocupación es ...

¿Alguien puede ayudarme a agregar un calendario emergente en una página JSF? Necesito agregar un calendario donde el usuario seleccionará la fecha y la fecha seleccionada debe mostrarse en un cuadro de texto. Alguien puede ayudarme ...