|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.ranides.assira.events.EventLock
net.ranides.assira.events.EventLockUnsafe
@Meta.Unsafe public class EventLockUnsafe
Implementacja zwracana przez EventLock.unsafeLock(java.lang.Class extends net.ranides.assira.events.Event>, net.ranides.assira.events.EventRouter)
| Method Summary | ||
|---|---|---|
void |
handleEvent(Event event)
Metoda implementująca reakcję na zdarzenie. |
|
EventListener<Event> |
listener()
Metoda, której obsługa przez konkretne implementacje jest obowiązkowa. |
|
void |
release()
Niszczy obiekt EventLock i zwalnia wszystkie zasoby. |
|
void |
reset()
Resetuje stan obiektu - jeśli EventLock przechowywał w kolejce
nieobsłużone zdarzenia - są one usuwane. |
|
Event |
waitForEvent()
Metoda blokująca: wstrzymuje wykonanie bieżącego wątku do momentu, aż do obserwowanego EventRouter'a dotrze dowolne zdarzenie oczekiwane
przez EventLock lub wystąpi wyjątek InterruptedException. |
|
|
waitForEvent(Class<T> event)
Wersja oczekująca na zdarzenie konkretnego rodzaju. |
|
|
waitForEvent(Class<T> event,
long timeout)
Wersja oczekująca na zdarzenie konkretnego rodzaju. |
|
Event |
waitForEvent(long timeout)
Metoda blokująca: wstrzymuje wykonanie bieżącego wątku do momentu, aż do obserwowanego EventRouter'a dotrze dowolne zdarzenie oczekiwane
przez EventLock, wystąpi wyjątek InterruptedException, lub
minie podany czas. |
|
| Methods inherited from class net.ranides.assira.events.EventLock |
|---|
lock, singleLock, unsafeLock, weakLock |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public void handleEvent(Event event)
EventListenerDokł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.
handleEvent in interface EventListener<Event>
public Event waitForEvent()
throws InterruptedException
EventLockEventRouter'a dotrze dowolne zdarzenie oczekiwane
przez EventLock lub wystąpi wyjątek InterruptedException.
Zobacz opis klasy EventLock aby poznać szczegóły.
waitForEvent in class EventLockInterruptedException
public Event waitForEvent(long timeout)
throws InterruptedException
EventLockEventRouter'a dotrze dowolne zdarzenie oczekiwane
przez EventLock, wystąpi wyjątek InterruptedException, lub
minie podany czas.
Zobacz opis klasy EventLock aby poznać szczegóły.
waitForEvent in class EventLockInterruptedException
public <T extends Event> T waitForEvent(Class<T> event)
throws InterruptedException
EventLockEventLock.waitForEvent(), z tą różnicą, że reaguje na mniejszy zakres
zdarzeń - zawężony tylko do podanej klasy oraz jej pochodnych.
Metoda przydatna szczególnie wtedy, gdy utworzony obiekt EventLock
reaguje na bardzo ogólną klasę zdarzeń, a użytkownik w danym momencie chce
wstrzymać wykonanie w oczekiwaniu na zdarzenie bardziej szczegółowe.
waitForEvent in class EventLocknull, jeśli minął timeout
InterruptedException
public <T extends Event> T waitForEvent(Class<T> event,
long timeout)
throws InterruptedException
EventLockEventLock.waitForEvent(long timeout), z tą różnicą, że reaguje na mniejszy zakres
zdarzeń - zawężony tylko do podanej klasy oraz jej pochodnych.
Metoda przydatna szczególnie wtedy, gdy utworzony obiekt EventLock
reaguje na bardzo ogólną klasę zdarzeń, a użytkownik w danym momencie chce
wstrzymać wykonanie w oczekiwaniu na zdarzenie bardziej szczegółowe.
waitForEvent in class EventLocknull, jeśli minął timeout
InterruptedExceptionpublic void reset()
EventLockEventLock przechowywał w kolejce
nieobsłużone zdarzenia - są one usuwane. Wywołanie funkcji reset
pomiędzy dwoma wywołaniami metody wait może spowodować, że część zdarzeń,
którymi EventLock był zainteresowany zostanie utracona.
reset in class EventLockpublic void release()
EventLockEventLock i zwalnia wszystkie zasoby.
release in class EventLockpublic EventListener<Event> listener()
EventLock
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||