VelocityはSingleton?

Velocityを使った処理で、↓のよーにやってた。


Properties prop = new Properties();
// てきとーにプロパティを追加
Velocity.init(prop);
Template template = Velocity.getTemplate("hoge.vm");
・・・

ここで、このVelocityクラス(というか内部的に保持しているRuntimeSingleton)は
Singletonとなっていて、RuntimeSingletonを取り替えるようなメソッドもない。
で、Velocity#initは一度しか実行できないようになっているので、
「とある変換は違うプロパティで行いたい!」といったことができなかったりする。


で、どーすりゃいいんだーとか思ってたら、VelocityEngineというクラスを
使えばいいらしい。


Properties prop = new Properties();
// てきとーにプロパティを追加
VelocityEngine velocity = new VelocityEngine();
velocity.init(prop);
Template template = velocity.getTemplate("hoge.vm");
・・・
これで、変換毎にプロパティを指定できるよーになっている。




初めて使うライブラリは、ある程度調べてから使うべきだよなぁ・・・。
うーん。ごめんちゃい。