package org.gcube.portlets.user.dataminermanager.client.events;
import org.gcube.portlets.user.dataminermanager.shared.workspace.ItemDescription;
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;
/**
* Delete Item Event
*
*
* @author "Giancarlo Panichi" g.panichi@isti.cnr.it
*
*/
public class DeleteItemEvent extends
GwtEvent {
public static Type TYPE = new Type();
private ItemDescription itemDescription;
public interface DeleteItemEventHandler extends EventHandler {
void onDelete(DeleteItemEvent event);
}
public interface HasDeleteItemEventHandler extends HasHandlers {
public HandlerRegistration addDeleteItemEventHandler(
DeleteItemEventHandler handler);
}
public DeleteItemEvent(ItemDescription itemDescription) {
this.itemDescription = itemDescription;
}
@Override
protected void dispatch(DeleteItemEventHandler handler) {
handler.onDelete(this);
}
@Override
public Type getAssociatedType() {
return TYPE;
}
public static Type getType() {
return TYPE;
}
public static void fire(HasHandlers source, DeleteItemEvent deleteItemEvent) {
source.fireEvent(deleteItemEvent);
}
public ItemDescription getItemDescription() {
return itemDescription;
}
@Override
public String toString() {
return "DeleteItemEvent [itemDescription=" + itemDescription + "]";
}
}