1 16 package org.apache.myfaces.examples.listexample; 17 18 19 20 25 public abstract class SortableList 26 { 27 private String _sort; 28 private boolean _ascending; 29 30 protected SortableList(String defaultSortColumn) 31 { 32 _sort = defaultSortColumn; 33 _ascending = isDefaultAscending(defaultSortColumn); 34 } 35 36 39 protected abstract void sort(String column, boolean ascending); 40 41 44 protected abstract boolean isDefaultAscending(String sortColumn); 45 46 47 public void sort(String sortColumn) 48 { 49 if (sortColumn == null) 50 { 51 throw new IllegalArgumentException ("Argument sortColumn must not be null."); 52 } 53 54 if (_sort.equals(sortColumn)) 55 { 56 _ascending = !_ascending; 58 } 59 else 60 { 61 _sort = sortColumn; 63 _ascending = isDefaultAscending(_sort); 64 } 65 66 sort(_sort, _ascending); 67 } 68 69 public String getSort() 70 { 71 return _sort; 72 } 73 74 public void setSort(String sort) 75 { 76 _sort = sort; 77 } 78 79 public boolean isAscending() 80 { 81 return _ascending; 82 } 83 84 public void setAscending(boolean ascending) 85 { 86 _ascending = ascending; 87 } 88 } 89 | Popular Tags |