00001 package edu.stanford.hci.r3.actions.types;
00002
00003 import java.lang.reflect.InvocationTargetException;
00004 import java.lang.reflect.Method;
00005
00006 import edu.stanford.hci.r3.actions.R3Action;
00007
00019 public class RunJavaAppAction implements R3Action {
00020
00021 private Class<?> classToRun;
00022
00026 public RunJavaAppAction(Class classWithMainFunction) {
00027 classToRun = classWithMainFunction;
00028 }
00029
00035 public void invoke() {
00036 try {
00037 Method method = classToRun.getMethod("main", new Class[] { String[].class });
00038 method.invoke(null, new Object[] { new String[] {} });
00039 } catch (SecurityException e) {
00040 e.printStackTrace();
00041 } catch (NoSuchMethodException e) {
00042 e.printStackTrace();
00043 } catch (IllegalArgumentException e) {
00044 e.printStackTrace();
00045 } catch (IllegalAccessException e) {
00046 e.printStackTrace();
00047 } catch (InvocationTargetException e) {
00048 e.printStackTrace();
00049 }
00050 }
00051
00052 }