DmaapMessageHandler using the agent NBI
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / dmaap / DmaapRequestMessage.java
  * ========================LICENSE_END===================================
  */
 
-package org.oransc.policyagent.model;
-
-import java.sql.Timestamp;
-import javax.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class DmaapRequestMessage {
-
-    @NotNull
-    private String type;
-    @NotNull
-    private String correlationId;
-    @NotNull
-    private String target;
-    private Timestamp timestamp;
-    private String apiVersion;
-    @NotNull
-    private String originatorId;
-    private String requestId;
-    @NotNull
-    private String operation;
-    private String payload;
+package org.oransc.policyagent.dmaap;
+
+import org.immutables.gson.Gson;
+import org.immutables.value.Value;
+
+@Value.Immutable
+@Gson.TypeAdapters
+public interface DmaapRequestMessage {
+
+    public static enum Operation {
+        PUT, GET, DELETE, POST
+    }
+
+    String type();
+
+    String correlationId();
+
+    String target();
+
+    String timestamp();
+
+    String apiVersion();
+
+    String originatorId();
+
+    String requestId();
+
+    Operation operation();
+
+    String url();
+
+    String payload();
 }