Fix import VFC with attributes
[sdc.git] / common / onap-tosca-datatype / src / main / java / org / onap / sdc / tosca / datatypes / model / AttributeDefinition.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.sdc.tosca.datatypes.model;
22
23 import com.fasterxml.jackson.annotation.JsonProperty;
24 import java.util.Objects;
25 import lombok.Getter;
26 import lombok.Setter;
27 import org.apache.commons.lang3.StringUtils;
28
29 @Getter
30 @Setter
31 public class AttributeDefinition implements Cloneable {
32
33     private String type;
34     private String description;
35     @JsonProperty("default")
36     private Object _default;
37     private String status;
38     private EntrySchema entry_schema;
39
40     public AttributeDefinition() {
41         status = Status.SUPPORTED.getName();
42     }
43
44     public AttributeDefinition(final String type,
45                                final String description,
46                                final Object _default,
47                                final String status,
48                                final EntrySchema entry_schema) {
49         this.setType(type);
50         this.setDescription(description);
51         this.set_default(_default);
52         this.setStatus(StringUtils.isEmpty(status) ? Status.SUPPORTED.getName() : status);
53         this.setEntry_schema(entry_schema);
54     }
55
56     @Override
57     public AttributeDefinition clone() {
58         AttributeDefinition attributeDefinition = new AttributeDefinition();
59         attributeDefinition.setType(this.getType());
60         attributeDefinition.setDescription(this.getDescription());
61         attributeDefinition.set_default(this.get_default());
62         attributeDefinition.setStatus(this.getStatus());
63         attributeDefinition.setEntry_schema(
64             Objects.isNull(this.getEntry_schema()) ? null : this.getEntry_schema().clone());
65         return attributeDefinition;
66     }
67 }