Simplify ClassLoadingStrategy implementations 85/78985/6
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 22 Dec 2018 01:19:15 +0000 (02:19 +0100)
committerRobert Varga <nite@hq.sk>
Tue, 25 Dec 2018 20:46:19 +0000 (20:46 +0000)
loadClass(Type) has only one implementation, which defers to
loadClass(String). Promote that impleentation to default, simplifying
other potential implementations.

Change-Id: Idef5da25e10490fce2174dee7a6c031f71cc741c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-generator-api/src/main/java/org/opendaylight/mdsal/binding/generator/api/ClassLoadingStrategy.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedClassLoadingStrategy.java

index 92b9970d08794aebc5a851a82a3a3aa02af7372e..f30e38a7f8dfd1852037c967c404053c1bd52e9e 100644 (file)
@@ -10,8 +10,9 @@ package org.opendaylight.mdsal.binding.generator.api;
 import org.opendaylight.mdsal.binding.model.api.Type;
 
 public interface ClassLoadingStrategy {
-
-    Class<?> loadClass(Type type) throws ClassNotFoundException;
-
     Class<?> loadClass(String fullyQualifiedName) throws ClassNotFoundException;
+
+    default Class<?> loadClass(final Type type) throws ClassNotFoundException {
+        return loadClass(type.getFullyQualifiedName());
+    }
 }
index 66d90ed273a2289d2c1574d4cefc3b73b224c77c..9e803fad0ed2b61f3a3aea541aaa292f9e8e3b95 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.mdsal.binding.generator.impl;
 
 import org.opendaylight.mdsal.binding.generator.api.ClassLoadingStrategy;
-import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.yangtools.util.ClassLoaderUtils;
 
 public abstract class GeneratedClassLoadingStrategy implements ClassLoadingStrategy {
@@ -22,11 +21,6 @@ public abstract class GeneratedClassLoadingStrategy implements ClassLoadingStrat
         }
     };
 
-    @Override
-    public Class<?> loadClass(final Type type) throws ClassNotFoundException {
-        return loadClass(type.getFullyQualifiedName());
-    }
-
     @Override
     public abstract Class<?> loadClass(String fullyQualifiedName) throws ClassNotFoundException;