Associate Artifact
[sdc/sdc-workflow-designer.git] / workflow-designer-be / src / main / java / org / onap / sdc / workflow / persistence / types / WorkflowVersion.java
1 /*
2  * Copyright © 2018 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.sdc.workflow.persistence.types;
18
19 import java.util.Collection;
20 import java.util.Collections;
21 import java.util.Date;
22 import javax.validation.Valid;
23 import lombok.Data;
24 import org.onap.sdc.workflow.api.validation.NoDuplicates;
25
26
27 @Data
28 public class WorkflowVersion {
29
30     private String id;
31     private String name;
32     private String description;
33     private String baseId;
34     private WorkflowVersionState state;
35     @Valid
36     @NoDuplicates(message = "Inputs names must be unique")
37     private Collection<ParameterEntity> inputs = Collections.emptyList();
38     @Valid
39     @NoDuplicates(message = "Outputs names must be unique")
40     private Collection<ParameterEntity> outputs = Collections.emptyList();
41     private boolean hasArtifact;
42     private Date creationTime;
43     private Date modificationTime;
44
45
46     public WorkflowVersion(String id) {
47         this.id = id;
48         this.state = WorkflowVersionState.DRAFT;
49     }
50
51     public WorkflowVersion() {
52     }
53 }