001 package org.granite.tide.data.model;
002
003 import java.io.Externalizable;
004 import java.io.IOException;
005 import java.io.ObjectInput;
006 import java.io.ObjectOutput;
007 import java.util.List;
008
009
010 public class Page<E> implements Externalizable {
011
012 private int firstResult;
013 private int maxResults;
014 private int resultCount;
015 private List<E> resultList;
016
017
018 public Page() {
019 }
020
021 public Page(int firstResult, int maxResults, int resultCount, List<E> list) {
022 this.firstResult = firstResult;
023 this.maxResults = maxResults;
024 this.resultCount = resultCount;
025 this.resultList = list;
026 }
027
028 public int getFirstResult() {
029 return firstResult;
030 }
031 public void setFirstResult(int firstResult) {
032 this.firstResult = firstResult;
033 }
034
035 public int getMaxResults() {
036 return maxResults;
037 }
038 public void setMaxResults(int maxResults) {
039 this.maxResults = maxResults;
040 }
041
042 public int getResultCount() {
043 return resultCount;
044 }
045 public void setResultCount(int resultCount) {
046 this.resultCount = resultCount;
047 }
048
049 public List<E> getResultList() {
050 return resultList;
051 }
052 public void setResultList(List<E> resultList) {
053 this.resultList = resultList;
054 }
055
056 public void writeExternal(ObjectOutput out) throws IOException {
057 out.writeObject(firstResult);
058 out.writeObject(maxResults);
059 out.writeObject(resultCount);
060 out.writeObject(resultList);
061 }
062
063 @SuppressWarnings("unchecked")
064 public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
065 firstResult = (Integer)in.readObject();
066 maxResults = (Integer)in.readObject();
067 resultCount = (Integer)in.readObject();
068 resultList = (List<E>)in.readObject();
069 }
070
071 }