01: /**
02: * $Id: CustomerPaginator.java,v 1.1 2005/08/12 07:46:04 nk137934 Exp $
03: * Copyright 2005 Sun Microsystems, Inc. All
04: * rights reserved. Use of this product is subject
05: * to license terms. Federal Acquisitions:
06: * Commercial Software -- Government Users
07: * Subject to Standard License Terms and
08: * Conditions.
09: *
10: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
11: * are trademarks or registered trademarks of Sun Microsystems,
12: * Inc. in the United States and other countries.
13: */package com.sun.portal.sapportlet.customer;
14:
15: import java.util.List;
16: import java.util.ArrayList;
17: import java.util.Comparator;
18: import java.util.Collections;
19:
20: import com.sun.portal.sapportlet.util.Paginator;
21:
22: public class CustomerPaginator extends Paginator {
23:
24: private int sortField;
25: private int sortOrder;
26:
27: /** Creates a new instance of CustomerPaginator */
28: public CustomerPaginator(List customers) {
29:
30: super (customers);
31: }
32:
33: public void init() {
34:
35: // Default is an ascending sort by customer number
36: sortAscByCustomerNumber();
37: }
38:
39: // Ascending sort by customer number
40: public void sortAscByCustomerNumber() {
41: //set currentPageNumber to 1
42: this .sortField = CustomerComparator.SORT_FIELD_CUST_NUMBER;
43: this .sortOrder = CustomerComparator.SORT_ORDER_ASCENDING;
44: sort();
45: }
46:
47: public void sortDscByCustomerNumber() {
48:
49: this .sortField = CustomerComparator.SORT_FIELD_CUST_NUMBER;
50: this .sortOrder = CustomerComparator.SORT_ORDER_DESCENDING;
51: sort();
52:
53: }
54:
55: public void sortAscByCustomerName() {
56:
57: this .sortField = CustomerComparator.SORT_FIELD_CUST_NAME;
58: this .sortOrder = CustomerComparator.SORT_ORDER_ASCENDING;
59: sort();
60: }
61:
62: public void sortDscByCustomerName() {
63:
64: this .sortField = CustomerComparator.SORT_FIELD_CUST_NAME;
65: this .sortOrder = CustomerComparator.SORT_ORDER_DESCENDING;
66: sort();
67: }
68:
69: public void sortAscByCustomerCity() {
70:
71: this .sortField = CustomerComparator.SORT_FIELD_CUST_CITY;
72: this .sortOrder = CustomerComparator.SORT_ORDER_ASCENDING;
73: sort();
74: }
75:
76: public void sortDscByCustomerCity() {
77:
78: this .sortField = CustomerComparator.SORT_FIELD_CUST_CITY;
79: this .sortOrder = CustomerComparator.SORT_ORDER_DESCENDING;
80: sort();
81: }
82:
83: private void sort() {
84:
85: setPageNumber(1);
86: CustomerComparator comparator = CustomerComparator
87: .getComparator(sortField, sortOrder);
88: Collections.sort(getAllItems(), comparator);
89: }
90:
91: public int getSortField() {
92: return sortField;
93: }
94:
95: public int getSortOrder() {
96: return sortOrder;
97: }
98: }
|