OSDN Git Service

Merge branch 'Branch_release-'
[jindolf/Jindolf.git] / src / main / java / jp / sfjp / jindolf / Jindolf.java
diff --git a/src/main/java/jp/sfjp/jindolf/Jindolf.java b/src/main/java/jp/sfjp/jindolf/Jindolf.java
new file mode 100644 (file)
index 0000000..7bc65bc
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Jindolf main class
+ *
+ * License : The MIT License
+ * Copyright(c) 2011 olyutorskii
+ */
+
+package jp.sfjp.jindolf;
+
+/**
+ * Jindolf スタートアップクラス。
+ *
+ * <p>起動用のmainエントリを提供する。
+ *
+ * <p>JRE実行系の互換性検査を主目的とする。
+ *
+ * <p>このクラスではJRE1.0互換なランタイムライブラリのみが利用できる。
+ * このクラスはJDK1.0相当のコンパイラでもコンパイルできなければならない。
+ *
+ * <p>アプリ開始はstaticメソッド{@link #main(String[])}呼び出しから。
+ */
+public final class Jindolf {
+
+    /**
+     * 隠しコンストラクタ。
+     *
+     * <p><code>assert false;</code> 書きたいけど書いちゃだめ。
+     */
+    private Jindolf(){
+        return;
+    }
+
+
+    /**
+     * Jindolf のスタートアップエントリ。
+     *
+     * <p>互換性検査が行われた後、
+     * JRE1.7解除版エントリ{@link JindolfJre17}
+     * に制御を渡す。
+     *
+     * @param args コマンドライン引数
+     */
+    public static void main(String[] args){
+        int exitCode;
+
+        exitCode = JreChecker.checkJre();
+        if(exitCode != 0) System.exit(exitCode);
+
+        exitCode = JindolfJre17.main(args);
+        if(exitCode != 0) System.exit(exitCode);
+
+        // デーモンスレッドがいなければ、(アプリ画面が出ていなければ)
+        // この後暗黙にSystem.exit(0)が行われる。はず。
+
+        return;
+    }
+
+}