You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.1 KiB
Java

package org.gcube.data.transfer.plugin;
import java.util.Map;
import org.gcube.data.transfer.model.PluginInvocation;
import org.gcube.data.transfer.plugin.fails.ParameterException;
import org.gcube.data.transfer.plugin.fails.PluginExecutionException;
import org.gcube.data.transfer.plugin.fails.PluginInitializationException;
import org.gcube.data.transfer.plugin.fails.PluginShutDownException;
import org.gcube.data.transfer.plugin.model.DataTransferContext;
public abstract class AbstractPluginFactory<T extends AbstractPlugin> {
// Init
public abstract boolean init(DataTransferContext ctx) throws PluginInitializationException;
// On service down
public abstract boolean shutDown()throws PluginShutDownException;
public abstract PluginInvocation checkInvocation(PluginInvocation invocation, String transferredFile) throws ParameterException;
// Description
public abstract String getID();
public abstract String getDescription();
public abstract Map<String,String> getParameters();
public abstract T createWorker(PluginInvocation invocation);
public Object getInfo() throws PluginExecutionException{
return null;
};
}