BUG-865: prune deprecated constructors
[yangtools.git] / yang / yang-common / src / main / java / org / opendaylight / yangtools / yang / common / QName.java
index 8abafcdd5de77724be737960c2e7b60c35966b70..0ac89ae8da2c1d634d134bc07977877e5a9c4484 100644 (file)
@@ -117,59 +117,6 @@ public final class QName implements Immutable, Serializable, Comparable<QName> {
         return localName;
     }
 
-    /**
-     * QName Constructor.
-     *
-     * @param namespace
-     *            the namespace assigned to the YANG module
-     * @param revision
-     *            the revision of the YANG module
-     * @param localName
-     *            YANG schema identifier
-     *
-     * @deprecated Use {@link #create(URI, Date, String)} instead.
-     */
-    @Deprecated
-    public QName(final URI namespace, final Date revision, final String localName) {
-        this(QNameModule.create(namespace, revision), null, localName);
-    }
-
-    /**
-     * Construct new QName which reuses namespace, revision and prefix from
-     * base.
-     *
-     * @param base
-     * @param localName
-     * @deprecated Use {@link #create(QName, String)} instead.
-     */
-    @Deprecated
-    public QName(final QName base, final String localName) {
-        this(base.getNamespace(), base.getRevision(), base.getPrefix(), localName);
-    }
-
-    /**
-     * @deprecated Use {@link #create(String)} instead. This implementation is
-     *             broken.
-     */
-    @Deprecated
-    public QName(final String input) throws ParseException {
-        final String nsAndRev = input.substring(input.indexOf("(") + 1, input.indexOf(")"));
-        final Date revision;
-        final URI namespace;
-        if (nsAndRev.contains("?")) {
-            String[] splitted = nsAndRev.split("\\?");
-            namespace = URI.create(splitted[0]);
-            revision = getRevisionFormat().parse(splitted[1]);
-        } else {
-            namespace = URI.create(nsAndRev);
-            revision = null;
-        }
-
-        this.localName = checkLocalName(input.substring(input.indexOf(")") + 1));
-        this.prefix = null;
-        this.module = QNameModule.create(namespace, revision);
-    }
-
     public static QName create(final String input) {
         Matcher matcher = QNAME_PATTERN_FULL.matcher(input);
         if (matcher.matches()) {
@@ -246,8 +193,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;
     }
 
@@ -278,27 +224,24 @@ 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);
+        return new QName(base.getModule(), base.getPrefix(), localName);
     }
 
+    /**
+     * Creates new QName.
+     *
+     * @param qnameModule
+     *            Namespace and revision enclosed as a QNameModule
+     * @param prefix
+     *            Namespace prefix
+     * @param localName
+     *            Local name part of QName. MUST NOT BE null.
+     * @return Instance of QName
+     */
     public static QName create(final QNameModule module, final String prefix, final String localName) {
         if (module == null) {
             throw new NullPointerException("module may not be null");
@@ -307,12 +250,27 @@ public final class QName implements Immutable, Serializable, Comparable<QName> {
     }
 
     /**
+     * Creates new QName.
      *
+     * @param qnameModule
+     *            Namespace and revision enclosed as a QNameModule
+     * @param localName
+     *            Local name part of QName. MUST NOT BE null.
+     * @return Instance of QName
+     */
+    public static QName create(final QNameModule qnameModule, final String localName) {
+        return new QName(qnameModule, null, localName);
+    }
+
+    /**
      * Creates new QName.
      *
-     * @param namespace Namespace of QName or null if namespace is undefined.
-     * @param revision Revision of namespace or null if revision is unspecified.
-     * @param localName Local name part of QName. MUST NOT BE null.
+     * @param namespace
+     *            Namespace of QName or null if namespace is undefined.
+     * @param revision
+     *            Revision of namespace or null if revision is unspecified.
+     * @param localName
+     *            Local name part of QName. MUST NOT BE null.
      * @return Instance of QName
      */
     public static QName create(final URI namespace, final Date revision, final String localName) {