Use switch expressions in util 19/101319/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 29 May 2022 17:32:38 +0000 (19:32 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 29 May 2022 17:32:38 +0000 (19:32 +0200)
We have three places where switch expressions are appropriate, use them
to improve clarity.

Change-Id: Ia46a06608202bcc460c4de57eb1d4afccb5a92a7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
common/util/src/main/java/org/opendaylight/yangtools/util/DurationStatisticsTracker.java
common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableMapTemplate.java

index b8bbe346a381343c48fd90af5f2d3fcd40eee865..0b79b43b940826bcad5b46d31ac02e7c9a44a06c 100644 (file)
@@ -211,24 +211,14 @@ public abstract class DurationStatisticsTracker {
     }
 
     private static String abbreviate(final TimeUnit unit) {
-        switch (unit) {
-            case NANOSECONDS:
-                return "ns";
-            case MICROSECONDS:
-                return "μs";
-            case MILLISECONDS:
-                return "ms";
-            case SECONDS:
-                return "s";
-            case MINUTES:
-                return "m";
-            case HOURS:
-                return "h";
-            case DAYS:
-                return "d";
-            default:
-                LOG.warn("Unhandled time unit {}", unit);
-                return "";
-        }
+        return switch (unit) {
+            case NANOSECONDS -> "ns";
+            case MICROSECONDS -> "μs";
+            case MILLISECONDS -> "ms";
+            case SECONDS -> "s";
+            case MINUTES -> "m";
+            case HOURS -> "h";
+            case DAYS -> "d";
+        };
     }
 }
index 4f9d4b0c538ea38461c6114c3606bf544b992f3e..62d41551d5576eb5380119fbcba56eef3f128e09 100644 (file)
@@ -47,14 +47,11 @@ public abstract class ImmutableMapTemplate<K> implements Immutable {
      * @throws IllegalArgumentException if {@code keys} is empty
      */
     public static <K> @NonNull ImmutableMapTemplate<K> ordered(final Collection<K> keys) {
-        switch (keys.size()) {
-            case 0:
-                throw new IllegalArgumentException("Proposed keyset must not be empty");
-            case 1:
-                return SharedSingletonMapTemplate.ordered(keys.iterator().next());
-            default:
-                return ImmutableOffsetMapTemplate.ordered(keys);
-        }
+        return switch (keys.size()) {
+            case 0 -> throw new IllegalArgumentException("Proposed keyset must not be empty");
+            case 1 -> SharedSingletonMapTemplate.ordered(keys.iterator().next());
+            default -> ImmutableOffsetMapTemplate.ordered(keys);
+        };
     }
 
     /**
@@ -69,14 +66,11 @@ public abstract class ImmutableMapTemplate<K> implements Immutable {
      * @throws IllegalArgumentException if {@code keys} is empty
      */
     public static <K> @NonNull ImmutableMapTemplate<K> unordered(final Collection<K> keys) {
-        switch (keys.size()) {
-            case 0:
-                throw new IllegalArgumentException("Proposed keyset must not be empty");
-            case 1:
-                return SharedSingletonMapTemplate.unordered(keys.iterator().next());
-            default:
-                return ImmutableOffsetMapTemplate.unordered(keys);
-        }
+        return switch (keys.size()) {
+            case 0 -> throw new IllegalArgumentException("Proposed keyset must not be empty");
+            case 1 -> SharedSingletonMapTemplate.unordered(keys.iterator().next());
+            default -> ImmutableOffsetMapTemplate.unordered(keys);
+        };
     }
 
     /**