net.ranides.assira.events
Class NamedEventRouter

java.lang.Object
  extended by net.ranides.assira.events.NamedEventListener
      extended by net.ranides.assira.events.NamedEventRouter
All Implemented Interfaces:
EventListener<Event>, EventRouter, Observable

public class NamedEventRouter
extends NamedEventListener

EventRouter oferujący wsparcie dla rozszerzonej obsługi nazwanych zdarzeń (dziedziczących po NamedEvent. Klasa może realizować propagację komunikatów w sposób identyczny jak EventRouterDispatcher albo według strategii EventRouterThread - zależnie od tego, za pomocą której metody statycznej zostanie utworzona.

NamedEventListener posiada funkcjonalność wiązania podobną do ReflectEventListener. Klasy pochodne mogą deklarować metody (niekoniecznie publiczne), które zostaną uruchomione, jeśli do obserwatora zostanie wysłane określone zdarzenie. Deklaracja metody obsługi zdarzeń ma następującą postać:

thread-safe class

Author:
ranides

Method Summary
static NamedEventRouter newInstance()
          Tworzy nowy router typu NamedEventRouter, który nie kolejkuje zdarzeń.
static NamedEventRouter newInstance(String name, int size, int maxtime)
          Tworzy nowy router typu NamedEventRouter, który kolejkuje zdarzenia.
static NamedEventRouter newInstance(String name, int size, int maxtime, EventJoiner joiner)
          Tworzy nowy router typu NamedEventRouter, który kolejkuje zdarzenia.
 
Methods inherited from class net.ranides.assira.events.NamedEventListener
addEventListener, bind, bind, dispose, getEventListeners, handleEvent, removeAllEventListeners, removeEventListener, signalEvent, unbind, unbind
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newInstance

public static NamedEventRouter newInstance(String name,
                                           int size,
                                           int maxtime,
                                           EventJoiner joiner)
Tworzy nowy router typu NamedEventRouter, który kolejkuje zdarzenia. Wywołuje procedury obsługi w bliżej nieokreślonym czasie po zasygnalizowaniu zdarzenia. Utworzony obiekt należy zniszczyć po użyciu za pomocą NamedEventListener.dispose().

Utworzony obiekt EventRouter obsługuje mechanizm złączania zdarzeń w oparciu o strategię realizowaną przez EventJoiner przekazany jako argument.

Parameters:
name - nazwa wątku, który będzie przetwarzał zdarzenia
size - maksymalny rozmiar wewnętrznej kolejki komunikatów
maxtime - maksymalny czas oczekiwania na miejsce w kolejce komunikatów
joiner - procedura implementująca mechanizm łączenia wielu zdarzeń w jedno
Returns:
See Also:
EventRouterThread

newInstance

public static NamedEventRouter newInstance(String name,
                                           int size,
                                           int maxtime)
Tworzy nowy router typu NamedEventRouter, który kolejkuje zdarzenia. Wywołuje procedury obsługi w bliżej nieokreślonym czasie po zasygnalizowaniu zdarzenia. Utworzony obiekt należy zniszczyć po użyciu za pomocą NamedEventListener.dispose().

Parameters:
name - nazwa wątku, który będzie przetwarzał zdarzenia
size - maksymalny rozmiar wewnętrznej kolejki komunikatów
maxtime - maksymalny czas oczekiwania na miejsce w kolejce komunikatów
Returns:
See Also:
EventRouterThread

newInstance

public static NamedEventRouter newInstance()
Tworzy nowy router typu NamedEventRouter, który nie kolejkuje zdarzeń. Wywołuje procedury obsługi natychmiast po wywołaniu zdarzenia, w wątku, który zasygnalizował event.

Returns:
See Also:
EventRouterDispatcher


Copyright © 2013. All Rights Reserved.