⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pricingengine.java

📁 用jAVA编写的非常优秀的规则引擎.里面有详细的说明文档
💻 JAVA
字号:
package gov.sandia.jess.example.pricing;import gov.sandia.jess.example.pricing.model.Offer;import gov.sandia.jess.example.pricing.model.Order;import jess.*;import java.util.Iterator;public class PricingEngine {    private Rete engine;    private WorkingMemoryMarker marker;    private Database database;    public PricingEngine(Database aDatabase) throws JessException {        // Create a Jess rule engine        engine = new Rete();        engine.reset();        // Load the pricing rules        engine.batch("pricing.clp");        // Load the catalog data into working memory        database = aDatabase;        engine.addAll(database.getCatalogItems());        // Mark end of catalog data for later        marker = engine.mark();    }    private void loadOrderData(int orderNumber) throws JessException {        // Retrive the order from the database    	Order order = database.getOrder(orderNumber);            	if (order != null) {    		// Add the order and its contents to working memory    		engine.add(order);    		engine.add(order.getCustomer());    		engine.addAll(order.getItems());    	}    }    public Iterator run(int orderNumber) throws JessException {        // Remove any previous order data, leaving only catalog data    	engine.resetToMark(marker);    	    	// Load data for this order        loadOrderData(orderNumber);                // Fire the rules that apply to this order        engine.run();                // Return the list of offers created by the rules        return engine.getObjects(new Filter.ByClass(Offer.class));    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -