rule engine drools-2.0-beta-18

源代码在线查看: shoppingcart.java

软件大小: 845 K
上传用户: yiranshamaoer
关键词: engine drools rule beta
下载地址: 免注册下载 普通下载 VIP

相关代码

				package org.drools.examples.petstore;								/*				 * $Id: ShoppingCart.java,v 1.2 2004/09/17 00:37:57 mproctor Exp $				 * 				 * Copyright 2001-2003 (C) The Werken Company. All Rights Reserved.				 * 				 * Redistribution and use of this software and associated documentation				 * ("Software"), with or without modification, are permitted provided that the				 * following conditions are met:				 * 				 * 1. Redistributions of source code must retain copyright statements and				 * notices. Redistributions must also contain a copy of this document.				 * 				 * 2. Redistributions in binary form must reproduce the above copyright notice,				 * this list of conditions and the following disclaimer in the documentation				 * and/or other materials provided with the distribution.				 * 				 * 3. The name "drools" must not be used to endorse or promote products derived				 * from this Software without prior written permission of The Werken Company.				 * For written permission, please contact bob@werken.com.				 * 				 * 4. Products derived from this Software may not be called "drools" nor may				 * "drools" appear in their names without prior written permission of The Werken				 * Company. "drools" is a trademark of The Werken Company.				 * 				 * 5. Due credit should be given to The Werken Company. (http://werken.com/)				 * 				 * THIS SOFTWARE IS PROVIDED BY THE WERKEN COMPANY AND CONTRIBUTORS ``AS IS''				 * AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE				 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE				 * ARE DISCLAIMED. IN NO EVENT SHALL THE WERKEN COMPANY OR ITS CONTRIBUTORS BE				 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR				 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF				 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS				 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN				 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)				 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE				 * POSSIBILITY OF SUCH DAMAGE.				 *  				 */								import java.util.ArrayList;				import java.util.HashMap;				import java.util.Iterator;				import java.util.List;				import java.util.Map;								public class ShoppingCart				{				    private List          items;								    private double        discount;								    private Map           states;								    private static String newline = System.getProperty( "line.separator" );								    public ShoppingCart()				    {				        states = new HashMap( );				        this.items = new ArrayList( );				        this.discount = 0;				    }								    public boolean getState(String state)				    {				        if ( states.containsKey( state ) )				        {				            return ( ( Boolean ) states.get( state ) ).booleanValue( );				        }				        else				        {				            return false;				        }				    }								    public void setState(String state, boolean value)				    {				        states.put( state, new Boolean( value ) );				    }								    public void setDiscount(double discount)				    {				        this.discount = discount;				    }								    public double getDiscount()				    {				        return this.discount;				    }								    public void addItem(CartItem item)				    {				        this.items.add( item );				    }								    public List getItems()				    {				        return this.items;				    }								    public List getItems(String name)				    {				        ArrayList matching = new ArrayList( );								        Iterator itemIter = getItems( ).iterator( );				        CartItem eachItem = null;								        while ( itemIter.hasNext( ) )				        {				            eachItem = ( CartItem ) itemIter.next( );								            if ( eachItem.getName( ).equals( name ) )				            {				                matching.add( eachItem );				            }				        }								        return matching;				    }								    public double getGrossCost()				    {				        Iterator itemIter = getItems( ).iterator( );				        CartItem eachItem = null;								        double cost = 0.00;								        while ( itemIter.hasNext( ) )				        {				            eachItem = ( CartItem ) itemIter.next( );								            cost += eachItem.getCost( );				        }								        return cost;				    }								    public double getDiscountedCost()				    {				        double cost = getGrossCost( );				        double discount = getDiscount( );								        double discountedCost = cost * ( 1 - discount );								        return discountedCost;				    }								    public String toString()				    {				        StringBuffer buf = new StringBuffer( );								        buf.append( "ShoppingCart:" + newline );								        Iterator itemIter = getItems( ).iterator( );								        while ( itemIter.hasNext( ) )				        {				            buf.append( "\t" + itemIter.next( ) + newline );				        }								        buf.append( "gross total=" + getGrossCost( ) + newline );				        buf.append( "discounted total=" + getDiscountedCost( ) + newline );								        return buf.toString( );				    }				}			

相关资源