/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.api.command; import com.google.gwt.event.shared.EventHandler; import com.google.gwt.event.shared.GwtEvent; /** * Event fired when command has been updated. * <p><b>Note:</b> this event is not intended to be fired by clients. */ public class CommandUpdatedEvent extends GwtEvent<CommandUpdatedEvent.CommandUpdatedHandler> { /** Handler type. */ private static Type<CommandUpdatedHandler> TYPE; /** Initial command. */ private final CommandImpl initialCommand; /** Updated command. */ private final CommandImpl updatedCommand; /** * Creates new event. * <p><b>Note:</b> this event is not intended to be fired by clients. */ public CommandUpdatedEvent(CommandImpl initialCommand, CommandImpl updatedCommand) { this.initialCommand = initialCommand; this.updatedCommand = updatedCommand; } /** * Gets the type associated with this event. * * @return returns the handler type */ public static Type<CommandUpdatedHandler> getType() { return TYPE != null ? TYPE : (TYPE = new Type<>()); } @Override public Type<CommandUpdatedHandler> getAssociatedType() { return TYPE; } @Override protected void dispatch(CommandUpdatedHandler handler) { handler.onCommandUpdated(this); } /** Returns initial command. */ public CommandImpl getInitialCommand() { return initialCommand; } /** Returns updated command. */ public CommandImpl getUpdatedCommand() { return updatedCommand; } /** Handler for {@link CommandUpdatedEvent}. */ public interface CommandUpdatedHandler extends EventHandler { /** * Called when some command has been updated. * * @param event * the event */ void onCommandUpdated(CommandUpdatedEvent event); } }