1 /******************************************************************************* 2 * Copyright (c) 2000, 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.team.internal.ui.actions; 12 13 import java.lang.reflect.InvocationTargetException; 14 15 import org.eclipse.jface.operation.IRunnableWithProgress; 16 17 /** 18 * An ITeamRunnableContext is used to provide the context for a Team operation. 19 * The hierarchy of contexts is used to configure the following: 20 * 1) whether the operation is run in the background as a job 21 * 2) whether the operation modifies the workspace 22 * 3) what shell the operation should use to display info to the user 23 */ 24 public interface ITeamRunnableContext { 25 26 /** 27 * Run the given runnable in the context of the receiver. By default, the 28 * progress is provided by the active workbench windows but subclasses may 29 * override this to provide progress in some other way (Progress Monitor or 30 * job). 31 */ 32 public abstract void run(IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException; 33 } 34