9674dfea4d462e16bfabc07c8cd5c46f04f14f21
[so.git] / so-monitoring / so-monitoring-handler / src / main / java / org / onap / so / montoring / model / ProcessInstanceVariableDetail.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.so.montoring.model;
21
22 /**
23  * @author waqas.ikram@ericsson.com
24  */
25 import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
26
27 public class ProcessInstanceVariableDetail {
28
29     private final String name;
30     private final Object value;
31     private final String type;
32
33     public ProcessInstanceVariableDetail(final String name, final Object value, final String type) {
34         this.name = name;
35         this.value = value;
36         this.type = type;
37     }
38
39     /**
40      * @return the name
41      */
42     public String getName() {
43         return name;
44     }
45
46     /**
47      * @return the value
48      */
49     public Object getValue() {
50         return value;
51     }
52
53     /**
54      * @return the type
55      */
56     public String getType() {
57         return type;
58     }
59
60     @Override
61     public int hashCode() {
62         final int prime = 31;
63         int result = 1;
64         result = prime * result + ((name == null) ? 0 : name.hashCode());
65         result = prime * result + ((value == null) ? 0 : value.hashCode());
66         result = prime * result + ((type == null) ? 0 : type.hashCode());
67         return result;
68     }
69
70     @Override
71     public boolean equals(final Object obj) {
72         if (obj instanceof ProcessInstanceVariableDetail) {
73             final ProcessInstanceVariableDetail other = (ProcessInstanceVariableDetail) obj;
74
75             return isEqual(name, other.name) && isEqual(value, other.value) && isEqual(type, other.type);
76         }
77         return false;
78     }
79
80     @Override
81     public String toString() {
82         return "ProcessInstanceVariableDetail [name=" + name + ", value=" + value + ", type=" + type + "]";
83     }
84 }