package org.ovirt.engine.ui.uicommonweb.models;
import java.util.Objects;
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HasHandlers;
import com.google.web.bindery.event.shared.HandlerRegistration;
public class GridTimerStateChangeEvent extends GwtEvent<GridTimerStateChangeEvent.GridTimerStateChangeEventHandler> {
int refreshRate;
protected GridTimerStateChangeEvent() {
// Possibly for serialization.
}
public GridTimerStateChangeEvent(int newRefreshRate) {
this.refreshRate = newRefreshRate;
}
public static void fire(HasHandlers source, int newRefreshRate) {
GridTimerStateChangeEvent eventInstance = new GridTimerStateChangeEvent(newRefreshRate);
source.fireEvent(eventInstance);
}
public static void fire(HasHandlers source, GridTimerStateChangeEvent eventInstance) {
source.fireEvent(eventInstance);
}
public interface HasGridTimerStateChangeEventHandlers extends HasHandlers {
HandlerRegistration addGridTimerStateChangeEventHandler(GridTimerStateChangeEventHandler handler);
}
public interface GridTimerStateChangeEventHandler extends EventHandler {
public void onGridTimerStateChange(GridTimerStateChangeEvent event);
}
private static final Type<GridTimerStateChangeEventHandler> TYPE = new Type<>();
public static Type<GridTimerStateChangeEventHandler> getType() {
return TYPE;
}
@Override
public Type<GridTimerStateChangeEventHandler> getAssociatedType() {
return TYPE;
}
@Override
protected void dispatch(GridTimerStateChangeEventHandler handler) {
handler.onGridTimerStateChange(this);
}
public int getRefreshRate() {
return refreshRate;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof GridTimerStateChangeEvent)) {
return false;
}
GridTimerStateChangeEvent other = (GridTimerStateChangeEvent) obj;
return refreshRate == other.refreshRate;
}
@Override
public int hashCode() {
return Objects.hashCode(refreshRate);
}
@Override
public String toString() {
return "RefreshActiveModelEvent[RefreshRate: " + refreshRate + "]"; //$NON-NLS-1$ //$NON-NLS-2$
}
}