package jenkins.python.expoint;
import hudson.FilePath.TarCompression;
import hudson.matrix.MatrixBuild;
import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.Computer;
import hudson.model.Describable;
import hudson.model.Job;
import hudson.model.TaskListener;
import hudson.util.DirScanner.Glob;
import hudson.util.io.ArchiverFactory;
import jenkins.model.Jenkins;
import hudson.model.listeners.RunListener;
import hudson.scm.SCM;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import hudson.*;
import hudson.FileSystemProvisioner.*;
import jenkins.python.DataConvertor;
import jenkins.python.PythonExecutor;
/**
* This class was automatically generated by the PWM tool on 2014/03/21.
* @see hudson.FileSystemProvisioner
*/
public abstract class FileSystemProvisionerPW extends FileSystemProvisioner {
private transient PythonExecutor pexec;
private void initPython() {
if (pexec == null) {
pexec = new PythonExecutor(this);
String[] jMethods = new String[3];
jMethods[0] = "prepareWorkspace";
jMethods[1] = "discardWorkspace";
jMethods[2] = "snapshot";
String[] pFuncs = new String[3];
pFuncs[0] = "prepare_workspace";
pFuncs[1] = "discard_workspace";
pFuncs[2] = "snapshot";
Class[][] argTypes = new Class[3][];
argTypes[0] = new Class[3];
argTypes[0][0] = AbstractBuild.class;
argTypes[0][1] = FilePath.class;
argTypes[0][2] = TaskListener.class;
argTypes[1] = new Class[2];
argTypes[1][0] = AbstractProject.class;
argTypes[1][1] = FilePath.class;
argTypes[2] = new Class[4];
argTypes[2][0] = AbstractBuild.class;
argTypes[2][1] = FilePath.class;
argTypes[2][2] = String.class;
argTypes[2][3] = TaskListener.class;
pexec.checkAbstrMethods(jMethods, pFuncs, argTypes);
String[] functions = new String[1];
functions[0] = "get_descriptor";
int[] argsCount = new int[1];
argsCount[0] = 0;
pexec.registerFunctions(functions, argsCount);
}
}
@Override
public void prepareWorkspace(AbstractBuild<?, ?> build, FilePath ws, TaskListener listener) throws IOException, InterruptedException {
initPython();
pexec.execPythonVoid("prepare_workspace", build, ws, listener);
}
@Override
public void discardWorkspace(AbstractProject<?, ?> project, FilePath ws) throws IOException, InterruptedException {
initPython();
pexec.execPythonVoid("discard_workspace", project, ws);
}
@Override
public WorkspaceSnapshot snapshot(AbstractBuild<?, ?> build, FilePath ws, String glob, TaskListener listener) throws IOException, InterruptedException {
initPython();
return (WorkspaceSnapshot) pexec.execPython("snapshot", build, ws, glob, listener);
}
@Override
public FileSystemProvisionerDescriptor getDescriptor() {
initPython();
if (pexec.isImplemented(0)) {
return (FileSystemProvisionerDescriptor) pexec.execPython("get_descriptor");
} else {
return super.getDescriptor();
}
}
public FileSystemProvisionerDescriptor superGetDescriptor() {
return super.getDescriptor();
}
public Object execPython(String function, Object... params) {
initPython();
return pexec.execPython(function, params);
}
public byte execPythonByte(String function, Object... params) {
initPython();
return pexec.execPythonByte(function, params);
}
public short execPythonShort(String function, Object... params) {
initPython();
return pexec.execPythonShort(function, params);
}
public char execPythonChar(String function, Object... params) {
initPython();
return pexec.execPythonChar(function, params);
}
public int execPythonInt(String function, Object... params) {
initPython();
return pexec.execPythonInt(function, params);
}
public long execPythonLong(String function, Object... params) {
initPython();
return pexec.execPythonLong(function, params);
}
public float execPythonFloat(String function, Object... params) {
initPython();
return pexec.execPythonFloat(function, params);
}
public double execPythonDouble(String function, Object... params) {
initPython();
return pexec.execPythonDouble(function, params);
}
public boolean execPythonBool(String function, Object... params) {
initPython();
return pexec.execPythonBool(function, params);
}
public void execPythonVoid(String function, Object... params) {
initPython();
pexec.execPythonVoid(function, params);
}
}