Aktionen: Versionen anzeigen
Warum Java Generics Scheisse sind

Doppelte Generic-Interfaces mit verschiedenen Generic-Typen

Das folgende gibt einen Fehler, da man ein Interface nicht für zwei verschiedene Generic-Typen implementieren kann.

Java behauptet das Interface werde "doppelt" implementiert.

public class TypesManagerController
implements
ListenerInterface<EditFormCompController>,
ListenerInterface<Double>
{

/* (non-Javadoc)
* @see de.schmiereck.typeSystem.server.tools.ListenerInterface#notify(de.schmiereck.typeSystem.server.tools.ListenerEvent)
*/
public void notify(ListenerEvent<EditFormCompController> event)
{
...
}

public void notify(ListenerEvent<Double> event)
{
...
}
}

Meine Lösung an dieser Stelle sieht so aus, das der Controller für jeden Listener den er haben will eine Listener-Eigenschaft anlegt und sich über deren Notify-Funktion (als Inner-Function) von dem jeweiligen Event-Typ benachrichtigen lässt:

/**
* Manage typeEditValueChanged Events.
*/
private Listener<EditFormCompController> typeEditValueChangedListener =
new Listener<EditFormCompController>()
{
public void notify(ListenerEvent<EditFormCompController> event)
{
...
}
};
Version 6 bearbeitet am {11.03.2006 18:02:08} von smk, Besitzer ist smk und die Berechtigungen sind eingeschränkt auf: Jeden