net.ranides.assira.events
Class ReflectEventListener<T extends Event>
java.lang.Object
net.ranides.assira.events.ReflectEventListener<T>
- Type Parameters:
T -
- All Implemented Interfaces:
- EventListener<T>
public class ReflectEventListener<T extends Event>
- extends Object
- implements EventListener<T>
Obserwator pozwalający tworzyć klasy pochodne, które bezpośrednio w deklaracji
klasy definiują odpowiednie wiązania z nadchodzącymi zdarzeniami. Każde zdarzenie
otrzymane przez obserwatora jest przekazywane do wszystkich metod spełniających
kryteria. Deklaracja metody obsługi zdarzeń ma następującą postać:
- metoda pobiera tylko jeden argument
- typ argumentu odpowiada typowi obserwowanego zdarzenia
- metoda jest adnotowana za pomocą
Meta.EventHandler
Meta.EventHandler opcjonalnie określa sposób synchronizacji metody względem innych wątków
Jeśli chcesz wiązać zdarzenia na podstawie typu oraz nazwy, zobacz klasę NamedEventListener.
- Author:
- ranides
|
Constructor Summary |
ReflectEventListener(Object delegator)
Tworzy nowy obserwator, który przekazuje wszystkie zdarzenia do podanego
obiektu, wywołując na jego rzecz odpowiednie metody dopasowane na podstawie
typu zdarzenia. |
|
Method Summary |
void |
handleEvent(T event)
Metoda implementująca reakcję na zdarzenie. |
ReflectEventListener
public ReflectEventListener(Object delegator)
- Tworzy nowy obserwator, który przekazuje wszystkie zdarzenia do podanego
obiektu, wywołując na jego rzecz odpowiednie metody dopasowane na podstawie
typu zdarzenia. Przeczytaj opis klasy, aby poznać wymagania wobec metod obsługi zdarzeń.
- Parameters:
delegator -
handleEvent
public final void handleEvent(T event)
- Description copied from interface:
EventListener
- Metoda implementująca reakcję na zdarzenie. Należy zwrócić uwagę, że
wątek, w którym metoda zostanie wywołana, może być trudny do ustalenia.
Dokładniej rzecz ujmując: o tym, w jakim wątku zostanie wywołana
metoda decyduje EventRouter, do którego Listener
został podpięty. Jeśli podpięto obiekt do wielu EventRouter'ów,
to każdy może zostać wywołany w zupełnie innym kontekście.
- Specified by:
handleEvent in interface EventListener<T extends Event>
Copyright © 2013. All Rights Reserved.