package siena.core.options; public class QueryOptionPage extends QueryOption{ public static final int ID = 0x01; public int pageSize = 0; public PageType pageType = PageType.TEMPORARY; public enum PageType { TEMPORARY, MANUAL, PAGINATING } public QueryOptionPage() { super(ID); } public QueryOptionPage(int pageSize) { super(ID); this.pageSize = pageSize; } public QueryOptionPage(int pageSize, PageType type) { super(ID); this.pageSize = pageSize; this.pageType = type; } public QueryOptionPage(State active, int pageSize) { super(ID, active); this.pageSize = pageSize; } public QueryOptionPage(QueryOptionPage option) { super(option); this.pageSize = option.pageSize; this.pageType = option.pageType; } public boolean isPaginating() { return pageType == PageType.PAGINATING; } public boolean isManual() { return pageType == PageType.MANUAL; } @Override public QueryOption clone() { return new QueryOptionPage(this); } public String toString() { return "type:PAGE - state:"+this.state+" - pageType:"+pageType+" - pageSize:"+this.pageSize; } public boolean equals(Object obj){ return super.equals(obj) && this.pageSize == ((QueryOptionPage)obj).pageSize && this.pageType == ((QueryOptionPage)obj).pageType; } }