[応用機能]インタープリタ

アプリケーション開発において、動的にプログラムを作って、処理したい場合があります。

ソースコードを渡してインタープリタ実行する機能を抽象化したのが、Interpreterです。

関連するパッケージは、以下です。

アプリケーション向けインタフェース Interpreter

アプリケーション向けインタフェースInterpreterを使った簡単なアプリケーションのサンプルを示します。

  1. import java.util.Map;
  2. import jp.ossc.nimbus.core.ServiceManagerFactory;
  3. import jp.ossc.nimbus.service.interpreter.Interpreter;
  4. // Interpreterを取得
  5. Interpreter interpreter = (Interpreter)ServiceManagerFactory.getServiceObject("Interpreter");
  6. // ソースコードをインタープリタ実行する
  7. Map map = (Map)interpreter.evaluate(
  8. "import java.util.*;"
  9. + "Map map = new HashMap();"
  10. + "map.put("hoge", new Integer(100));"
  11. + "map.put("fuga", new Integer(200));"
  12. + "return map;"
  13. );

実装サービスの一覧は以下のとおりです。

実装サービス実装概要
jp.ossc.nimbus.service.interpreter.BeanShellInterpreterServiceJava言語のインタープリタエンジンを使うインタープリタ
jp.ossc.nimbus.service.interpreter.ScriptEngineInterpreterServicejavax.script.ScriptEngineを使うインタープリタ

サンプルは、以下。