2f629ef54a4300f366b700cf79c6823a117ca146
[sdc.git] /
1 /*
2  * Copyright © 2016-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 package org.openecomp.sdc.tosca.datatypes.model;
17
18 import org.apache.commons.collections4.MapUtils;
19
20 import java.util.HashMap;
21 import java.util.Map;
22
23 public class InterfaceDefinition {
24   protected Map<String, OperationDefinition> operations;
25
26   public Map<String, OperationDefinition> getOperations() {
27     return operations;
28   }
29
30   public void setOperations(
31       Map<String, OperationDefinition> operations) {
32     this.operations = operations;
33   }
34
35   public void addOperation(String operationName, OperationDefinition operationDefinition) {
36     if (MapUtils.isEmpty(this.operations)) {
37       this.operations = new HashMap<>();
38     }
39     this.operations.put(operationName, operationDefinition);
40   }
41
42   @Override
43   public boolean equals(Object o) {
44     if (this == o) {
45       return true;
46     }
47     if (!(o instanceof InterfaceDefinition)) {
48       return false;
49     }
50
51     InterfaceDefinition that = (InterfaceDefinition) o;
52
53     return getOperations() != null ? getOperations().equals(that.getOperations())
54         : that.getOperations() == null;
55   }
56
57   @Override
58   public int hashCode() {
59     return getOperations() != null ? getOperations().hashCode() : 0;
60   }
61 }