package gcom.tarefa; import gcom.seguranca.acesso.usuario.Usuario; import java.io.Serializable; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; /** * Classe que representa uma tarefa * * @author thiago * @date 24/01/2006 */ public abstract class Tarefa implements Serializable, Job { protected static final long serialVersionUID = 1L; private Set parametroTarefa = new HashSet(); private Usuario usuario; private int idFuncionalidadeIniciada; public Tarefa(Usuario usuario, int idFuncionalidadeIniciada) { this.usuario = usuario; this.idFuncionalidadeIniciada = idFuncionalidadeIniciada; } public Usuario getUsuario() { return usuario; } public void setUsuario(Usuario usuario) { this.usuario = usuario; } public Set getParametroTarefa() { return parametroTarefa; } public void setParametroTarefa(Set parametroTarefa) { this.parametroTarefa = parametroTarefa; } /** * M�todo que adiciona um Short * * @param nome * @param valor */ public void addParametro(String nome, Object valor) { parametroTarefa.add(new ParametroTarefa(nome, valor)); } /** * * @author Thiago Toscano * @date 23/05/2006 * @param nome * @return */ public Object getParametro(String nome) { Object retorno = null; Iterator it = parametroTarefa.iterator(); while (it.hasNext()) { ParametroTarefa parametroTarefa = (ParametroTarefa) it.next(); if (nome != null && nome.equals(parametroTarefa.getNome())) { retorno = parametroTarefa.getValor(); } } return retorno; } /** * M�todo que executa a tarefa * * @return Object */ public abstract Object executar() throws TarefaException; public abstract void execute(JobExecutionContext arg0) throws JobExecutionException; /** * Faz o agendamento da tarefa batch no sistema * * @author Rodrigo Silveira * @date 03/08/2006 * */ public abstract void agendarTarefaBatch(); public int getIdFuncionalidadeIniciada() { return idFuncionalidadeIniciada; } public void setIdFuncionalidadeIniciada(int idFuncionalidadeIniciada) { this.idFuncionalidadeIniciada = idFuncionalidadeIniciada; } }