package org.gcube.portlets.admin.accountingmanager.client.event; import org.gcube.portlets.admin.accountingmanager.client.type.SessionExpiredType; import com.google.gwt.event.shared.EventHandler; import com.google.gwt.event.shared.GwtEvent; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.event.shared.HasHandlers; /** * * @author "Giancarlo Panichi" * g.panichi@isti.cnr.it * */ public class SessionExpiredEvent extends GwtEvent { public static Type TYPE = new Type(); private SessionExpiredType sessionExpiredType; public interface SessionExpiredEventHandler extends EventHandler { void onSessionExpired(SessionExpiredEvent event); } public interface HasSessionExpiredEventHandler extends HasHandlers{ public HandlerRegistration addSessionExpiredEventHandler(SessionExpiredEventHandler handler); } public SessionExpiredEvent(SessionExpiredType sessionExpiredType) { this.sessionExpiredType = sessionExpiredType; } @Override protected void dispatch(SessionExpiredEventHandler handler) { handler.onSessionExpired(this); } @Override public Type getAssociatedType() { return TYPE; } public static Type getType() { return TYPE; } public static void fire(HasHandlers source, SessionExpiredType sessionExpiredType) { source.fireEvent(new SessionExpiredEvent(sessionExpiredType)); } public SessionExpiredType getSessionExpiredType() { return sessionExpiredType; } @Override public String toString() { return "SessionExpiredEvent [sessionExpiredType=" + sessionExpiredType + "]"; } }