/* * * Copyright (C) 2007-2015 Licensed to the Comunes Association (CA) under * one or more contributor license agreements (see COPYRIGHT for details). * The CA licenses this file to you under the GNU Affero General Public * License version 3, (the "License"); you may not use this file except in * compliance with the License. This file is part of kune. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package cc.kune.core.client.events; 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; public class WaveSessionAvailableEvent extends GwtEvent<WaveSessionAvailableEvent.WaveSessionAvailableHandler> { public interface HasWaveSessionAvailableHandlers extends HasHandlers { HandlerRegistration addWaveSessionAvailableHandler(WaveSessionAvailableHandler handler); } public interface WaveSessionAvailableHandler extends EventHandler { public void onWaveSessionAvailable(WaveSessionAvailableEvent event); } private static final Type<WaveSessionAvailableHandler> TYPE = new Type<WaveSessionAvailableHandler>(); public static void fire(final HasHandlers source, final cc.kune.core.shared.dto.UserInfoDTO userInfo) { source.fireEvent(new WaveSessionAvailableEvent(userInfo)); } public static Type<WaveSessionAvailableHandler> getType() { return TYPE; } cc.kune.core.shared.dto.UserInfoDTO userInfo; protected WaveSessionAvailableEvent() { // Possibly for serialization. } public WaveSessionAvailableEvent(final cc.kune.core.shared.dto.UserInfoDTO userInfo) { this.userInfo = userInfo; } @Override protected void dispatch(final WaveSessionAvailableHandler handler) { handler.onWaveSessionAvailable(this); } @Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final WaveSessionAvailableEvent other = (WaveSessionAvailableEvent) obj; if (userInfo == null) { if (other.userInfo != null) { return false; } } else if (!userInfo.equals(other.userInfo)) { return false; } return true; } @Override public Type<WaveSessionAvailableHandler> getAssociatedType() { return TYPE; } public cc.kune.core.shared.dto.UserInfoDTO getUserInfo() { return userInfo; } @Override public int hashCode() { int hashCode = 23; hashCode = (hashCode * 37) + (userInfo == null ? 1 : userInfo.hashCode()); return hashCode; } @Override public String toString() { return "WaveSessionAvailableEvent[" + userInfo + "]"; } }