package com.metaweb.gridlock.model; import java.io.Serializable; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Properties; import org.json.JSONException; import org.json.JSONObject; public class ColumnModel implements Serializable { private static final long serialVersionUID = 7679639795211544511L; public List columns = new LinkedList(); transient protected Map _nameToColumn; public JSONObject getJSON(Properties options) throws JSONException { JSONObject o = new JSONObject(); List a = new ArrayList(columns.size()); for (Column column : columns) { a.add(column.getJSON(options)); } o.put("columns", a); return o; } public Column getColumnByName(String name) { if (_nameToColumn == null) { for (Column column : columns) { _nameToColumn.put(column.headerLabel, column); } } return _nameToColumn.get(name); } public Column getColumnByCellIndex(int cellIndex) { for (Column column : columns) { if (column.cellIndex == cellIndex) { return column; } } return null; } }