// Path: src/main/java/org/pinae/rafiki/job/Job.java
// public interface Job {
// 
// 	/**
// 	 * 获得作业名称
// 	 * 
// 	 * @return 作业名称
// 	 */
// 	public String getName();
// 
// 	/**
// 	 * 作业执行内容
// 	 * 
// 	 * @return 作业是否执行成功 true: 作业执行成功; false: 作业执行失败
// 	 * 
// 	 * @throws JobException 作业执行异常
// 	 */
// 	public 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/listener/JobListener.java
// public interface JobListener {
// 
// 	/**
// 	 * 作业执行前
// 	 */
// 	public void beforeJobExecute();
// 
// 	/**
// 	 * 作业执行后
// 	 */
// 	public void afterJobExecute();
// 	
// 	/**
// 	 * 当作业执行返回false
// 	 */
// 	public void executeFail();
// 	
// 	/**
// 	 * 当作业执行抛出异常
// 	 */
// 	public void executeException();
// 	
// 
// }
// 
// Path: src/main/java/org/pinae/rafiki/listener/TaskListener.java
// public interface TaskListener {
// 	/**
// 	 * Task执行start后执行
// 	 */
// 	public void start();
// 
// 	/**
// 	 * Task执行stop后执行
// 	 */
// 	public void finish();
// }


import org.pinae.rafiki.job.Job;
import org.pinae.rafiki.job.JobException;
import org.pinae.rafiki.listener.JobListener;
import org.pinae.rafiki.listener.TaskListener;

package org.pinae.rafiki.job;


public class MyJob implements Job, JobListener, TaskListener {
	
	private int executeCount = 0;

	public boolean execute() throws JobException {
		System.out.println("Execute Count == " + Integer.toString(executeCount));
		
		executeCount++;
		
		if (executeCount == 3) {

// Path: src/main/java/org/pinae/rafiki/job/Job.java
// public interface Job {
// 
// 	/**
// 	 * 获得作业名称
// 	 * 
// 	 * @return 作业名称
// 	 */
// 	public String getName();
// 
// 	/**
// 	 * 作业执行内容
// 	 * 
// 	 * @return 作业是否执行成功 true: 作业执行成功; false: 作业执行失败
// 	 * 
// 	 * @throws JobException 作业执行异常
// 	 */
// 	public 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/listener/JobListener.java
// public interface JobListener {
// 
// 	/**
// 	 * 作业执行前
// 	 */
// 	public void beforeJobExecute();
// 
// 	/**
// 	 * 作业执行后
// 	 */
// 	public void afterJobExecute();
// 	
// 	/**
// 	 * 当作业执行返回false
// 	 */
// 	public void executeFail();
// 	
// 	/**
// 	 * 当作业执行抛出异常
// 	 */
// 	public void executeException();
// 	
// 
// }
// 
// Path: src/main/java/org/pinae/rafiki/listener/TaskListener.java
// public interface TaskListener {
// 	/**
// 	 * Task执行start后执行
// 	 */
// 	public void start();
// 
// 	/**
// 	 * Task执行stop后执行
// 	 */
// 	public void finish();
// }


// Path: src/example/java/org/pinae/rafiki/job/MyJob.java
import org.pinae.rafiki.job.Job;
import org.pinae.rafiki.job.JobException;
import org.pinae.rafiki.listener.JobListener;
import org.pinae.rafiki.listener.TaskListener;

package org.pinae.rafiki.job;


public class MyJob implements Job, JobListener, TaskListener {
	
	private int executeCount = 0;

	public boolean execute() throws JobException {
		System.out.println("Execute Count == " + Integer.toString(executeCount));
		
		executeCount++;
		
		if (executeCount == 3) {

			return false;
