package de.otto.edison.jobs.domain;
import java.time.Instant;
import java.util.Collections;
import java.util.Map;
import static java.time.Instant.ofEpochMilli;
import static java.util.Collections.unmodifiableMap;
/**
* Meta information about a job.
*
* @since 1.0.0
*/
public final class JobMeta {
private final String jobType;
private final boolean running;
private final boolean disabled;
private final String disableComment;
private final Map<String,String> meta;
public JobMeta(final String jobType,
final boolean running,
final boolean disabled,
final String disableComment,
final Map<String,String> meta) {
this.jobType = jobType;
this.running = running;
this.disabled = disabled;
this.disableComment = disableComment != null ? disableComment : "";
this.meta = unmodifiableMap(meta);
}
public String getJobType() {
return jobType;
}
public boolean isRunning() {
return running;
}
public boolean isDisabled() {
return disabled;
}
public String getDisabledComment() {
return disableComment;
}
public String get(final String key) {
return meta.get(key);
}
public Map<String,String> getAll() {
return meta;
}
}