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

📄 page.java

📁 一个真实项目的源代码。有一个比较优秀的时间类
💻 JAVA
字号:
package com.work.page;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Represents a page of results (for page-by-page iteration).
 */
public class Page implements Serializable {

	public static final Page EMPTY_PAGE = new Page(Collections.EMPTY_LIST, 0,
			0, 0);

	public int ItemCount = 10;

	List objects;

	int start;

	// 总记录数
	public int containingListSize;

	/**
	 * 初始化一个page对象
	 * 
	 * @param l
	 *            List 要放入list中的对象列表。
	 * @param s
	 *            int 开始记录号
	 * @param cls
	 *            int page对象对应的数据表中的所有的记录条数。
	 * @param PageSize
	 *            int 每个page对象中最大的记录条数。
	 */
	public Page(List l, int s, int cls, int PageSize) {
		objects = new ArrayList(l);
		start = s;
		containingListSize = cls;
		if (PageSize > 0)
			ItemCount = PageSize;
	}

	/**
	 * 返回page对象中包含的数据的列表。
	 * 
	 * @return List
	 */
	public List getList() {
		return objects;
	}

	/**
	 * 判断其是否有下一页。
	 * 
	 * @return boolean 如果有下一页就返回true,否则返回false。
	 */
	public boolean hasNextPage() {
		if (objects.size() > 0)
			return ((start + objects.size() - 1) < containingListSize);
		else
			return false;
	}

	/**
	 * 判断当前的page对象是否有上一页
	 * 
	 * @return boolean
	 */
	public boolean hasPreviousPage() {
		// return start > 0;
		return getCurPageNum() > 1 ? true : false;
	}

	/**
	 * 返回下一页的开始记录号。
	 * 
	 * @return int
	 */
	public int getStartOfNextPage() {
		return start + objects.size();
	}

	/**
	 * 返回上一页的开始记录号。
	 * 
	 * @return int
	 */
	public int getStartOfPreviousPage() {
		// return Math.max(start-objects.size(), 0);
		return Math.max(start - ItemCount, 0);
	}

	/**
	 * 返回当前的页数,如果不够一页当作一页返回。
	 * 
	 * @return int
	 */
	public int getPageCount() {
		int ret = 0;
		if (ItemCount > 0) {
			if (containingListSize % ItemCount == 0) {
				ret = containingListSize / ItemCount;
			} else {
				ret = containingListSize / ItemCount + 1;
			}

		}

		return ret;
	}

	/**
	 * 返回当前page对象的页码。
	 * 
	 * @return int
	 */
	public int getCurPageNum() {
		int ret = 0;
		if (ItemCount > 0) {
			if (ItemCount == 1)
				ret = start / ItemCount;
			else
				ret = start / ItemCount + 1;
		}
		return ret;
	}

	/**
	 * 返回page对象中本页的记录条数。
	 * 
	 * @return int
	 */
	public int getSize() {
		return objects.size();
	}
}

⌨️ 快捷键说明

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