package com.uas.search.console.b2b.schedule.service;

import java.util.List;

import com.uas.search.console.b2b.schedule.model.TaskInformation;

/**
 * 管理定时任务
 * 
 * @author sunyj
 * @since 2016年12月19日 上午10:52:29
 */
public interface TaskService {
	/**
	 * 建立定时任务
	 * 
	 * @param taskInformation
	 *            定时任务的信息
	 */
	public void newTask(TaskInformation taskInformation);

	/**
	 * 根据任务标题删除定时任务
	 * 
	 * @param titles
	 *            任务的标题
	 * @return 删除的定时任务
	 */
	public List<TaskInformation> delete(List<String> titles);
	
	/**
	 * 删除所有定时任务
	 * 
	 * @return 删除的定时任务
	 */
	public List<TaskInformation> deleteAll();

	/**
	 * 获取定时任务信息
	 * 
	 * @return
	 */
	public List<TaskInformation> all();

	/**
	 * 开启定时任务
	 * 
	 * @return 返回的结果
	 */
	public String start();

	/**
	 * 关闭定时任务
	 * 
	 * @return 返回的结果
	 */
	public String stop();

	/**
	 * 定时任务是否停止
	 * 
	 * @return
	 */
	public boolean isStopped();

}
