從Java加載的JRuby類我在Java代碼下面的類:通過的Class.forName
public class CHRTreeCreator extends IndexCreator { ... }
相反CHRTreeCreator
我想用不同勢執行這也延伸IndexCreator
,但我想它在JRuby的代碼。問題是,中IndexCreator
具體實現是基於XML配置文件選擇:
<creator>dwe.index.tree.chr.CHRTreeCreator</creator>
的代碼如下所示:
// className is fetched from XML
Class creatorClass = Class.forName(className);
Constructor constructor = creatorClass.getConstructor(new Class[] { });
creator = (IndexCreator) constructor.newInstance(new Object[] { });
的問題是,是否有可能實現它在Ruby中,像這個:
class MyIndexCreator < IndexCreator
end
以某種方式把MyIndexCreator
類名放入XML配置文件。在這種情況下,模塊包映射如何工作?
如果不能通過Java的Class.forName加載Ruby類,我該如何解決這個問題?
感謝羅布,該解決方案可以在我的情況下以某種方式工作(而且我現在確實這樣做),但我不想猴子修補Java類。應該有一些通用的方法來使用.forName方法加載Ruby類,對吧? – 2009-11-08 19:57:06