1 import java
.lang
.reflect
.*;
5 public static void main(String
[] args
)
7 /* Этап 1: Сохраняем список параметров */
10 /* Этап 2: Получаем имена связки Модуль.Команда */
11 if(args
== null || args
.length
< 1)
13 System
.err
.println("uses: Launcher Module[.Command] {Argumets}");
17 String moduleName
= args
[0];
18 String commandName
= "";
19 int i
= args
[0].indexOf('.');
22 moduleName
= args
[0].substring(0, i
);
23 commandName
= args
[0].substring(i
+ 1);
24 if(commandName
== "BEGIN")
30 /* Этап 3: Выполнение тела модуля и команды */
31 Class
<?
> module
= null;
33 Method command
= null;
36 module
= Class
.forName(moduleName
);
37 } catch(ClassNotFoundException e
) {
38 System
.err
.println("Module " + moduleName
+ " not found");
43 begin
= module
.getMethod("BEGIN");
44 } catch(Exception e
) {
45 System
.err
.println("Invalid module " + moduleName
);
51 } catch(IllegalAccessException e
) {
52 System
.err
.println("Invalid module " + moduleName
);
54 } catch(IllegalArgumentException e
) {
55 System
.err
.println("Invalid module " + moduleName
);
57 } catch(InvocationTargetException e
) {
58 System
.err
.println("Invalid module " + moduleName
);
68 command
= module
.getMethod(commandName
);
69 } catch(Exception e
) {
70 System
.err
.println("Invalid command " + moduleName
+ "." + commandName
);
76 } catch(IllegalAccessException e
) {
77 System
.err
.println("Invalid command " + moduleName
+ "." + commandName
);
79 } catch(IllegalArgumentException e
) {
80 System
.err
.println("Invalid command " + moduleName
+ "." + commandName
);
82 } catch(InvocationTargetException e
) {
83 System
.err
.println("Invalid command " + moduleName
+ "." + commandName
);