aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/job/JobType.java
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/job/JobType.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/job/JobType.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/job/JobType.java b/vid-app-common/src/main/java/org/onap/vid/job/JobType.java
new file mode 100644
index 000000000..9846d2775
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/job/JobType.java
@@ -0,0 +1,31 @@
+package org.onap.vid.job;
+
+import org.onap.vid.job.command.*;
+
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public enum JobType {
+
+ HttpCall(HttpCallCommand.class),
+ AggregateState(AggregateStateCommand.class),
+ ServiceInstantiation(ServiceInstantiationCommand.class),
+ InProgressStatus(InProgressStatusCommand.class),
+ NoOp(NoOpCommand.class);
+
+ private static final Map<Class, JobType> REVERSE_MAP = Stream.of(values()).collect(Collectors.toMap(t -> t.getCommandClass(), t -> t));
+
+ private final Class commandClass;
+
+ <T extends JobCommand> JobType(Class<T> commandClass) {
+ this.commandClass = commandClass;
+ }
+
+ public Class getCommandClass() {
+ return commandClass;
+ }
+ static JobType jobTypeOf(Class commandClass) {
+ return REVERSE_MAP.get(commandClass);
+ }
+}