// Path: src/main/java/org/pinae/rafiki/job/AbstractJob.java
// public abstract class AbstractJob implements Job {
// 	/**
// 	 * 作业序列号, 用于全局唯一识别, 任务序列号=任务名称-当前时间戳
// 	 */
// 	private String serial;
// 
// 	/**
// 	 * 作业名称
// 	 */
// 	private String name;
// 
// 
// 	public AbstractJob() {
// 		setName(this.toString());
// 	}
// 
// 
// 	public void setName(String name) {
// 		this.name = name;
// 
// 		this.serial = name + "-" + Long.toString(System.currentTimeMillis());
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public String getSerial() {
// 		return serial;
// 	}
// 
// 	public String toString() {
// 		return name;
// 	}
// 
// 	public abstract boolean execute() throws JobException;
// 
// }
// 
// Path: src/main/java/org/pinae/rafiki/job/JobException.java
// public class JobException extends Exception {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 
// 	public JobException() {
// 		super();
// 	}
// 
// 
// 	public JobException(String message) {
// 		super(message);
// 	}
// 
// 
// 	public JobException(Throwable cause) {
// 		super(cause);
// 	}
// 
// 
// 	public JobException(String message, Throwable cause) {
// 		super(message, cause);
// 	}
// 
// }


import java.lang.reflect.Method;
import org.pinae.rafiki.job.AbstractJob;
import org.pinae.rafiki.job.JobException;
		this.clazz = clazz;
		this.method = method;
	}

	public void setClassName(String className) throws JobException {
		try {
			this.clazz = Class.forName(className);
		} catch (ClassNotFoundException e) {
			throw new JobException(e);
		}
	}
	
	public void setMethod(Method method) {
		this.method = method;
	}

	public void setMethodName(String methodName) {
		this.methodName = methodName;
	}
	
	public void setParameters(Object[] parameters) {
		this.parameters = parameters;
	}

	public Object getResult() {
		return this.result;
	}

	@Override
	@SuppressWarnings("rawtypes")
// Path: src/main/java/org/pinae/rafiki/job/AbstractJob.java
// public abstract class AbstractJob implements Job {
// 	/**
// 	 * 作业序列号, 用于全局唯一识别, 任务序列号=任务名称-当前时间戳
// 	 */
// 	private String serial;
// 
// 	/**
// 	 * 作业名称
// 	 */
// 	private String name;
// 
// 
// 	public AbstractJob() {
// 		setName(this.toString());
// 	}
// 
// 
// 	public void setName(String name) {
// 		this.name = name;
// 
// 		this.serial = name + "-" + Long.toString(System.currentTimeMillis());
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public String getSerial() {
// 		return serial;
// 	}
// 
// 	public String toString() {
// 		return name;
// 	}
// 
// 	public abstract boolean execute() throws JobException;
// 
// }
// 
// Path: src/main/java/org/pinae/rafiki/job/JobException.java
// public class JobException extends Exception {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 
// 	public JobException() {
// 		super();
// 	}
// 
// 
// 	public JobException(String message) {
// 		super(message);
// 	}
// 
// 
// 	public JobException(Throwable cause) {
// 		super(cause);
// 	}
// 
// 
// 	public JobException(String message, Throwable cause) {
// 		super(message, cause);
// 	}
// 
// }


// Path: src/main/java/org/pinae/rafiki/job/impl/ReflectionJob.java
import java.lang.reflect.Method;
import org.pinae.rafiki.job.AbstractJob;
import org.pinae.rafiki.job.JobException;

		this.clazz = clazz;
		this.method = method;
	}

	public void setClassName(String className) throws JobException {
		try {
			this.clazz = Class.forName(className);
		} catch (ClassNotFoundException e) {
			throw new JobException(e);
		}
	}
	
	public void setMethod(Method method) {
		this.method = method;
	}

	public void setMethodName(String methodName) {
		this.methodName = methodName;
	}
	
	public void setParameters(Object[] parameters) {
		this.parameters = parameters;
	}

	public Object getResult() {
		return this.result;
	}

	@Override
	@SuppressWarnings("rawtypes")
	public boolean execute() throws JobException {