package com.tandbergtv.workflow.web.table;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * This class is an object wrapper of an html table.
 * 
 * @author Rao
 * @version $
 */
public class Table implements Serializable {

	private static final long serialVersionUID = 1L;

	private String id;

	private String defaultSortingColumn;

	private String defaultSortingOrder;
	
	private String defaultColumnWidth;

	private String actionPath;
	
	private List<Column> columns = new ArrayList<Column>();

	public String getActionPath() {
		return actionPath;
	}

	public void setActionPath(String actionPath) {
		this.actionPath = actionPath;
	}

	public String getDefaultSortingColumn() {
		return defaultSortingColumn;
	}

	public void setDefaultSortingColumn(String defaultSortingColumn) {
		this.defaultSortingColumn = defaultSortingColumn;
	}

	public String getDefaultSortingOrder() {
		return defaultSortingOrder;
	}

	public void setDefaultSortingOrder(String defaultSortingOrder) {
		this.defaultSortingOrder = defaultSortingOrder;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public List<Column> getColumns() {
		return columns;
	}

	public void setColumns(List<Column> columns) {
		this.columns = columns;
	}

	public String getDefaultColumnWidth() {
		return defaultColumnWidth;
	}

	public void setDefaultColumnWidth(String defaultColumnWidth) {
		this.defaultColumnWidth = defaultColumnWidth;
	}

	public Column getColumn(String name) {
		for (Column column : this.columns) {
			if (name.equals(column.getColumnName()))
				return column;
		}
		
		return null;
	}
	
	public Column getColumnBySortName(String name) {
		for (Column column : this.columns) {
			if (name.equals(column.getSortingColumnName()))
				return column;
		}
		
		return null;
	}
}
