/* * Smart GWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * Smart GWT is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License version 3 * as published by the Free Software Foundation. Smart GWT is also * available under typical commercial license terms - see * http://smartclient.com/license * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.vaadin.smartgwt.server.grid.events; import com.google.common.base.Objects; import com.google.web.bindery.event.shared.Event; public class SelectionUpdatedEvent extends Event<SelectionUpdatedHandler> { private static Type<SelectionUpdatedHandler> TYPE; public static Type<SelectionUpdatedHandler> getType() { return TYPE == null ? TYPE = new Type<SelectionUpdatedHandler>() : TYPE; } public SelectionUpdatedEvent(Object source) { setSource(source); } @Override public Type<SelectionUpdatedHandler> getAssociatedType() { return getType(); } @Override protected void dispatch(SelectionUpdatedHandler handler) { handler.onSelectionUpdated(this); } @Override public boolean equals(Object obj) { if (obj instanceof SelectionUpdatedEvent) { final SelectionUpdatedEvent selectionUpdatedEvent = (SelectionUpdatedEvent) obj; return Objects.equal(selectionUpdatedEvent.getSource(), getSource()); } return false; } @Override public int hashCode() { return Objects.hashCode(getSource()); } }