aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/Operation.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/Operation.java')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/Operation.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/Operation.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/Operation.java
new file mode 100644
index 0000000..e119622
--- /dev/null
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dto/Operation.java
@@ -0,0 +1,70 @@
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto;
+
+import com.google.auto.value.AutoValue;
+import java.time.Instant;
+import java.util.Set;
+import javax.annotation.Nullable;
+
+@AutoValue
+public abstract class Operation {
+ public enum Severity {
+ A,
+ B,
+ C,
+ D,
+ E,
+ O,
+ }
+
+ public enum Status {
+ ACTIVE,
+ COMPLETED,
+ CANCELLED,
+ }
+
+ public abstract long id();
+
+ public abstract String opCode();
+
+ @Nullable
+ public abstract Severity severity();
+
+ public abstract Status status();
+
+ public abstract Set<Vehicle> vehicles();
+
+ @Nullable
+ public abstract Instant created();
+
+ public abstract String destination();
+
+ @Nullable
+ public abstract String additionalInfo();
+
+ public static Builder builder() {
+ return new AutoValue_Operation.Builder().id(0);
+ }
+
+ @AutoValue.Builder
+ public abstract static class Builder {
+ public abstract Builder id(long id);
+
+ public abstract Builder opCode(String opCode);
+
+ public abstract Builder severity(Severity severity);
+
+ public abstract Builder status(Status status);
+
+ public abstract Builder vehicles(Set<Vehicle> vehicles);
+
+ public abstract Builder created(Instant created);
+
+ public abstract Builder destination(String destination);
+
+ public abstract Builder additionalInfo(String additionalInfo);
+
+ public abstract Operation build();
+ }
+
+ public abstract Builder toBuilder();
+}