001: /**
002: * $Id: AbsenceRecordPaginator.java,v 1.1 2005/09/05 07:41:11 nk137934 Exp $
003: * Copyright 2005 Sun Microsystems, Inc. All
004: * rights reserved. Use of this product is subject
005: * to license terms. Federal Acquisitions:
006: * Commercial Software -- Government Users
007: * Subject to Standard License Terms and
008: * Conditions.
009: *
010: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
011: * are trademarks or registered trademarks of Sun Microsystems,
012: * Inc. in the United States and other countries.
013: */package com.sun.portal.sapportlet.time;
014:
015: import java.util.List;
016: import java.util.ArrayList;
017: import java.util.Comparator;
018: import java.util.Collections;
019:
020: import com.sun.portal.sapportlet.util.Paginator;
021:
022: public class AbsenceRecordPaginator extends Paginator {
023:
024: private int sortField;
025: private int sortOrder;
026:
027: public AbsenceRecordPaginator(List records) {
028:
029: super (records);
030: }
031:
032: public void init() {
033:
034: // Default is an ascending sort by customer number
035: sortAscByBeginDate();
036: }
037:
038: // Ascending sort by customer number
039: public void sortAscByAbsType() {
040: //set currentPageNumber to 1
041: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_TYPE;
042: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_ASCENDING;
043: sort();
044: }
045:
046: public void sortDscByAbsType() {
047:
048: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_TYPE;
049: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_DESCENDING;
050: sort();
051:
052: }
053:
054: public void sortAscByBeginDate() {
055:
056: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_BEGIN;
057: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_ASCENDING;
058: sort();
059: }
060:
061: public void sortDscByBeginDate() {
062:
063: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_BEGIN;
064: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_DESCENDING;
065: sort();
066: }
067:
068: public void sortAscByEndDate() {
069: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_END;
070: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_ASCENDING;
071: sort();
072: }
073:
074: public void sortDscByEndDate() {
075: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_END;
076: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_DESCENDING;
077: sort();
078: }
079:
080: public void sortAscByDays() {
081:
082: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_DAYS;
083: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_ASCENDING;
084: sort();
085: }
086:
087: public void sortDscByDays() {
088:
089: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_DAYS;
090: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_DESCENDING;
091: sort();
092: }
093:
094: public void sortAscByHours() {
095:
096: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_HOURS;
097: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_ASCENDING;
098: sort();
099: }
100:
101: public void sortDscByHours() {
102:
103: this .sortField = AbsenceRecordComparator.SORT_FIELD_ABS_HOURS;
104: this .sortOrder = AbsenceRecordComparator.SORT_ORDER_DESCENDING;
105: sort();
106: }
107:
108: private void sort() {
109:
110: setPageNumber(1);
111: AbsenceRecordComparator comparator = AbsenceRecordComparator
112: .getComparator(sortField, sortOrder);
113: Collections.sort(getAllItems(), comparator);
114: }
115:
116: public int getSortField() {
117: return sortField;
118: }
119:
120: public int getSortOrder() {
121: return sortOrder;
122: }
123: }
|