/**
* Utils.java
* Created On 2006, Feb 25, 2006 6:19:01 PM
* @author E. Rajasekar
*/
package app.astrosoft.util;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import app.astrosoft.consts.AstrosoftTableColumn;
import app.astrosoft.ui.table.ColumnMetaData;
import app.astrosoft.ui.table.Table;
import app.astrosoft.ui.table.TableData;
import app.astrosoft.ui.table.TableRowData;
public class Utils {
public static <K,V extends Comparable<V>> List<ComparableEntry<K,V>> sortMap(Set<Map.Entry<K,V>> entrySet, boolean isDesc, Comparator<ComparableEntry> comparator){
List<ComparableEntry<K,V>> entries = new ArrayList<ComparableEntry<K,V>>();
for (Map.Entry<K,V> entry : entrySet) {
entries.add(new ComparableEntry<K,V>(entry));
}
return sortEntryList(entries, isDesc, comparator);
}
public static <K,V extends Comparable<V>> List<ComparableEntry<K,V>> sortMap(Set<Map.Entry<K,V>> entrySet){
return sortMap(entrySet,false,null);
}
public static <K,V extends Comparable<V>> List<ComparableEntry<K,V>> sortMap(Set<Map.Entry<K,V>> entrySet, boolean isDesc){
return sortMap(entrySet,isDesc,null);
}
public static <K,V extends Comparable<V>> List<ComparableEntry<K,V>> sortEntryList(List<ComparableEntry<K,V>> entries, boolean isDesc, Comparator<ComparableEntry> comparator){
if (comparator == null){
if (isDesc){
Collections.sort(entries, Collections.reverseOrder());
}else{
Collections.sort(entries);
}
}else{
Collections.sort(entries, comparator);
}
return entries;
}
public static <K,V extends Comparable<V>> List<ComparableEntry<K,V>> sortEntryList(List<ComparableEntry<K,V>> entries, boolean isDesc){
return sortEntryList(entries, isDesc, null);
}
public static String printTableData(TableData<? extends TableRowData> data, ColumnMetaData colMetaData){
StringBuffer sb = new StringBuffer();
for(int row = 0; row < data.getRowCount(); row++){
for(AstrosoftTableColumn col : colMetaData.getColumns()){
sb.append(((TableRowData)data.getRow(row)).getColumnData(col) + "\t");
}
sb.append("\n");
}
return sb.toString();
}
public static String printTableData(Table table){
return printTableData(table.getTableData(), table.getColumnMetaData());
}
}