Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package CustomSerializer; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; import org.quartz.JobKey; import org.quartz.Trigger; import org.quartz.TriggerKey; /** * * @author josh */ public class CustomTriggerSerializer extends JsonSerializer<Trigger> { private String name; private String group; private String jobName; private String jobGroup; private String jobClass; private String startTime; private String endTime; private String nextFire; private String previousFire; @Override public void serialize(Trigger trigger, JsonGenerator generator, SerializerProvider provider) throws IOException, JsonProcessingException { loadValues(trigger); writeObject(generator); } private void loadValues(Trigger trigger) { TriggerKey key = trigger.getKey(); name = String.valueOf(key.getName()); group = String.valueOf(key.getGroup()); JobKey job = trigger.getJobKey(); jobName = String.valueOf(job.getName()); jobGroup = String.valueOf(job.getGroup()); jobClass = String.valueOf(job.getClass().getName()); startTime = String.valueOf(trigger.getStartTime().toString()); endTime = String.valueOf(trigger.getEndTime()); nextFire = String.valueOf(trigger.getNextFireTime().toString()); previousFire = String.valueOf(trigger.getPreviousFireTime().toString()); } private void writeObject(JsonGenerator generator) throws IOException { generator.writeStartObject(); generator.writeStringField("name", name); generator.writeStringField("group", group); generator.writeStringField("jobName", jobName); generator.writeStringField("jobGroup", jobGroup); generator.writeStringField("jobClass", jobClass); generator.writeStringField("startTime", startTime); generator.writeStringField("endTime", endTime); generator.writeStringField("nextFire", nextFire); generator.writeStringField("previousFire", previousFire); generator.writeEndObject(); } }