1 package jp.co.areaweb.tools.gui;
2 import java.text.SimpleDateFormat;
4 class Command extends Thread {
5 String[] args; // コマンドパラメータ
6 private String commandName = ""; // コマンド名
7 @SuppressWarnings({ "rawtypes" })
8 private Class cmd; // 実行対象インスタンス
11 * コンストラクタ:実行対象のインスタンスを得る
14 public Command(Class<?> cmd) {
17 this.commandName = cmd.getName();
18 this.args = new String[0];
25 public void setArgs(String[] args) {
29 public void setCommandName(String name) {
30 this.commandName = name;
32 public String getCommandName() {
33 return this.commandName;
36 @SuppressWarnings("unchecked")
38 System.out.println("[START:"+ (new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss")).format(new java.util.Date()) +"]\t"+ this.commandName);
39 for (int i=0; i < args.length; i++) {
40 System.out.println(" args["+ i +"]: "+ this.args[i]);
46 java.lang.reflect.Method method = this.cmd.getMethod("main", new Class[] {String[].class});
47 method.setAccessible(true);
48 method.invoke(null, new Object[]{this.args});
51 System.out.println("[END:"+ (new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss")).format(new java.util.Date()) +"]\t"+ this.commandName);
54 System.out.println("[ERR!:"+ (new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss")).format(new java.util.Date()) +"]\t"+ this.commandName);