summaryrefslogtreecommitdiff
path: root/src/main/java/utils/VSClassLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/utils/VSClassLoader.java')
-rw-r--r--src/main/java/utils/VSClassLoader.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/utils/VSClassLoader.java b/src/main/java/utils/VSClassLoader.java
new file mode 100644
index 0000000..37f4027
--- /dev/null
+++ b/src/main/java/utils/VSClassLoader.java
@@ -0,0 +1,29 @@
+package utils;
+
+/**
+ * The class VSClassLoader. This class is used in order to create new objects
+ * by its classnames.
+ *
+ * @author Paul C. Buetow
+ */
+public class VSClassLoader extends ClassLoader {
+ /**
+ * Creates a new instance of the given classname.
+ *
+ * @param classname the classname
+ *
+ * @return the object
+ */
+ public Object newInstance(String classname) {
+ Object object = null;
+
+ try {
+ object = super.loadClass(classname, true).getDeclaredConstructor().newInstance();
+
+ } catch (Exception e) {
+ System.out.println(e + "; Classname " + classname);
+ }
+
+ return object;
+ }
+}