blob: d912c9e2a017e982d680dc82d2b83c1c9b5351cd [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008-2011 Chair for Applied Software Engineering,
* Technische Universitaet Muenchen.
* 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:
* hodaie
******************************************************************************/
package org.eclipse.emf.emfstore.internal.client.observers;
import org.eclipse.emf.emfstore.common.ESObserver;
import org.eclipse.emf.emfstore.internal.client.model.ProjectSpace;
import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
/**
* Operation observers are added to a project space and informed whenever an operation is executed or undone.
*
* @author hodaie
*/
public interface OperationObserver extends ESObserver {
/**
* Called when an {@link AbstractOperation} has been executed.
*
* @param projectSpace
* the {@link ProjectSpace} this operation was executed on
* @param operation
* the executed operation
*/
void operationExecuted(ProjectSpace projectSpace, AbstractOperation operation);
/**
* Called when an {@link AbstractOperation} has been reversed.
*
* @param projectSpace
* the {@link ProjectSpace} this operation was undone on
* @param operation
* the operation that has been reversed.<br/>
* <b>Note</b>: the given operation is not reserved. If you wish to get
* the reversed operation, call {@link AbstractOperation#reverse()} on {@code operation}
*/
void operationUndone(ProjectSpace projectSpace, AbstractOperation operation);
}