1 33 34 package com.icesoft.icefaces.samples.showcase.components.table; 35 36 42 public abstract class SortableList { 43 private String sort; 44 private boolean ascending; 45 46 protected SortableList(String defaultSortColumn) { 47 sort = defaultSortColumn; 48 ascending = isDefaultAscending(defaultSortColumn); 49 } 50 51 54 protected abstract void sort(String column, boolean ascending); 55 56 59 protected abstract boolean isDefaultAscending(String sortColumn); 60 61 66 public void sort(String sortColumn) { 67 if (sortColumn == null) { 68 throw new IllegalArgumentException ( 69 "Argument sortColumn must not be null."); 70 } 71 72 if (sort.equals(sortColumn)) { 73 ascending = !ascending; 75 } else { 76 sort = sortColumn; 78 ascending = isDefaultAscending(sort); 79 } 80 81 sort(sort, ascending); 82 } 83 84 89 public String getSort() { 90 return sort; 91 } 92 93 98 public void setSort(String sort) { 99 this.sort = sort; 100 } 101 102 107 public boolean isAscending() { 108 return ascending; 109 } 110 111 116 public void setAscending(boolean ascending) { 117 this.ascending = ascending; 118 } 119 } | Popular Tags |