summaryrefslogtreecommitdiff
path: root/orkweb/src/net/sf/oreka/tapestry/TableState.java
blob: 0a1c44ceb1a6693596191cd6e9501703ecdba976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*
 * Oreka -- A media capture and retrieval platform
 * 
 * Copyright (C) 2005, orecx LLC
 *
 * http://www.orecx.com
 *
 * This program is free software, distributed under the terms of
 * the GNU General Public License.
 * Please refer to http://www.gnu.org/copyleft/gpl.html
 *
 */

/**
 * 
 */
package net.sf.oreka.tapestry;

import org.apache.log4j.Logger;

public class TableState {

	static Logger logger = Logger.getLogger(TableState.class);	
	
	public static int DEFAULT_RESULTS_PER_PAGE = 10;
	
	private int NumResults;
	private int ResultsPerPage;
	private int CurrentOffset;
	private int sliderPosition;
	private String OrderBy = new String();
	private boolean Ascending = false;
	
	/**
	 * @return Returns the ascending.
	 */
	public boolean isAscending() {
		return Ascending;
	}
	

	/**
	 * @param ascending The ascending to set.
	 */
	public void setAscending(boolean ascending) {
		Ascending = ascending;
	}

	/**
	 * @return Returns the orderBy.
	 */
	public String getOrderBy() {
		return OrderBy;
	}
	

	/**
	 * @param orderBy The orderBy to set.
	 */
	public void setOrderBy(String orderBy) {
		OrderBy = orderBy;
	}
	

	/**
	 * 
	 */ 
	public TableState() {
		ResultsPerPage = DEFAULT_RESULTS_PER_PAGE;
	}
	
	/**
	 * @return Returns the currentOffset.
	 */
	public int getCurrentOffset() {
		return CurrentOffset;
	}
	

	/**
	 * @param currentOffset The currentOffset to set.
	 */
	public void setCurrentOffset(int currentOffset) {
		CurrentOffset = currentOffset;
	}
	

	/**
	 * @return Returns the numResults.
	 */
	public int getNumResults() {
		return NumResults;
	}
	

	/**
	 * @param numResults The numResults to set.
	 */
	public void setNumResults(int numResults) {
		if (NumResults != numResults){
			NumResults = numResults;
			CurrentOffset = 0;		// reset the offset if different resultset
		}
	}
	

	/**
	 * @return Returns the resultsPerPage.
	 */
	public int getResultsPerPage() {
		return ResultsPerPage;
	}
	

	/**
	 * @param resultsPerPage The resultsPerPage to set.
	 */
	public void setResultsPerPage(int resultsPerPage) {
		ResultsPerPage = resultsPerPage;
	}
	
	public int getNumPages() {
		double numPages = (double)getNumResults() / getResultsPerPage();
		return (int)java.lang.Math.ceil(numPages);
	}
	
	public int getCurrentPage() {
		return (getCurrentOffset() / getResultsPerPage())+1;
	}


	public int getSliderPosition() {
		return sliderPosition;
	}
	


	public void setSliderPosition(int sliderPosition) {
		this.sliderPosition = sliderPosition;
	}
	

}