summaryrefslogtreecommitdiff
path: root/gnu/java/lang/MainThread.java
diff options
context:
space:
mode:
authorJohn Keiser <shalom@gnu.org>1998-10-17 20:36:22 +0000
committerJohn Keiser <shalom@gnu.org>1998-10-17 20:36:22 +0000
commit00d15aeffbb91586a1f905a9b38cecfe32c89d7e (patch)
treed47e2dbcb19f1ec0908ff9b3488c6b8ea37507f3 /gnu/java/lang/MainThread.java
parent52ad0f782b56d43106f50728625d2bf3ee07fcf7 (diff)
downloadclasspath-00d15aeffbb91586a1f905a9b38cecfe32c89d7e.tar.gz
Fixed a typo in IntrospectionIncubator, added MainThread.java (which can be
used by the VM to run the initial class with main(String[] args)).
Diffstat (limited to 'gnu/java/lang/MainThread.java')
-rw-r--r--gnu/java/lang/MainThread.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/java/lang/MainThread.java b/gnu/java/lang/MainThread.java
new file mode 100644
index 000000000..bfbff1361
--- /dev/null
+++ b/gnu/java/lang/MainThread.java
@@ -0,0 +1,50 @@
+/*
+ * gnu.java.lang.MainThread: part of the Java Class Libraries project.
+ * Copyright (C) 1998 John Keiser
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+package gnu.java.lang;
+
+import java.lang.reflect.*;
+
+/**
+ ** MainThread is a Thread which uses the main() method of some class.
+ **
+ ** @author John Keiser
+ ** @version 1.1.0, Aug 11 1998
+ **/
+public class MainThread {
+ String[] args;
+ Method mainMethod;
+
+ public MainThread(String classname, String[] args) throws ClassNotFoundException, NoSuchMethodException {
+ Class found = Class.forName(classname);
+ Class[] argTypes = new Class[1];
+ argTypes[0] = args.getClass();
+ mainMethod = found.getMethod("main", argTypes);
+ this.args = args;
+ }
+
+ public void run() {
+ try {
+ mainMethod.invoke(null,args);
+ } catch(IllegalAccessException e) {
+ } catch(InvocationTargetException e) {
+ }
+ }
+}