1 package com.atlassian.scheduler.core.status;
2
3 import com.atlassian.scheduler.config.JobId;
4 import com.atlassian.scheduler.config.JobRunnerKey;
5 import com.atlassian.scheduler.config.RunMode;
6 import com.atlassian.scheduler.config.Schedule;
7 import com.atlassian.scheduler.status.JobDetails;
8
9 import javax.annotation.Nonnull;
10 import javax.annotation.Nullable;
11 import java.io.Serializable;
12 import java.util.Date;
13 import java.util.Map;
14
15 import static com.atlassian.scheduler.util.Safe.copy;
16
17
18
19
20
21
22 public final class SimpleJobDetails extends AbstractJobDetails {
23 private final Map<String, Serializable> parameters;
24
25 public SimpleJobDetails(final JobId jobId, final JobRunnerKey jobRunnerKey, final RunMode runMode,
26 final Schedule schedule, @Nullable final Date nextRunTime, final byte[] rawParameters,
27 @Nullable final Map<String, Serializable> parameters) {
28 super(jobId, jobRunnerKey, runMode, schedule, nextRunTime, rawParameters);
29 this.parameters = copy(parameters);
30 }
31
32 @Override
33 @Nonnull
34 public Map<String, Serializable> getParameters() {
35 return parameters;
36 }
37
38 @Override
39 public boolean isRunnable() {
40 return true;
41 }
42
43 @Override
44 protected void appendToStringDetails(final StringBuilder sb) {
45 sb.append(",parameters=").append(parameters);
46 }
47 }
48