de.swm.gwt.client.eventbus.IDispatcher Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of swm-gwt-client Show documentation
Show all versions of swm-gwt-client Show documentation
Plain GWT Swm erweiterungen, auch zur benutzung in mobilen Geraeten
package de.swm.gwt.client.eventbus;
import java.util.Set;
import de.swm.gwt.client.interfaces.ILocation;
import de.swm.gwt.client.mobile.IPage;
/**
* Dispatcher fuer verschiedene event-types. Ein Dispatcher dient zum Verarbeiten von events eines bestimmten Enum-Typs.
*
* @author wiese.daniel
* copyright (C) 2009, SWM Services GmbH
*
*/
public interface IDispatcher {
/**
* Registriert einen Event-Type und einen Controller am Dispatcher.
*
* @param event
* der event-typ
* @param handler
* der handler (der controller)
*/
void registerEventTypes(IEvent event, IEventHandler handler);
/**
* Registriert einen Event-Type und einen Controller am Dispatcher (fuer mobile Plattformen).
*
* @param event
* der event-typ
* @param handler
* der handler (der controller)
*/
void registerEventTypes(IEvent event, IMobileEventHandler handler);
/**
* Loest ein Event aus und benachrichtigt die registrierten Controller.
*
* @param event
* der event
*/
void fireEvent(IEvent event);
/**
* Loest ein Event aus und benachrichtigt die registrierten Controller, weiterhin wird ein forward-event en den
* Presenter uebergeben der dieses weiterleiten kann.
*
* @param event
* der event
* @param eventToForward
* das event welches weitergeleitet werden kann
*/
void fireEvent(IEvent event, IForwardEvent eventToForward);
/**
* Loest ein Event aus und benachrichtigt die registrierten Controller, weiterhin wird ein forward-event en den
* Presenter uebergeben der dieses weiterleiten kann.
*
* @param event
* der event
* @param eventToForward
* das event welches weitergeleitet werden kann
* @param location
* uebergibt man zusaetzlich die Location, also den Bereich wohin der Presenter seine View hinein rendern
* soll.
*/
void fireEvent(IEvent event, IForwardEvent eventToForward, ILocation location);
/**
* Loest ein Event aus und benachrichtigt die registrierten Controller, weiterhin wird ein forward-event en den
* Presenter uebergeben der dieses weiterleiten kann.
*
* @param event
* der event
* @param eventToForward
* das event welches weitergeleitet werden kann
* @param location
* uebergibt man zusaetzlich die Location, also den Bereich wohin der Presenter seine View hinein rendern
* soll.
* @param customData
* daten um ein Formular/Liste zu cutumizen (anzupassen) mit neuen Titel, Untertitel etc..)
*
*/
void fireEvent(IEvent event, IForwardEvent eventToForward, ILocation location, ICustomData customData);
/**
* Loest ein Event aus und benachrichtigt die registrierten Presenter.
*
* @param event
* der event
* @param location
* uebergibt man zusaetzlich die Location, also den Bereich wohin der Presenter seine View hinein rendern
* soll.
*/
void fireEvent(IEvent event, ILocation location);
/**
* Loest ein Event aus und benachrichtigt die registrierten Presenter.
*
* @param event
* der event
* @param customData
* daten um ein Formular/Liste zu cutumizen (anzupassen) mit neuen Titel, Untertitel etc..)
*/
void fireEvent(IEvent event, ICustomData customData);
/**
* Loest ein Event aus und benachrichtigt die registrierten Presenter.
*
* @param event
* der event
* @param location
* uebergibt man zusaetzlich die Location, also den Bereich wohin der Presenter seine View hinein rendern
* soll.
* @param customData
* daten um ein Formular/Liste zu cutumizen (anzupassen) mit neuen Titel, Untertitel etc..)
*/
void fireEvent(IEvent event, ILocation location, ICustomData customData);
// /Mobiler Teil
/**
* Loest ein Event aus und benachrichtigt die registrierten Controller.
*
* @param event
* der event
*/
void fireMobileEvent(IEvent event);
/**
* Loest ein Event aus und benachrichtigt die registrierten Controller.
*
* @param event
* der event
* @param originatorPage
* Die seite (mobile Plattformen sind Seitenbasiert) die das Event ausgeloest hat.
*/
void fireMobileEvent(IEvent event, IPage originatorPage);
/**
* Loest ein Event aus und benachrichtigt die registrierten Controller.
*
* @param event
* der event
* @param originatorPage
* Die seite (mobile Plattformen sind Seitenbasiert) die das Event ausgeloest hat.
* @param customData
* die benutzerdaten oder null die mit dem Event mitgesendet werden.
*/
void fireMobileEvent(IEvent event, IPage originatorPage, IMobileCustomData customData);
/**
* Disabled ein bestimmtes Event(s) auf dem Event-Bus. Diese werden dann nicht mehr getriggert.
*
* @param eventToDisable
* das event welches disabled werden soll.
*/
void disableEvents(IEvent... eventToDisable);
/**
* Disabled alle aktuell registrierten Events auf dem EventBus und liefert diese zurueck.
*
* @return alle events auf dem EventBus
*/
Set disableAllEvents();
/**
* Liefert alle aktuell disableten Events.
*
* @return alle aktuell disableten events.
*/
Set getAllDisabledEvents();
/**
* Enabled alle aktuell disableten Events.
*/
void enableAllEvents();
/**
* Evebled eine Menge von Events auf dem Event-Bus.
*
* @param eventToEnable
* das event welches enebled werden soll.
*/
void enableEvents(IEvent... eventToEnable);
}