|
|
@@ -0,0 +1,30 @@
|
|
|
+/*
|
|
|
+ * @author Ranides Atterwim <ranides@gmail.com>
|
|
|
+ * @copyright Ranides Atterwim
|
|
|
+ * @license WTFPL
|
|
|
+ * @url http://ranides.net/projects/assira.test
|
|
|
+ */
|
|
|
+
|
|
|
+package net.ranides.assira.test;
|
|
|
+
|
|
|
+import java.util.function.BiFunction;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.function.Supplier;
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @author Ranides Atterwim <ranides@gmail.com>
|
|
|
+ */
|
|
|
+public class TypeLoader3 implements BiFunction<String, Supplier<ClassLoader>, Supplier<Integer>> {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Supplier<Integer> apply(String name, Supplier<ClassLoader> loader) {
|
|
|
+ try {
|
|
|
+ Class<?> type = Class.forName(name, false, loader.get());
|
|
|
+ return (Supplier<Integer>)type.newInstance();
|
|
|
+ } catch(ReflectiveOperationException cause) {
|
|
|
+ throw new AssertionError("RE: "+name, cause);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|