// width, filter, sort
while (columns.hasNext()) {
UIComponent component = columns.next();
if (component instanceof AbstractColumn) {
AbstractColumn column = (AbstractColumn) component;
String width = tableState.getColumnWidth(column);
if (width != null && ! width.equals(column.getWidth())) {
updateAttribute(facesContext, column, "width", width);
}
String stateFilterValue = tableState.getColumnFilter(column);
if ( stateFilterValue != null && (column.getFilterValue() == null || ! column.getFilterValue().toString().equals(stateFilterValue))) {
updateAttribute(facesContext, column, "filterValue", stateFilterValue);
}
String sort = tableState.getColumnSort(column);
if (sort != null) {
SortOrder sortOrder = SortOrder.valueOf(sort);
if (! sortOrder.equals(column.getSortOrder())) {
updateAttribute(facesContext, column, "sortOrder", sortOrder);
}
}
}
}