/*
* DefaultColumnMetaData.java
*
* Created on November 5, 2005, 2:04 PM
*
* @author E. Rajasekar.
*/
package app.astrosoft.ui.table;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import app.astrosoft.consts.AstrosoftTableColumn;
public class DefaultColumnMetaData implements ColumnMetaData {
protected List<AstrosoftTableColumn> columns = new ArrayList<AstrosoftTableColumn>();
protected List<AstrosoftTableColumn> sortableColumns = new ArrayList<AstrosoftTableColumn>();
protected List<AstrosoftTableColumn> localeColumns = new ArrayList<AstrosoftTableColumn>();
protected int hiddenCols = 0;
public DefaultColumnMetaData() {
}
public DefaultColumnMetaData(AstrosoftTableColumn... cols) {
setColumns(cols);
}
public DefaultColumnMetaData(Set<AstrosoftTableColumn> cols) {
columns.addAll(cols);
}
public DefaultColumnMetaData(List<AstrosoftTableColumn> cols) {
columns.addAll(cols);
}
public List<AstrosoftTableColumn> getColumns(){
return columns;
}
public List<AstrosoftTableColumn> getSortableColumns(){
return sortableColumns;
}
public Class getColumnClass(AstrosoftTableColumn col){
return String.class;
}
public Comparator getColumnComparator(AstrosoftTableColumn col){
return null;
}
public int getHiddenColumnCount() {
return hiddenCols;
}
public void setColumns(AstrosoftTableColumn... cols){
columns = Arrays.asList(cols);
}
public void addColumns(List<AstrosoftTableColumn> cols) {
columns.addAll(cols);
}
public void setSortableColumns(AstrosoftTableColumn... cols){
sortableColumns = Arrays.asList(cols);
}
public void setHiddenColumnCount(int count){
hiddenCols = count;
}
public void localizeColumns(AstrosoftTableColumn... cols) {
localeColumns = Arrays.asList(cols);
}
public void localizeColumns() {
localeColumns = getVisibleColumns();
}
public List<AstrosoftTableColumn> getLocaleColumns() {
return localeColumns;
}
public List<AstrosoftTableColumn> getVisibleColumns() {
return columns.subList(0,columns.size() - hiddenCols);
}
@Override
public String toString() {
return columns.toString();
}
}