package com.ejie.ad74a.scheduler;

import org.springframework.scheduling.quartz.QuartzJobBean;

public enum SchedulerJobType {

	// ** "Tipo trabajo", "Clase Ejecutora", "Texto Descriptivo", Retardo en ms" **
	ERROR("relanzamientoError", GestionErrorJob.class, "Relanzamiento Error ", 300000L), // Relanzamiento de errores
	ERROR_TELEVIDA("relanzamientoErrorTelevida", GestionErrorTelevidaJob.class, "Relanzamiento Error TELEVIDA ",
			300000L), // Relanzamiento
	// de
	// errores
	OTRO("otroProceso", QuartzJobBean.class, "OTRO Descripción ", 30000L),

	ARCHIVADO("archivadoExpedientes", ArchivoExpedientesJob.class, "Archivado de expedientes en el SGA ", 300000L);

	String tipoTrabajo;
	Class<QuartzJobBean> jobClass;
	String descripcion;
	Long delayMS = 15000L;

	private SchedulerJobType(String tipoTrabajo, Class jobClass, String descripcion, Long delayMS) {
		this.tipoTrabajo = tipoTrabajo;
		this.jobClass = jobClass;
		this.descripcion = descripcion;
		this.delayMS = delayMS;
	}

	protected String getTipoTrabajo() {
		return this.tipoTrabajo;
	}

	Class<QuartzJobBean> getJobClass() {
		return this.jobClass;
	}

	String getDescripcion() {
		return this.descripcion;
	}

	Long getDelayMS() {
		return this.delayMS;
	}
}
