有dsl.DefaultExpander
和dsl.DefaultExpanderResolver
。設計和javadoc給出了一個想法,我可以將自定義擴展器添加到流程中。但我沒有發現這樣做的可能性。你看我怎麼能實現DSL解析與我的自定義擴展器?Drools DSL定製擴展器
0
A
回答
1
那麼,在KnowledgeBuilderImpl我看到了下面的方法(用於編譯DRL/DSL類):
public DefaultExpander getDslExpander() {
DefaultExpander expander = new DefaultExpander();
if (this.dslFiles == null || this.dslFiles.isEmpty()) {
return null;
}
for (DSLMappingFile file : this.dslFiles) {
expander.addDSLMapping(file.getMapping());
}
return expander;
}
正如你所看到的,DefaultExpander
在有硬編碼的,所以我想有沒有辦法指定任何其他實現。
同樣的事情發生在DrlParser.getDefaultResolver()其中一個DefaultExpanderResolver
總是實例化無關緊要。
在我看來,唯一的辦法是根據自己的語義預先生成DRL(在Drools之外),然後將生成的DRL提供給Drools。
希望它有幫助,
+0
感謝您的回覆,我看到了這個片段。希望這可以克服。 –
相關問題
- 1. 擴展種子工作dsl
- 2. 駱駝 - 擴展Java DSL?
- 3. 控制擴展器控制擴展量
- 4. DSL,XamlDOM(.NET 4 Beta)並擴展vs2008
- 5. Symfony2:擴展FrameworkBundle控制器
- 6. 擴展codeigniters控制器
- 7. Zend Framework - 擴展控制器
- 8. AngularJS擴展控制器
- 9. 擴展包控制器
- 10. CakePHP擴展控制器(僅)
- 11. 擴展註解控制器
- 12. 刪除API控制器的強制擴展.json擴展
- 13. 擴展定製AbstractTableModel上
- 14. Android定製文件擴展
- 15. Joomla定製用戶擴展
- 16. Cast擴展媒體定製
- 17. 定製magento擴展幫助
- 18. 定製Jinja2擴展幫助
- 19. 擴展類型定製類
- 20. 從NIB擴展定製UITableViewCell
- 21. drools中DSL,DSLR,DRL之間的區別
- 22. 從{X}點域在DSL在Drools中
- 23. 擴展擴展管理器
- 24. Android擴展定時器
- 25. 定時器在Chrome擴展
- 26. WPF擴展器IsExpanded綁定
- 27. 擴展模塊VS網絡擴展定製Alfresco時分享
- 28. 定製MVC助手擴展控制器和動作
- 29. 如何綁定到控制擴展器內部的控制
- 30. WPF綁定listview選擇項目擴展器擴展
一些擴展是關於DSL到DRL翻譯所需的全部內容。所以,如果你願意編寫自己的擴展器,則不需要其他任何東西。你的擴展器創建DRL,並將它們傳遞給DRL編譯器:就是這樣。 – laune
我們應該與Business Centrall集成,用戶應該在DSL中有規則,因此BC的擴展器工作。如果有鍵(像幾個現有的調試鍵)來更改擴展器的實現,那將會很不錯。 –