package org.gcube.portlets.admin.accountingmanager.client.event;
import org.gcube.portlets.admin.accountingmanager.client.type.FiltersChangeType;
import org.gcube.portlets.admin.accountingmanager.shared.data.query.SeriesRequest;
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 FiltersChangeEvent extends
GwtEvent {
public static Type TYPE = new Type();
private FiltersChangeType filtersChangeType;
private SeriesRequest seriesRequest;
public interface FiltersChangeEventHandler extends EventHandler {
void onFiltersChange(FiltersChangeEvent event);
}
public interface HasFiltersChangeEventHandler extends HasHandlers {
public HandlerRegistration addFiltersChangeEventHandler(
FiltersChangeEventHandler handler);
}
public FiltersChangeEvent(FiltersChangeType filtersChangeType, SeriesRequest seriesRequest) {
this.filtersChangeType = filtersChangeType;
this.seriesRequest=seriesRequest;
}
@Override
protected void dispatch(FiltersChangeEventHandler handler) {
handler.onFiltersChange(this);
}
@Override
public Type getAssociatedType() {
return TYPE;
}
public static Type getType() {
return TYPE;
}
public static void fire(HasHandlers source,
FiltersChangeEvent filtersChangeEvent) {
source.fireEvent(filtersChangeEvent);
}
public FiltersChangeType getFiltersChangeType() {
return filtersChangeType;
}
public SeriesRequest getSeriesRequest() {
return seriesRequest;
}
@Override
public String toString() {
return "FiltersChangeEvent [filtersChangeType=" + filtersChangeType
+ ", seriesRequest=" + seriesRequest + "]";
}
}