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
+ "]";
}
}