BSF (Bean Scripting Framework)

http://jakarta.terra-intl.com/bsf/
Javaスクリプト言語を埋めこむフレームワーク。おおざっぱにいうと、Javaコードとスクリプティングエンジンのブリッジフレームワーク
ちょびっといじったので覚え書き。


BSFは

  1. Javaコードからスクリプト言語の実行
  2. スクリプト言語内からのJavaオブジェクトの操作

を可能にすることで Javaコードとスクリプト言語の相互作用を行わせる仕組み。


実装では 前者は、BSFEngineインターフェイスのexecやらevalを呼びだすことで可能になる。
後者はスクリプト言語側からアクセスさせたいJavaオブジェクト情報を、あらかじめJava言語内の環境からスクリプティングエンジンに渡しておくことで、スクリプト言語内からJavaオブジェクトへのアクセスを可能にしている。
具体的には、EngineManeger.declareBean -> 各BSFEngineのdeclareBeanにJavaオブジェクト、その名前、クラス情報、を渡し、スクリプティングエンジン側で固有のJavaオブジェクト登録処理を書いてやる。そうすれば、そのスクリプト言語に応じたしかるべき方法でJavaオブジェクトにアクセスできる。ここがキモかな。
単純な仕組なんだけど、フレームワークがあると処理がすっきりしていてよい。


この枠組で処理できないようなこともあるかもしれないが、今は思いつかない。