Implement builder
[so.git] / bpmn / so-bpmn-infrastructure-common / src / main / java / org / onap / so / bpmn / infrastructure / aai / AAIServiceInstance.java
index 67ba155..c5cd2c7 100644 (file)
@@ -29,18 +29,73 @@ public class AAIServiceInstance {
        String modelVersionId;          
        String environmentContext;
        String workloadContext;
-       public AAIServiceInstance(String serviceInstanceName, String serviceType, String serviceRole,
-                       String orchestrationStatus, String modelInvariantUuid, String modelVersionId, String environmentContext,
-                       String workloadContext) {
-               this.serviceInstanceName = serviceInstanceName;
-               this.serviceType = serviceType;
-               this.serviceRole = serviceRole;
-               this.orchestrationStatus = orchestrationStatus;
-               this.modelInvariantUuid = modelInvariantUuid;
-               this.modelVersionId = modelVersionId;
-               this.environmentContext = environmentContext;
-               this.workloadContext = workloadContext;
+
+       public static class AAIServiceInstanceBuilder {
+               private String serviceInstanceName;
+               private String serviceType;
+               private String serviceRole;
+               private String orchestrationStatus;
+               private String modelInvariantUuid;
+               private String modelVersionId;
+               private String environmentContext;
+               private String workloadContext;
+
+               public AAIServiceInstanceBuilder setServiceInstanceName(String serviceInstanceName) {
+                       this.serviceInstanceName = serviceInstanceName;
+                       return this;
+               }
+
+               public AAIServiceInstanceBuilder setServiceType(String serviceType) {
+                       this.serviceType = serviceType;
+                       return this;
+               }
+
+               public AAIServiceInstanceBuilder setServiceRole(String serviceRole) {
+                       this.serviceRole = serviceRole;
+                       return this;
+               }
+
+               public AAIServiceInstanceBuilder setOrchestrationStatus(String orchestrationStatus) {
+                       this.orchestrationStatus = orchestrationStatus;
+                       return this;
+               }
+
+               public AAIServiceInstanceBuilder setModelInvariantUuid(String modelInvariantUuid) {
+                       this.modelInvariantUuid = modelInvariantUuid;
+                       return this;
+               }
+
+               public AAIServiceInstanceBuilder setModelVersionId(String modelVersionId) {
+                       this.modelVersionId = modelVersionId;
+                       return this;
+               }
+
+               public AAIServiceInstanceBuilder setEnvironmentContext(String environmentContext) {
+                       this.environmentContext = environmentContext;
+                       return this;
+               }
+
+               public AAIServiceInstanceBuilder setWorkloadContext(String workloadContext) {
+                       this.workloadContext = workloadContext;
+                       return this;
+               }
+
+               public AAIServiceInstance createAAIServiceInstance() {
+                       return new AAIServiceInstance(this);
+               }
        }
+
+       public AAIServiceInstance(AAIServiceInstanceBuilder aaiServiceInstanceBuilder) {
+               this.serviceInstanceName = aaiServiceInstanceBuilder.serviceInstanceName;
+               this.serviceType = aaiServiceInstanceBuilder.serviceType;
+               this.serviceRole = aaiServiceInstanceBuilder.serviceRole;
+               this.orchestrationStatus = aaiServiceInstanceBuilder.orchestrationStatus;
+               this.modelInvariantUuid = aaiServiceInstanceBuilder.modelInvariantUuid;
+               this.modelVersionId = aaiServiceInstanceBuilder.modelVersionId;
+               this.environmentContext = aaiServiceInstanceBuilder.environmentContext;
+               this.workloadContext = aaiServiceInstanceBuilder.workloadContext;
+       }
+
        public String getServiceInstanceName() {
                return serviceInstanceName;
        }