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

📄 productfacade.java

📁 一个基于java工厂模式的 的实现
💻 JAVA
字号:
/*
 * ProductFacade.java
 *
 * Created on 2007年4月20日, 上午9:06
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.ebuy.businessfacade;

import com.ebuy.common.rule.IProductRule;
import com.ebuy.common.rule.IRule;
import com.ebuy.common.NameProvider;
import com.ebuy.entities.ProductEntity;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;

/**
 *
 * @author Administrator
 */
public class ProductFacade
{
    private static int WEB_PAGESIZE=8;
    private static int ACCOUNT_PAGESIZE=10;
    public static List getByCategoryID(int categoryid, int pagesize, int pageindex)
    {
        List list=byCategoryID(categoryid,pagesize,pageindex);
        return list;
    }
    public static List getByCategoryID(int grade,int categoryid, int pagesize, int pageindex)
    {
        List list=byCategoryID(categoryid,pagesize,pageindex);
        //进行折扣
        setDiscount(list,grade);
        return list;
    }
    public static List getByProductNameKey(String key, int pagesize, int pageindex)
    {
        List list=byKey(key,pagesize,pageindex);
        return list;
    }
    public static List getByProductNameKey(int grade,String key, int pagesize, int pageindex)
    {
        List list=byKey(key,pagesize,pageindex);
        setDiscount(list,grade);
        return list;
    }
    
    public static int  getRecordCountByCategoryID(int categoryid)
    {
        IRule rule= RuleProvider.getRuleInstance(NameProvider.Product);
        IProductRule ipr=(IProductRule)rule;
        return ipr.getRecordCountByCategoryID(categoryid);
    }
    public static int getRecordCountByProductNameKey(String key)
    {
        IRule rule= RuleProvider.getRuleInstance(NameProvider.Product);
        IProductRule ipr=(IProductRule)rule;
        return ipr.getRecordCountByProductNameKey(key);
    }
    
    public static boolean addPrdouct(ProductEntity p)
    {
        IRule rule=RuleProvider.getRuleInstance(NameProvider.Product);
        return rule.addEntity(p);
    }
    private static List byKey(String key, int pagesize, int pageindex)
    {
        IRule rule=RuleProvider.getRuleInstance(NameProvider.Product);
        IProductRule prule=(IProductRule)rule;
        List list=prule.getByProductNameKey(key,pagesize,pageindex);
        return list;
    }
    private static List byCategoryID(int categoryid, int pagesize, int pageindex)
    {
        //调用IProductRule的方法
        IRule rule=RuleProvider.getRuleInstance(NameProvider.Product);
        IProductRule prule=(IProductRule)rule;
        List list=prule.getByCategoryID(categoryid,pagesize,pageindex);
        return list;
    }
    private static void setDiscount(List list,int grade)
    {
        double discount;
        switch(grade)
        {
            case 0:
                discount=0;
                break;
            case 1:
                discount=0.05;
                break;
            case 2:
                discount=0.1;
                break;
            case 3:
                discount=0.15;
                break;
            case 4:
                discount=0.20;
                break;
            case 5:
                discount=0.30;
                break;
            default:
                discount=0.50;
        }
        if(discount!=0)
        {
            Iterator<ProductEntity> iter=list.iterator();
            while(iter.hasNext())
            {
                iter.next().setDiscount(discount);
            }
        }
    }    
  
    private static void setNormalForWeb(List list)
    {}
    private static void setNormalForAccount(List list)
    {
        
    }
    
}

⌨️ 快捷键说明

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