Java Reference
In-Depth Information
System.out.println("m(int,String) - " + increment());
}
@Listener
public void m(String s, int i)
{
System.out.println("m(String,int) - " + increment());
}
@Listener(hint="m1")
public void m1(int i)
{
System.out.println("m1(int) - Beginn");
System.out.println("m1(int) - Ende - " + increment());
}
@Listener(hint="m2")
public int m2(int i)
{
System.out.println("m2(int) - Beginn");
System.out.println("m2(int) - Ende - " + increment());
return 0;
}
@Listener(hint="m3")
public void m3()
{
System.out.println("m3() - " + increment());
}
}
Die Klasse SomeClass hat die private Methode increment, die von allen anderen Methoden
verwendet wird. Die Methode increment bescha sich über die statische Methode get der
Klasse RRB eine Referenz auf den Request-Response-Bus und wendet darauf die Methode
send in derselben Weise wie das Hauptprogramm aus Listing 15.2 bzw. Listing 15.3 an. Da
es nur ein Objekt geben wird, das auf den Hint „increment“ reagieren wird, gibt es nur
einen einzigen Rückgabewert, der damit eindeutig ist.
Alle anderen Methoden sind Listener-Methoden. Diese Methoden können also durch eine
Sendemethode aufgerufen werden. Die Sendemethode kehrt erst zurück, wenn alle Metho-
den abgearbeitet wurden. In diesem Zeitraum wird nun eine weitere Sendemethode in den
Listener-Methoden aufgerufen, was kein Problem darstellt. Daran erkennt man, dass der
Request-Response-Bus „reentrant“ ist, also während einer Benutzung eine weitere Benut-
zung erlaubt. Somit ist also in einfacher Weise gezeigt, dass eine Komponente (Counter)
durch eine andere Komponente (SomeClass) problemlos genutzt werden kann. Im Folgen-
den betrachten wir nun unterschiedliche Varianten des Sendens zur Auswahl von Listener-
Methoden.
Die ersten drei öff entlichen Methoden der Klasse SomeClass unterscheiden sich durch ihre
Parameter, wobei aber jede Parameterkombination eindeutig ist. Es ist deshalb möglich,
jede Methode eindeutig durch Angabe von Argumenten des entsprechenden Typs aufzuru-
fen, wobei es auf die Reihenfolge der Parameter ankommt (die Variable bus zeigt dabei wie
im Hauptprogramm von Listing 15.2 bzw. Listing 15.3 auf den Request-Response-Bus):
 
Search WWH ::




Custom Search