Switch on parameterCount 74/77874/3
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 16 Nov 2018 06:47:39 +0000 (07:47 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 16 Nov 2018 07:26:01 +0000 (08:26 +0100)
The else case here assumes parameterCount being 1, make that explicit,
resulting in cleaner code.

JIRA: MDSAL-398
Change-Id: Ie3fa47de6b1630e98a426da69bb6c6d2b6b4b026
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LazyDataObject.java

index bc9d1863e0040c956b8f60bc7705376b17f2d014..8f097f07e586261690d9f8fb62613f5768202e5e 100644 (file)
@@ -63,23 +63,30 @@ class LazyDataObject<D extends DataObject> implements InvocationHandler, Augment
 
     @Override
     public Object invoke(final Object proxy, final Method method, final Object[] args) {
-        if (method.getParameterCount() == 0) {
-            final String name = method.getName();
-            if (DATA_CONTAINER_GET_IMPLEMENTED_INTERFACE_NAME.equals(name)) {
-                return context.getBindingClass();
-            } else if (TO_STRING.equals(name)) {
-                return bindingToString();
-            } else if (HASHCODE.equals(name)) {
-                return bindingHashCode();
-            } else if (AUGMENTATIONS.equals(name)) {
-                return getAugmentationsImpl();
-            }
-            return getBindingData(method);
-        } else if (AUGMENTABLE_AUGMENTATION_NAME.equals(method.getName())) {
-            return getAugmentationImpl((Class<?>) args[0]);
-        } else if (EQUALS.equals(method.getName())) {
-            return bindingEquals(args[0]);
+        switch (method.getParameterCount()) {
+            case 0:
+                final String name = method.getName();
+                if (DATA_CONTAINER_GET_IMPLEMENTED_INTERFACE_NAME.equals(name)) {
+                    return context.getBindingClass();
+                } else if (TO_STRING.equals(name)) {
+                    return bindingToString();
+                } else if (HASHCODE.equals(name)) {
+                    return bindingHashCode();
+                } else if (AUGMENTATIONS.equals(name)) {
+                    return getAugmentationsImpl();
+                }
+                return getBindingData(method);
+            case 1:
+                if (AUGMENTABLE_AUGMENTATION_NAME.equals(method.getName())) {
+                    return getAugmentationImpl((Class<?>) args[0]);
+                } else if (EQUALS.equals(method.getName())) {
+                    return bindingEquals(args[0]);
+                }
+                break;
+            default:
+                break;
         }
+
         throw new UnsupportedOperationException("Unsupported method " + method);
     }