All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.lontime.extquartz.impl.beans.CronTriggerBean Maven / Gradle / Ivy

package com.github.lontime.extquartz.impl.beans;

import java.text.ParseException;
import java.util.Date;

import lombok.Getter;
import lombok.Setter;
import org.quartz.impl.triggers.CronTriggerImpl;
import org.quartz.spi.OperableTrigger;

/**
 * CronTriggerBean
 * @see CronTriggerImpl
 * @author lontime
 * @since  1.0
 */
@Getter
@Setter
public class CronTriggerBean extends AbstractTriggerBean {

    private String cronExpression;

    private Date startTime;

    private Date endTime;

    private Date nextFireTime;

    private Date previousFireTime;

    public static CronTriggerBean from(CronTriggerImpl trigger) {
        final CronTriggerBean bean = new CronTriggerBean();
        bean.setName(trigger.getName());
        bean.setGroup(trigger.getGroup());
        bean.setJobName(trigger.getJobName());
        bean.setJobGroup(trigger.getJobGroup());
        bean.setDescription(trigger.getDescription());
        bean.setCalendarName(trigger.getCalendarName());
        bean.setFireInstanceId(trigger.getFireInstanceId());
        bean.setMisfireInstruction(trigger.getMisfireInstruction());
        bean.setPriority(trigger.getPriority());

        bean.setStartTime(trigger.getStartTime());
        bean.setEndTime(trigger.getEndTime());
        bean.setNextFireTime(trigger.getNextFireTime());
        bean.setPreviousFireTime(trigger.getPreviousFireTime());
        bean.setCronExpression(trigger.getCronExpression());
        return bean;
    }

    public OperableTrigger toOperableTrigger(CronTriggerBean bean) {
        final CronTriggerImpl trigger = new CronTriggerImpl();
        try {
            trigger.setCronExpression(bean.getCronExpression());
        } catch (ParseException e) {
            throw new UnsupportedOperationException("");
        }
        trigger.setStartTime(bean.getStartTime());
        trigger.setEndTime(bean.getEndTime());
        trigger.setNextFireTime(bean.getNextFireTime());
        trigger.setPreviousFireTime(bean.getPreviousFireTime());
        trigger.setName(bean.getName());
        trigger.setGroup(bean.getGroup());
        trigger.setJobName(bean.getJobName());
        trigger.setJobGroup(bean.getJobGroup());
        trigger.setDescription(bean.getDescription());
        trigger.setCalendarName(bean.getCalendarName());
        trigger.setPriority(bean.getPriority());
        trigger.setMisfireInstruction(bean.getMisfireInstruction());
        trigger.setFireInstanceId(bean.getFireInstanceId());
        return trigger;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy