}
/* return the property from the column */
Table t = ((TableFObj) fo).getTable();
List cols = t.getColumns();
ColumnNumberManager columnIndexManager = t.getColumnNumberManager();
if (cols == null) {
//no columns defined => no match: return default value
return pInfo.getPropertyList().get(propId, false, true);
} else {
if (columnIndexManager.isColumnNumberUsed(columnNumber)) {
//easiest case: exact match
return ((TableColumn) cols.get(columnNumber - 1)).getProperty(propId);
} else {
//no exact match: try all spans...
while (--span > 0 && !columnIndexManager.isColumnNumberUsed(++columnNumber)) {
//nop: just increment/decrement
}
if (columnIndexManager.isColumnNumberUsed(columnNumber)) {
return ((TableColumn) cols.get(columnNumber - 1)).getProperty(propId);
} else {
//no match: return default value
return pInfo.getPropertyList().get(propId, false, true);
}