Bug 1411-3: MDSAL Binding2 Generator Util
[mdsal.git] / binding2 / mdsal-binding2-generator-util / src / main / java / org / opendaylight / mdsal / binding2 / generator / util / generated / type / builder / MethodParameterImpl.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.mdsal.binding2.generator.util.generated.type.builder;
10
11 import com.google.common.annotations.Beta;
12 import java.util.Objects;
13 import org.opendaylight.mdsal.binding2.model.api.MethodSignature.Parameter;
14 import org.opendaylight.mdsal.binding2.model.api.Type;
15
16 @Beta
17 final class MethodParameterImpl implements Parameter {
18
19     private final String name;
20     private final Type type;
21
22     public MethodParameterImpl(final String name, final Type type) {
23         super();
24         this.name = name;
25         this.type = type;
26     }
27
28
29     @Override
30     public String getName() {
31         return name;
32     }
33
34     @Override
35     public Type getType() {
36         return type;
37     }
38
39     @Override
40     public int hashCode() {
41         return Objects.hash(name, type);
42     }
43
44     @Override
45     public boolean equals(final Object obj) {
46         if (this == obj) {
47             return true;
48         }
49         if (obj == null) {
50             return false;
51         }
52         if (getClass() != obj.getClass()) {
53             return false;
54         }
55         if (!(obj instanceof MethodParameterImpl)) {
56             return false;
57         }
58         MethodParameterImpl other = (MethodParameterImpl) obj;
59         return Objects.equals(name, other.name) && Objects.equals(type, other.type);
60     }
61
62     @Override
63     public String toString() {
64         StringBuilder builder = new StringBuilder();
65         builder.append("MethodParameter [name=");
66         builder.append(name);
67         builder.append(", type=");
68         builder.append(type.getPackageName());
69         builder.append(".");
70         builder.append(type.getName());
71         builder.append("]");
72         return builder.toString();
73     }
74 }