blob: 4c08b804d1400cac917cc3d8c8e42d530d78990e [file] [log] [blame]
/*****************************************************************************
* Copyright (c) 2014 CEA LIST.
*
* 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:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
* Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - bug 496176
*****************************************************************************/
package org.eclipse.papyrus.interoperability.common.internal;
/**
* Minimal API for schedulable tasks
*
* @author Camille Letavernier
*
*/
public interface Schedulable {
/**
*
* @return true if the task is complete
*/
public boolean isComplete();
/**
*
* @return the label of the tasks
*/
public String getName();
/**
* Starts the task. The implementation should start in a separate thread (e.g. via a Job)
*/
public void start();
/**
* Requests the task to cancel. The task may not be canceled immediately; invoker should wait
* for isComplete() to return true after invoking this method
*/
public void cancel();
}