2017-05-17 16:45:38 +02:00
|
|
|
package org.gcube.data.transfer.service.transfers.engine;
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
2017-05-25 15:55:49 +02:00
|
|
|
import org.gcube.data.transfer.model.ExecutionReport;
|
2017-05-17 16:45:38 +02:00
|
|
|
import org.gcube.data.transfer.model.PluginDescription;
|
|
|
|
import org.gcube.data.transfer.model.PluginInvocation;
|
2017-05-26 12:32:46 +02:00
|
|
|
import org.gcube.data.transfer.plugin.fails.PluginException;
|
2017-12-05 18:18:13 +01:00
|
|
|
import org.gcube.data.transfer.plugin.fails.PluginExecutionException;
|
2017-05-17 16:45:38 +02:00
|
|
|
import org.gcube.data.transfer.service.transfers.engine.faults.PluginNotFoundException;
|
2017-12-13 15:04:13 +01:00
|
|
|
import org.gcube.data.transfer.service.transfers.engine.impl.PluginManagerImpl;
|
2017-05-17 16:45:38 +02:00
|
|
|
|
|
|
|
public interface PluginManager {
|
|
|
|
|
|
|
|
public Map<String,PluginDescription> getInstalledPlugins();
|
2017-05-29 17:45:29 +02:00
|
|
|
public ExecutionReport execute(PluginInvocation invocation,String transferredFile)throws PluginException, PluginNotFoundException;
|
2017-05-26 12:32:46 +02:00
|
|
|
public void shutdown();
|
2017-12-05 18:18:13 +01:00
|
|
|
public Object getPluginInfo(String pluginID) throws PluginNotFoundException, PluginExecutionException;
|
2017-12-11 15:48:34 +01:00
|
|
|
|
|
|
|
public void initPlugins();
|
|
|
|
|
2017-12-13 15:04:13 +01:00
|
|
|
public static PluginManager get() {
|
|
|
|
return PluginManagerImpl.get();
|
|
|
|
}
|
2017-05-17 16:45:38 +02:00
|
|
|
}
|