瀏覽代碼

assira.test project

Ranides Atterwim 10 年之前
父節點
當前提交
c19d2a20d1

+ 2 - 1
.gitignore

@@ -6,4 +6,5 @@
 /assira.junit/target/
 /assira.junit/nbproject/
 /assira.drafts/target/
-/assira/pom.xml.versionsBackup
+/assira/pom.xml.versionsBackup
+/assira.test/target/

+ 14 - 0
assira.test/pom.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+	<parent>
+        <groupId>net.ranides</groupId>
+        <artifactId>assira.common</artifactId>
+        <version>2.0.1</version>
+    </parent>
+	
+    <groupId>net.ranides</groupId>
+    <artifactId>assira.test</artifactId>
+    <version>2.0.0</version>
+    <packaging>jar</packaging>
+</project>

+ 23 - 0
assira.test/src/main/java/net/ranides/assira/test/Type1.java

@@ -0,0 +1,23 @@
+/*
+ * @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.Supplier;
+
+/**
+ *
+ * @author Ranides Atterwim <ranides@gmail.com>
+ */
+public class Type1 implements Supplier<Integer> {
+
+	@Override
+	public Integer get() {
+		return 11;
+	}
+
+}

+ 23 - 0
assira.test/src/main/java/net/ranides/assira/test/Type2.java

@@ -0,0 +1,23 @@
+/*
+ * @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.Supplier;
+
+/**
+ *
+ * @author Ranides Atterwim <ranides@gmail.com>
+ */
+public class Type2 implements Supplier<Integer> {
+
+	@Override
+	public Integer get() {
+		return 22;
+	}
+
+}

+ 23 - 0
assira.test/src/main/java/net/ranides/assira/test/Type3.java

@@ -0,0 +1,23 @@
+/*
+ * @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.Supplier;
+
+/**
+ *
+ * @author Ranides Atterwim <ranides@gmail.com>
+ */
+public class Type3 implements Supplier<Integer> {
+
+	@Override
+	public Integer get() {
+		return 33;
+	}
+
+}

+ 23 - 0
assira.test/src/main/java/net/ranides/assira/test/Type4.java

@@ -0,0 +1,23 @@
+/*
+ * @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.Supplier;
+
+/**
+ *
+ * @author Ranides Atterwim <ranides@gmail.com>
+ */
+public class Type4 implements Supplier<Integer> {
+
+	@Override
+	public Integer get() {
+		return 44;
+	}
+
+}

+ 29 - 0
assira.test/src/main/java/net/ranides/assira/test/TypeLoader1.java

@@ -0,0 +1,29 @@
+/*
+ * @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.Function;
+import java.util.function.Supplier;
+
+/**
+ *
+ * @author Ranides Atterwim <ranides@gmail.com>
+ */
+public class TypeLoader1 implements Function<String, Supplier<Integer>> {
+
+	@Override
+	public Supplier<Integer> apply(String name) {
+		try {
+			Class<?> type = Class.forName(name);
+			return (Supplier<Integer>)type.newInstance();
+		} catch(ReflectiveOperationException cause) {
+			throw new AssertionError("RE: "+name, cause);
+		}
+	}
+	
+}

+ 30 - 0
assira.test/src/main/java/net/ranides/assira/test/TypeLoader2.java

@@ -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 TypeLoader2 implements BiFunction<String, ClassLoader, Supplier<Integer>> {
+
+	@Override
+	public Supplier<Integer> apply(String name, ClassLoader loader) {
+		try {
+			Class<?> type = Class.forName(name, false, loader);
+			return (Supplier<Integer>)type.newInstance();
+		} catch(ReflectiveOperationException cause) {
+			throw new AssertionError("RE: "+name, cause);
+		}
+	}
+	
+}

+ 30 - 0
assira.test/src/main/java/net/ranides/assira/test/TypeLoader3.java

@@ -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);
+		}
+	}
+	
+}