又见Java 中的通用解决方案

刚在 Javaeye 上看到一篇关于 通用数据库分页方案 的帖子  http://daquan198163.javaeye.com/blog/24772  ,

说实话我很讨厌这样的帖子,所以也懒得看, 对Java App来说 难道只能说那些有所谓的通用、架构、方案 才够 cool 吗 ? 也许是我最近两年一直在做互联网产品的缘故,所以一见到这些词汇,就很生气,不为别的,只为我喜欢简洁的东西,我虽然用Java 写程序,可我讨厌现在的 Hibernate、Spring 甚至一下 web framework ,所以很多时候我都自己写,我还是那样的喜欢 JDBC、 Servlet 等,是的,我就是喜欢这样的东西  ... 

一个应用,用的着去背负那么多没必要的东西吗,就像一个web app ,如果我采用的 webwork  后,接下来会轻易的去切换她的web framework 吗 ? 不可能,或者说很不容易,所以这个时候就没有什么必要考虑那些不切实际的东西,所以这个所谓的《通用数据库分页方案》在我看来也没什么必要,一上来已经无缘无故的背负了通用,呵呵,能不累吗 ?

下面这个是我在Boar 开源项目中 ,写的用于分页的 Class ,在我看来,只要够用就行 ...

/**
 * Copyright (C) 2006 the original author or authors.
 *
 * This software is published under the terms of the GNU Public License (GPL),
 * a copy of which is included in this distribution.
 */

package com.boar;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * <p>Filters lists .</p>
 *
 * @author <a href="zhuaming@gmail.com">Ben </a>
 *
 */

public class PerPageResultFilter {
 
 private List results ;

    private int startIndex = 0;
    private int numResults = -1;
   
    public void setResults(List results) {
     this.results = results;
    }
   
    public void setNumResults(int numResults) {
     if (numResults != -1 && numResults < 0) {
            throw new IllegalArgumentException("numResults cannot be less than 0.");
        }
        this.numResults = numResults;
    }
   
    public void setStartIndex(int startIndex) {
        if (startIndex < 0) {
            throw new IllegalArgumentException("A start index less than 0 is not valid.");
        }
        this.startIndex = startIndex;
    }
   
    public List getFilterResult() {
     if (results == null) {
      throw new NullPointerException("results is null.");
     }
     List filteredResults = new ArrayList();
        Iterator sortedIter = results.iterator();
        for (int i = 0; sortedIter.hasNext() && filteredResults.size() < numResults; i++) {
             Object result = sortedIter.next();
             if (i >= startIndex) {
              filteredResults.add(result);
             }
        }
        return filteredResults;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值