# Kleines Problem mit Java Reflections und einem eigenen Eventhandler



## xasz (10. Mrz 2014)

Hallo Leute,

ich versuche gerade einen eigenen Eventhandler und Eventrouter zu schreiben.
Es gibt verschiedenen Eventklassen, die alle  NetworkEvent implementieren.

Meine Idee ist jetzt, dass ich einen Eventhandler schreibe und der eine beliebige Funktion hat, die irgendein Subklasse von NetworkEvent bekommt.
Dann kann man den Eventhandler beim Eventrouter regisrtieren. Der jetzt eine Liste führt, für welches Event er welche Eventhandler aufrufen soll.

Das ist mal so weit die Idee. Scheitern tuts auch nur beim dynamischen Hinzufügen der Eventhandler im Router. Das hier ist mein versuch:


```
public class EventRouter {

	private Map<Class<? extends NetworkEvent>,Collection< ? extends EventHandler>> routes;
	public int register(final EventHandler handler ){
		int methodsFound = 0;
		for(Method method : handler.getClass().getDeclaredMethods()){
			if (method.getParameterTypes().length == 1){
				if(NetworkEvent.class.isAssignableFrom(method.getParameterTypes()[0])){
					routes.put((<? extends NetworkEvent>)method.getParameterTypes()[0].getClass(), handler);
				}
			}
		}
		return methodsFound;
	}
	
}
```

Die Zeile hier ist das Problemkind:

```
routes.put((<? extends NetworkEvent>)method.getParameterTypes()[0].getClass(), handler);
```

Hat irgendjemand eine Idee, wie man das sinnvoll löst ? 

Grüße xaszy


----------



## Highchiller (17. Mrz 2014)

Was ist denn genau das "Problemkind". Fliegt dir eine Exception? Verstehst du die Zeile nicht? Lässt es sich nicht kompilieren? Ohne Fehlermeldung wirds schwer aus der Sache schlau werden.
More input pls


----------

