Use switch expression in NIPv2 26/101326/5
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 29 May 2022 18:23:09 +0000 (20:23 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 29 May 2022 19:14:41 +0000 (21:14 +0200)
Improve clarity a bit.

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

index cf73b48e5f774ffccace9cf26ae35c5c344150e0..db57bbe80eb62c9a670229322e627fba39919a7b 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.data.api;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
 import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
@@ -32,8 +31,8 @@ final class NIPv2 implements Externalizable {
         // For Externalizable
     }
 
-    NIPv2(final NodeIdentifierWithPredicates nid) {
-        this.nip = requireNonNull(nid);
+    NIPv2(final NodeIdentifierWithPredicates nip) {
+        this.nip = requireNonNull(nip);
     }
 
     @Override
@@ -51,20 +50,17 @@ final class NIPv2 implements Externalizable {
     public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
         final QName qname = QName.readFrom(in);
         final int size = in.readInt();
-        switch (size) {
-            case 0:
-                nip = NodeIdentifierWithPredicates.of(qname);
-                break;
-            case 1:
-                nip = NodeIdentifierWithPredicates.of(qname, QName.readFrom(in), in.readObject());
-                break;
-            default:
-                final Builder<QName, Object> keys = ImmutableMap.builderWithExpectedSize(size);
+        nip = switch (size) {
+            case 0 -> NodeIdentifierWithPredicates.of(qname);
+            case 1 -> NodeIdentifierWithPredicates.of(qname, QName.readFrom(in), in.readObject());
+            default -> {
+                final var keys = ImmutableMap.<QName, Object>builderWithExpectedSize(size);
                 for (int i = 0; i < size; ++i) {
                     keys.put(QName.readFrom(in), in.readObject());
                 }
-                nip = NodeIdentifierWithPredicates.of(qname, keys.build());
-        }
+                yield NodeIdentifierWithPredicates.of(qname, keys.build());
+            }
+        };
     }
 
     private Object readResolve() {