package io.vivarium.net.messages; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.vivarium.net.UUIDSerializer; import io.vivarium.net.jobs.Job; import io.vivarium.util.UUID; import lombok.EqualsAndHashCode; import lombok.ToString; @EqualsAndHashCode(callSuper = true) @ToString public class CreateJobMessage extends Message { private final Job _job; public CreateJobMessage(Job job) { this(UUID.randomUUID(), job); } @JsonCreator public CreateJobMessage(@JsonProperty("messageID") @JsonSerialize(using = UUIDSerializer.class) UUID messageID, @JsonProperty("job") Job job) { super(messageID); this._job = job; } public Job getJob() { return _job; } }