nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
アプリケーション開発において、動的にプログラムを作って、処理したい場合があります。
ソースコードを渡してインタープリタ実行する機能を抽象化したのが、Interpreterです。
関連するパッケージは、以下です。
アプリケーション向けインタフェースInterpreterを使った簡単なアプリケーションのサンプルを示します。
- import java.util.Map;
- import jp.ossc.nimbus.core.ServiceManagerFactory;
- import jp.ossc.nimbus.service.interpreter.Interpreter;
- // Interpreterを取得
- Interpreter interpreter = (Interpreter)ServiceManagerFactory.getServiceObject("Interpreter");
- // ソースコードをインタープリタ実行する
- Map map = (Map)interpreter.evaluate(
- "import java.util.*;"
- + "Map map = new HashMap();"
- + "map.put("hoge", new Integer(100));"
- + "map.put("fuga", new Integer(200));"
- + "return map;"
- );
実装サービスの一覧は以下のとおりです。
実装サービス | 実装概要 |
jp.ossc.nimbus.service.interpreter.BeanShellInterpreterService | Java言語のインタープリタエンジンを使うインタープリタ |
jp.ossc.nimbus.service.interpreter.ScriptEngineInterpreterService | javax.script.ScriptEngineを使うインタープリタ |
サンプルは、以下。