productrule.java

来自「一个基于java工厂模式的 的实现」· Java 代码 · 共 91 行

JAVA
91
字号
/*
 * ProductRule.java
 *
 * Created on 2007年4月19日, 上午9:53
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.ebuy.businessrule;

import com.ebuy.common.dao.IDAO;
import com.ebuy.common.dao.IProductDAO;
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;

/**
 *
 * @author Administrator
 */
public class ProductRule extends RuleAdapter implements IProductRule
{
    
    /** Creates a new instance of ProductRule */
    public ProductRule()
    {
        super(NameProvider.Product);
    }
    
    public List getByCategoryID(int categoryid, int pagesize, int pageindex)
    {
        IProductDAO ipd=(IProductDAO)this.dao;
        List list=ipd.findByCategoryID(categoryid,pagesize,pageindex);
        this.setNormal(list);
        return list;          
    }
    
    public List getByProductNameKey(String key, int pagesize, int pageindex)
    {
        IProductDAO ipd=(IProductDAO)this.dao;
        List list=ipd.findByProductNameKey(key,pagesize,pageindex);
        this.setNormal(list);
        return list;          
    }
    private void setNormal(List list)
    {
        Iterator<ProductEntity> iter=list.iterator();
        ProductEntity p=null;
        boolean b;
        while(iter.hasNext())
        {
            p=iter.next();
            switch(p.getCategoryid())
            {
                case 3:
                    b=((p.getDownbound()-p.getQuantity())<=30);
                    p.setNormal(b);
                    break;
                case 4:
                    b=((p.getDownbound()-p.getQuantity())<=40);
                    p.setNormal(b);
                    break;
                case 7:
                    b=((p.getDownbound()-p.getQuantity())<=70);
                    p.setNormal(b);
                    break;
            }
        }
    }  

    public int getRecordCountByCategoryID(int categoryid)
    {
        IProductDAO ipd=(IProductDAO)this.dao;
        return ipd.getRecordCountByCategoryID(categoryid);
    }

    public int getRecordCountByProductNameKey(String key)
    {
         IProductDAO ipd=(IProductDAO)this.dao;
        return ipd.getRecordCountByProductNameKey(key);
    }
    public boolean addEntity(Object entity)
    {
        return this.dao.addEntity(entity);
    }
  }

⌨️ 快捷键说明

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