2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.mdsal.binding.generator.util;
10 import java.util.Objects;
11 import org.opendaylight.mdsal.binding.model.api.Type;
14 * It is used only as ancestor for other <code>Type</code>s
16 public class AbstractBaseType implements Type {
19 * Name of the package to which this <code>Type</code> belongs.
21 private final String packageName;
24 * Name of this <code>Type</code>.
26 private final String name;
29 public String getPackageName() {
30 return this.packageName;
34 public String getName() {
39 public String getFullyQualifiedName() {
40 if (this.packageName.isEmpty()) {
43 return this.packageName + "." + this.name;
48 * Constructs the instance of this class with the concrete package name type
52 * string with the package name to which this <code>Type</code>
55 * string with the name for this <code>Type</code>
57 protected AbstractBaseType(final String pkName, final String name) {
59 throw new IllegalArgumentException("Package Name for Generated Type cannot be null!");
62 throw new IllegalArgumentException("Name of Generated Type cannot be null!");
64 this.packageName = pkName;
69 public int hashCode() {
72 result = (prime * result) + Objects.hashCode(this.name);
73 result = (prime * result) + Objects.hashCode(this.packageName);
78 public boolean equals(final Object obj) {
85 if (!(obj instanceof Type)) {
88 final Type other = (Type) obj;
89 return Objects.equals(this.name, other.getName()) && Objects.equals(this.packageName, other.getPackageName());
93 public String toString() {
94 if (this.packageName.isEmpty()) {
95 return "Type (" + this.name + ")";
97 return "Type (" + this.packageName + "." + this.name + ")";