快速业务通道

paginationCode(hibenagte蛍匈) - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

paginationCode(hibenagte蛍匈)

扮寂:2011-01-30 cnblogs 清弼湊峠剴

import org.apache.log4j.Logger; import java.util.List; /** * @author Pietro Polsinelli ppolsinelli@open-lab.com */ public interface Page {  boolean isFirstPage();  boolean isLastPage();  boolean hasNextPage();  boolean hasPreviousPage();  int getLastPageNumber();  List getThisPageElements();  Logger getLogger();  int getTotalNumberOfElements();  int getThisPageFirstElementNumber();  int getThisPageLastElementNumber();  int getNextPageNumber();  int getPreviousPageNumber();  int getPageSize();  int getPageNumber(); } import net.sf.hibernate.*; import net.sf.hibernate.impl.SQLQueryImpl; import net.sf.hibernate.persister.EntityPersister; import org.apache.log4j.Logger; import org.jblooming.PlatformRuntimeException; import org.jblooming.persistence.hibernate.HibernateFactory; import org.jblooming.tracer.Tracer; import org.jblooming.waf.settings.ApplicationState; import java.util.HashSet; import java.util.List; import java.util.Set; import java.sql.SQLException; import java.sql.Connection; import java.sql.ResultSet; /** * @author Pietro Polsinelli ppolsinelli@open-lab.com */ public class HibernatePage implements Page {  protected List elements;  protected int pageSize;  protected int pageNumber;  protected int totalElements = 0;  public static Set jdbcClassesSupportingScrollCursors = new HashSet();  private ScrollableResults scrollableResults;  private HibernatePage(int pageNumber, int pageSize) {   this.pageNumber = pageNumber;   this.pageSize = pageSize;  }  public boolean isFirstPage() {   return getPageNumber() == 0;  }  public boolean isLastPage() {   return getPageNumber() >= getLastPageNumber();  }  public boolean hasNextPage() {   return elements.size() > getPageSize();  }  public boolean hasPreviousPage() {   return getPageNumber() > 0;  }  public int getLastPageNumber() {   double totalResults =       new Integer(getTotalNumberOfElements()).doubleValue();   return new Double(Math.floor(totalResults / getPageSize())).intValue();  }  public List getThisPageElements() { /* * Since we retrieved one more than the specified pageSize when the * class was constructed, we now trim it down to the pageSize if a next * page exists. */   return hasNextPage() ? elements.subList(0, getPageSize()) : elements;  }  public Logger getLogger() {   return Tracer.hibernateLogger;  }  public int getTotalNumberOfElements() {   return totalElements;  }  public int getThisPageFirstElementNumber() {   return getPageNumber() * getPageSize() + 1;  }  public int getThisPageLastElementNumber() {   int fullPage = getThisPageFirstElementNumber() + getPageSize() - 1;   return getTotalNumberOfElements() < fullPage ?       getTotalNumberOfElements() :       fullPage;  }  public int getNextPageNumber() {   return getPageNumber() + 1;  }  public int getPreviousPageNumber() {   return getPageNumber(

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号