VSTのメイン
檜山正幸
Fri Sep 29 2006
1. メイン
- VSTMain0 : NullEvaluatorを使ったメイン
- VSTMain1 : TabFileEvaluatorを使ったメイン
- VSTMain2 : FileContentEvaluatorを使ったメイン
/* VSTMain0.java */
package sample;
import java.io.*;
import java.util.*;
import sample.model.*;
class NullEvaluator implements Evaluator {
public String eval(String arg) {
return null;
}
}
public class VSTMain0 implements ExitReportHandler {
public static void main(String[] args) {
String inputName;
Startable starter;
if (args.length == 0) {
inputName = null;
} else {
inputName = args[0];
}
// 生成
Evaluator evaluator = new NullEvaluator();
VSTMainCmp mainCmp = new VSTMainCmp();
ExitReportHandler reportHandler = new VSTMain0();
// ワイヤリング
mainCmp.inputName = inputName;
mainCmp.evaluator = evaluator;
mainCmp.reportHandler = reportHandler;
starter = mainCmp.starter;
// 実行
try {
starter.start();
} catch (Exception e) {
System.err.println(e);
System.exit(1);
}
System.exit(0);
}
public void aborted(int exitCode, String msg, Throwable cause) {
System.err.println(msg);
System.exit(exitCode);
}
public void finished(int exitCode) {
;
}
}
/* VSTMain1.java */
package sample;
import java.io.*;
import java.util.*;
import sample.model.*;
public class VSTMain1 implements ExitReportHandler {
public static void main(String[] args) {
if (args.length < 2) {
System.err.println("this command requires 2 arguments.");
System.exit(1);
}
String inputName = args[0];
String contextName = args[1];
// evaluatorの準備
TabFileEvaluator evaluator = new TabFileEvaluator();
try {
evaluator.load(contextName);
} catch (Exception e) {
System.err.println(e);
System.exit(1);
}
// starterの準備
Startable starter;
// 生成
VSTMainCmp mainCmp = new VSTMainCmp();
ExitReportHandler reportHandler = new VSTMain0();
// ワイヤリング
mainCmp.inputName = inputName;
mainCmp.evaluator = evaluator;
mainCmp.reportHandler = reportHandler;
starter = mainCmp.starter;
// 実行
try {
starter.start();
} catch (Exception e) {
System.err.println(e);
System.exit(1);
}
System.exit(0);
}
public void aborted(int exitCode, String msg, Throwable cause) {
System.err.println(msg);
System.exit(exitCode);
}
public void finished(int exitCode) {
;
}
}
/* VSTMain2.java */
package sample;
import java.io.*;
import java.util.*;
import sample.model.*;
import sample.misc.FileContentEvaluator;
public class VSTMain2 implements ExitReportHandler {
public static void main(String[] args) {
String inputName;
Startable starter;
if (args.length == 0) {
inputName = null;
} else {
inputName = args[0];
}
// 生成
Evaluator evaluator = new FileContentEvaluator();
VSTMainCmp mainCmp = new VSTMainCmp();
ExitReportHandler reportHandler = new VSTMain0();
// ワイヤリング
mainCmp.inputName = inputName;
mainCmp.evaluator = evaluator;
mainCmp.reportHandler = reportHandler;
starter = mainCmp.starter;
// 実行
try {
starter.start();
} catch (Exception e) {
System.err.println(e);
System.exit(1);
}
System.exit(0);
}
public void aborted(int exitCode, String msg, Throwable cause) {
System.err.println(msg);
System.exit(exitCode);
}
public void finished(int exitCode) {
;
}
}