Specialize SchemaPath.create(boolean, QName) 19/82919/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 3 Jul 2019 22:30:16 +0000 (00:30 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 3 Jul 2019 22:34:04 +0000 (00:34 +0200)
As it turns out we use single-QName variant quite heavily, this
provides a specialized method, which does not have varargs.

Change-Id: I5a3f1bc7379fe6c387fd8d0fb3cfb9cef0139c72
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java

index a2c1cd4d5e9ea4ba23457113498c8b631db64799..f2ce302722a4c737c66e003bf7f67a95fb357f7f 100644 (file)
@@ -155,9 +155,24 @@ public abstract class SchemaPath implements Immutable {
      *
      * @return A SchemaPath instance.
      */
-    public static SchemaPath create(final Iterable<QName> path, final boolean absolute) {
-        final SchemaPath parent = absolute ? ROOT : SAME;
-        return parent.createChild(path);
+    public static @NonNull SchemaPath create(final Iterable<QName> path, final boolean absolute) {
+        return (absolute ? ROOT : SAME).createChild(path);
+    }
+
+    /**
+     * Constructs new instance of this class with the concrete path.
+     *
+     * @param absolute
+     *            boolean value which specifies if the path is absolute or
+     *            relative
+     * @param element
+     *            a single QName which specifies exact path to the
+     *            module node
+     *
+     * @return A SchemaPath instance.
+     */
+    public static @NonNull SchemaPath create(final boolean absolute, final QName element) {
+        return (absolute ? ROOT : SAME).createChild(element);
     }
 
     /**
@@ -172,7 +187,7 @@ public abstract class SchemaPath implements Immutable {
      *
      * @return A SchemaPath instance.
      */
-    public static SchemaPath create(final boolean absolute, final QName... path) {
+    public static @NonNull SchemaPath create(final boolean absolute, final QName... path) {
         return create(Arrays.asList(path), absolute);
     }