CutPage

2527 ワード

package com.gene.util;

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

public class CutPage {
	private List allList;//    
	private int pageNow = 1;//    
	private int pageCount = 10;//    10   
	private int allPage;//  
	private List subList;

	public List getSubList() {
		return subList;
	}

	public void setSubList(List subList) {
		this.subList = subList;
	}

	//  
	public List doCutPage() {
			if (allList!=null&&allList.size()>0) {
				allPage = (int)Math.ceil((double)allList.size()/(double)pageCount);
				if (pageNow*pageCount<=allList.size()&&pageNow>=1) {
					return allList.subList((pageNow-1)*pageCount, pageNow*pageCount);
				}else if(pageNow*pageCount>allList.size()&&pageNow==1){
					return allList;
				}else if(pageNow*pageCount>=allList.size()&&pageNow>=1){
					return allList.subList((pageNow-1)*pageCount, allList.size());
				}else{
					return null;
				}
			}
		return null;
	}
	
	public Integer doGetAllPage(){
		allPage = (int)Math.ceil((double)allList.size()/(double)pageCount);
		return allPage>0?allPage:0;
	}

	//  
	public List<Integer> showPage(Integer allPages) {
		List<Integer> list = new ArrayList<Integer>();
		if (allPages <= 5) {
			for (int i = 1; i <= allPage; i++) {
				list.add(i);
			}
		}
		if (allPages > 5) {
			for (int i = 1; i <= 3; i++) {
				list.add(i);
			}
			list.add(allPages - 2);
			list.add(allPages - 1);
		}
		return (list != null && list.size() > 0) ? list : null;
	}

	public List getAllList() {
		return allList;
	}

	public void setAllList(List allList) {
		this.allList = allList;
	}

	public int getAllPage() {
		return allPage;
	}

	public void setAllPage(int allPage) {
		this.allPage = allPage;
	}

	public int getPageCount() {
		return pageCount;
	}

	public void setPageCount(int pageCount) {
		this.pageCount = pageCount;
	}

	public int getPageNow() {
		return pageNow;
	}

	public void setPageNow(int pageNow) {
		this.pageNow = pageNow;
	}

}