Fixed some blocker sonar issues in yang-data-impl
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / leafref / QNameWithPredicateBuilder.java
index daa8dbd4c4885ec5e48edb826afb54499799557a..6a9b2d7dc9e6392b1e03bab7fad5fc28259fa1a4 100644 (file)
@@ -8,15 +8,16 @@
 package org.opendaylight.yangtools.yang.data.impl.leafref;
 
 import java.util.LinkedList;
+import java.util.List;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 
 class QNameWithPredicateBuilder {
 
-    private LinkedList<QNamePredicate> qnamePredicates;
+    private List<QNamePredicate> qnamePredicates;
     private QNameModule moduleQname;
     private String localName;
 
-    public static QNameWithPredicateBuilder UP_PARENT_BUILDER = new QNameWithPredicateBuilder(
+    public static final QNameWithPredicateBuilder UP_PARENT_BUILDER = new QNameWithPredicateBuilder(
             null, "..") {
         @Override
         public QNameWithPredicate build() {
@@ -27,19 +28,19 @@ class QNameWithPredicateBuilder {
     public QNameWithPredicateBuilder(final QNameModule moduleQname, final String localName) {
         this.moduleQname = moduleQname;
         this.localName = localName;
-        this.qnamePredicates = new LinkedList<QNamePredicate>();
+        this.qnamePredicates = new LinkedList<>();
     }
 
     public QNameWithPredicate build() {
         final QNameWithPredicateImpl qNameWithPredicateImpl = new QNameWithPredicateImpl(
                 moduleQname, localName, qnamePredicates);
 
-        this.qnamePredicates = new LinkedList<QNamePredicate>();
+        this.qnamePredicates = new LinkedList<>();
 
         return qNameWithPredicateImpl;
     }
 
-    public LinkedList<QNamePredicate> getQNamePredicates() {
+    public List<QNamePredicate> getQNamePredicates() {
         return qnamePredicates;
     }
 
@@ -83,14 +84,21 @@ class QNameWithPredicateBuilder {
         return moduleQname.equals(other.moduleQname);
     }
 
+    @Override
+    public int hashCode() {
+        int result = moduleQname != null ? moduleQname.hashCode() : 0;
+        result = 31 * result + (localName != null ? localName.hashCode() : 0);
+        return result;
+    }
+
     @Override
     public String toString() {
         final StringBuilder sb = new StringBuilder();
 
         if (moduleQname != null) {
-            sb.append("(" + moduleQname.getNamespace());
-            sb.append("?revision=" + moduleQname.getRevision());
-            sb.append(")");
+            sb.append('(').append(moduleQname.getNamespace());
+            sb.append("?revision=").append(moduleQname.getRevision());
+            sb.append(')');
         }
 
         sb.append(localName);