Move QNameAwareData{Input,Output} 78/104778/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Mar 2023 14:55:42 +0000 (15:55 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Mar 2023 14:59:57 +0000 (15:59 +0100)
Having these interfaces in QName makes it harder to interact with QName,
as they end up being completed into context where we have static
methods.

Change-Id: I8bf3e5bf8f414fcbee60b7120f7ccb7a9acedc33
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
codec/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/NormalizedNodeDataInput.java
codec/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/NormalizedNodeDataOutput.java
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QNameAwareDataInput.java [new file with mode: 0644]
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QNameAwareDataOutput.java [new file with mode: 0644]

index 12df8410cef8320da023d8c9a6c7c7dc033b3019..b3abf5bc00f28230921370cb1fc56172451fe772 100644 (file)
@@ -11,7 +11,7 @@ import java.io.DataInput;
 import java.io.IOException;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.common.QName.QNameAwareDataInput;
+import org.opendaylight.yangtools.yang.common.QNameAwareDataInput;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
index c3d054a09da68b8b9f2c385b043c46d2dbce343e..eaeb1ad7d6e2d0ea2902ea5bbf910e88a0025dc5 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.data.codec.binfmt;
 import java.io.IOException;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yangtools.yang.common.QName.QNameAwareDataOutput;
+import org.opendaylight.yangtools.yang.common.QNameAwareDataOutput;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
index f086e544fd9a5ea442f7a65d3a289f2402e193ca..e222274d6e72b34f345805a83debac822ed97b5b 100644 (file)
@@ -46,31 +46,6 @@ import org.eclipse.jdt.annotation.Nullable;
  * </ul>
  */
 public final class QName extends AbstractQName implements Comparable<QName> {
-    /**
-     * A {@link DataInput} which has an understanding of {@link QName}'s semantics.
-     */
-    @Beta
-    public interface QNameAwareDataInput extends DataInput {
-        /**
-         * Read a {@link QName} from the stream.
-         *
-         * @return A QName
-         * @throws IOException if an I/O error occurs.
-         */
-        @NonNull QName readQName() throws IOException;
-    }
-
-    @Beta
-    public interface QNameAwareDataOutput extends DataOutput {
-        /**
-         * Write a {@link QName} into the stream.
-         *
-         * @param qname A QName
-         * @throws  IOException if an I/O error occurs.
-         */
-        void writeQName(@NonNull QName qname) throws IOException;
-    }
-
     private static final Interner<QName> INTERNER = Interners.newWeakInterner();
     // Note: 5398411242927766414L is used for versions < 3.0.0 without writeReplace
     @Serial
diff --git a/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QNameAwareDataInput.java b/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QNameAwareDataInput.java
new file mode 100644 (file)
index 0000000..f1c8f18
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.yangtools.yang.common;
+
+import com.google.common.annotations.Beta;
+import java.io.DataInput;
+import java.io.IOException;
+import org.eclipse.jdt.annotation.NonNull;
+
+/**
+ * A {@link DataInput} which has an understanding of {@link QName}'s semantics.
+ */
+@Beta
+public interface QNameAwareDataInput extends DataInput {
+    /**
+     * Read a {@link QName} from the stream.
+     *
+     * @return A QName
+     * @throws IOException if an I/O error occurs.
+     */
+    @NonNull QName readQName() throws IOException;
+}
\ No newline at end of file
diff --git a/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QNameAwareDataOutput.java b/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QNameAwareDataOutput.java
new file mode 100644 (file)
index 0000000..562199d
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.yangtools.yang.common;
+
+import com.google.common.annotations.Beta;
+import java.io.DataOutput;
+import java.io.IOException;
+import org.eclipse.jdt.annotation.NonNull;
+
+@Beta
+public interface QNameAwareDataOutput extends DataOutput {
+    /**
+     * Write a {@link QName} into the stream.
+     *
+     * @param qname A QName
+     * @throws  IOException if an I/O error occurs.
+     */
+    void writeQName(@NonNull QName qname) throws IOException;
+}
\ No newline at end of file