package edu.ualberta.med.biobank.mvp.event.ui;
import com.google.gwt.event.shared.GwtEvent;
import edu.ualberta.med.biobank.mvp.user.ui.HasList;
public class ListChangeEvent<E> extends GwtEvent<ListChangeHandler<E>> {
private final HasList<E> list;
/**
* Handler type.
*/
private static Type<ListChangeHandler<?>> TYPE;
/**
* Gets the type associated with this event.
*
* @return returns the handler type
*/
public static Type<ListChangeHandler<?>> getType() {
if (TYPE == null) {
TYPE = new Type<ListChangeHandler<?>>();
}
return TYPE;
}
public ListChangeEvent(HasList<E> list) {
this.list = list;
}
public HasList<E> getList() {
return list;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Type<ListChangeHandler<E>> getAssociatedType() {
return (Type) TYPE;
}
@Override
protected void dispatch(ListChangeHandler<E> handler) {
handler.onListChange(this);
}
}