?? pricingengine.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 + -