Add AbstractQName.bindTo(QNameModule)
[yangtools.git] / yang / yang-common / src / main / java / org / opendaylight / yangtools / yang / common / QName.java
index feea52586a22b94a785c7e7178e6f1877ea9f8e9..46457ec10a4dfdea07e329aab8ba62bb1c0106fe 100644 (file)
@@ -298,14 +298,21 @@ public final class QName extends AbstractQName implements Comparable<QName> {
         return sb.append(getLocalName()).toString();
     }
 
+    @Override
+    public @NonNull QName bindTo(final QNameModule namespace) {
+        return module.equals(namespace) ? this : super.bindTo(namespace);
+    }
+
     /**
      * Returns a QName with the specified QNameModule and the same localname as this one.
      *
      * @param newModule New QNameModule to use
      * @return a QName with specified QNameModule and same local name as this one
+     * @deprecated Use {@link #bindTo(QNameModule)} instead.
      */
+    @Deprecated(forRemoval = true)
     public @NonNull QName withModule(final QNameModule newModule) {
-        return new QName(newModule, getLocalName());
+        return bindTo(newModule);
     }
 
     /**