Initial commit with all the necessary files
[aai/aai-common.git] / aai-core / src / main / java / org / openecomp / aai / util / Entity.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * org.openecomp.aai
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.openecomp.aai.util;
22
23 import java.util.ArrayList;
24 import java.util.HashMap;
25 import java.util.List;
26 import java.util.Map;
27 import javax.annotation.Generated;
28 import com.fasterxml.jackson.annotation.JsonAnyGetter;
29 import com.fasterxml.jackson.annotation.JsonAnySetter;
30 import com.fasterxml.jackson.annotation.JsonIgnore;
31 import com.fasterxml.jackson.annotation.JsonInclude;
32 import com.fasterxml.jackson.annotation.JsonProperty;
33 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
34 import org.apache.commons.lang.builder.EqualsBuilder;
35 import org.apache.commons.lang.builder.HashCodeBuilder;
36 import org.apache.commons.lang.builder.ToStringBuilder;
37
38 @JsonInclude(JsonInclude.Include.NON_NULL)
39 @Generated("org.jsonschema2pojo")
40 @JsonPropertyOrder({
41     "equipment-role",
42     "action",
43     "key-value-list",
44     "self-link"
45 })
46 public class Entity {
47
48     @JsonProperty("equipment-role")
49     private String equipmentRole;
50     @JsonProperty("action")
51     private String action;
52     @JsonProperty("key-value-list")
53     private List<KeyValueList> keyValueList = new ArrayList<KeyValueList>();
54     @JsonProperty("self-link")
55     private String selfLink;
56     @JsonIgnore
57     private Map<String, Object> additionalProperties = new HashMap<String, Object>();
58
59     /**
60      * 
61      * @return
62      *     The equipmentRole
63      */
64     @JsonProperty("equipment-role")
65     public String getEquipmentRole() {
66         return equipmentRole;
67     }
68
69     /**
70      * 
71      * @param equipmentRole
72      *     The equipment-role
73      */
74     @JsonProperty("equipment-role")
75     public void setEquipmentRole(String equipmentRole) {
76         this.equipmentRole = equipmentRole;
77     }
78
79     public Entity withEquipmentRole(String equipmentRole) {
80         this.equipmentRole = equipmentRole;
81         return this;
82     }
83
84     /**
85      * 
86      * @return
87      *     The action
88      */
89     @JsonProperty("action")
90     public String getAction() {
91         return action;
92     }
93
94     /**
95      * 
96      * @param action
97      *     The action
98      */
99     @JsonProperty("action")
100     public void setAction(String action) {
101         this.action = action;
102     }
103
104     public Entity withAction(String action) {
105         this.action = action;
106         return this;
107     }
108
109     /**
110      * 
111      * @return
112      *     The keyValueList
113      */
114     @JsonProperty("key-value-list")
115     public List<KeyValueList> getKeyValueList() {
116         return keyValueList;
117     }
118
119     /**
120      * 
121      * @param keyValueList
122      *     The key-value-list
123      */
124     @JsonProperty("key-value-list")
125     public void setKeyValueList(List<KeyValueList> keyValueList) {
126         this.keyValueList = keyValueList;
127     }
128
129     public Entity withKeyValueList(List<KeyValueList> keyValueList) {
130         this.keyValueList = keyValueList;
131         return this;
132     }
133
134     /**
135      * 
136      * @return
137      *     The selfLink
138      */
139     @JsonProperty("self-link")
140     public String getSelfLink() {
141         return selfLink;
142     }
143
144     /**
145      * 
146      * @param selfLink
147      *     The self-link
148      */
149     @JsonProperty("self-link")
150     public void setSelfLink(String selfLink) {
151         this.selfLink = selfLink;
152     }
153
154     public Entity withSelfLink(String selfLink) {
155         this.selfLink = selfLink;
156         return this;
157     }
158
159     @Override
160     public String toString() {
161         return ToStringBuilder.reflectionToString(this);
162     }
163
164     @JsonAnyGetter
165     public Map<String, Object> getAdditionalProperties() {
166         return this.additionalProperties;
167     }
168
169     @JsonAnySetter
170     public void setAdditionalProperty(String name, Object value) {
171         this.additionalProperties.put(name, value);
172     }
173
174     public Entity withAdditionalProperty(String name, Object value) {
175         this.additionalProperties.put(name, value);
176         return this;
177     }
178
179     @Override
180     public int hashCode() {
181         return new HashCodeBuilder().append(equipmentRole).append(action).append(keyValueList).append(selfLink).append(additionalProperties).toHashCode();
182     }
183
184     @Override
185     public boolean equals(Object other) {
186         if (other == this) {
187             return true;
188         }
189         if ((other instanceof Entity) == false) {
190             return false;
191         }
192         Entity rhs = ((Entity) other);
193         return new EqualsBuilder().append(equipmentRole, rhs.equipmentRole).append(action, rhs.action).append(keyValueList, rhs.keyValueList).append(selfLink, rhs.selfLink).append(additionalProperties, rhs.additionalProperties).isEquals();
194     }
195
196 }