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

import java.io.IOException;
import java.io.NotSerializableException;
import java.util.Map;

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

/**
 * 每天定时更新虚拟列索引
 * 
 * @author sunyj
 * @since 2016年12月16日 上午11:42:25
 */
public interface UpdateVirtualColumnService {

	/**
	 * 创建每天定时任务：更新指定实体类的虚拟列的索引
	 * 
	 * @param <T>
	 * 
	 * @param clazz
	 *            实体类
	 * @param fields
	 *            需更新的虚拟列，键值对（虚拟列名称：类型，实体中必须存在对应的get/set方法）
	 * @param hour
	 *            任务时间：小时
	 * @param minute
	 *            任务时间：分钟
	 * @param second
	 *            任务时间：秒
	 * @return
	 */
	public <T> DailyTaskInformation newDailyTask(Class<T> clazz, Map<String, Class<?>> fields, Integer hour,
			Integer minute, Integer second) throws NotSerializableException, ClassNotFoundException, IOException;

}
