Merge "Checkstyle maven plugin check - yangtools"
[yangtools.git] / yang / yang-common / src / main / java / org / opendaylight / yangtools / yang / common / QName.java
index e31239dd8fbd49a0069a64602fb94c01c3c722b4..7b949af5a1e029b860d3c71cae53d6922977f0bd 100644 (file)
@@ -192,6 +192,15 @@ public final class QName implements Immutable, Serializable, Comparable<QName> {
         throw new IllegalArgumentException("Invalid input:" + input);
     }
 
+    /**
+     * Get the module component of the QName.
+     *
+     * @return Module component
+     */
+    public QNameModule getModule() {
+        return module;
+    }
+
     /**
      * Returns XMLNamespace assigned to the YANG module.
      *
@@ -237,8 +246,7 @@ public final class QName implements Immutable, Serializable, Comparable<QName> {
         final int prime = 31;
         int result = 1;
         result = prime * result + ((localName == null) ? 0 : localName.hashCode());
-        result = prime * result + ((getNamespace() == null) ? 0 : getNamespace().hashCode());
-        result = prime * result + ((getFormattedRevision() == null) ? 0 : getFormattedRevision().hashCode());
+        result = prime * result + module.hashCode();
         return result;
     }
 
@@ -269,27 +277,20 @@ public final class QName implements Immutable, Serializable, Comparable<QName> {
         } else if (!localName.equals(other.localName)) {
             return false;
         }
-        if (getNamespace() == null) {
-            if (other.getNamespace() != null) {
-                return false;
-            }
-        } else if (!getNamespace().equals(other.getNamespace())) {
-            return false;
-        }
-        if (getFormattedRevision() == null) {
-            if (other.getFormattedRevision() != null) {
-                return false;
-            }
-        } else if (!getRevision().equals(other.getRevision())) {
-            return false;
-        }
-        return true;
+        return module.equals(other.module);
     }
 
     public static QName create(final QName base, final String localName) {
         return new QName(base, localName);
     }
 
+    public static QName create(final QNameModule module, final String prefix, final String localName) {
+        if (module == null) {
+            throw new NullPointerException("module may not be null");
+        }
+        return new QName(module, prefix, localName);
+    }
+
     /**
      *
      * Creates new QName.
@@ -300,7 +301,7 @@ public final class QName implements Immutable, Serializable, Comparable<QName> {
      * @return Instance of QName
      */
     public static QName create(final URI namespace, final Date revision, final String localName) {
-        return new QName(QNameModule.create(namespace, revision), null,localName);
+        return new QName(QNameModule.create(namespace, revision), null, localName);
     }
 
     /**