package com.m.support.paging; import java.io.Serializable; /** * 分页代理,根据每次调用接口返回的数据设置分页参数<br/> * {@link #processData}处理后的数据保存,在下次调用{@link #generateHttpParams}时,返回当前分页的参数 * * @author wangdan * * @param <T> * @param <Ts> */ public class PagingProxy<T extends Serializable, Ts extends Serializable> implements IPaging<T, Ts> { private static final long serialVersionUID = -1986413629779663810L; private IPaging<T, Ts> pagingProcessor; public PagingProxy(IPaging<T, Ts> pagingProcessor) { this.pagingProcessor = pagingProcessor; } @Override public IPaging<T, Ts> newInstance() { pagingProcessor = pagingProcessor.newInstance(); return null; } @Override public void processData(Ts newDatas, T firstData, T lastData) { pagingProcessor.processData(newDatas, firstData, lastData); } @Override public boolean canRefresh() { return pagingProcessor.canRefresh(); } @Override public boolean canUpdate() { return pagingProcessor.canUpdate(); } public IPaging<T, Ts> getPagingProcessor() { return pagingProcessor; } public void setPagingProcessor(IPaging<T, Ts> pagingProcessor) { this.pagingProcessor = pagingProcessor; } @Override public String getPreviousPage() { return pagingProcessor.getPreviousPage(); } @Override public String getNextPage() { return pagingProcessor.getNextPage(); } @Override public void setPage(String previousPage, String nextPage) { pagingProcessor.setPage(previousPage, nextPage); } }