List arrColumnsList = (List) objColumns;
int nColumnsNumber = arrColumnsList.size();
for (int i = 0; i < nColumnsNumber; i++)
{
if (!(arrColumnsList.get(i) instanceof ITableColumn))
throw new ApplicationRuntimeException(
TableUtils.format("columns-only-please", getExtendedId()));
}
//objColumns = arrColumnsList.toArray(new ITableColumn[nColumnsNumber]);
return new SimpleTableColumnModel(arrColumnsList);
}
if (objColumns instanceof ITableColumn[])
{
return new SimpleTableColumnModel((ITableColumn[]) objColumns);
}
if (objColumns instanceof String)
{
String strColumns = (String) objColumns;
if (getColumnsBinding().isInvariant())
{
// if the binding is invariant, create the columns only once
if (m_objColumnModel == null)
m_objColumnModel = generateTableColumnModel(strColumns);
return m_objColumnModel;
}
// if the binding is not invariant, create them every time
return generateTableColumnModel(strColumns);
}
throw new ApplicationRuntimeException(
TableUtils.format("invalid-table-columns", getExtendedId(), objColumns.getClass()));
}