Package com.biglybt.ui.common.table.impl
Class TableColumnManager
- java.lang.Object
-
- com.biglybt.ui.common.table.impl.TableColumnManager
-
public class TableColumnManager extends java.lang.Object
Holds a list of column definitions (TableColumnCore) for all the tables in Azureus. Column definitions are added via PluginInterface.addColumn(TableColumn) See Use javadoc section for more uses.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map
autoHideOrder
Holds the order in which the columns are auto-hidden key = TABLE_* type value = List of TableColumn, indexed in the order they should be removedprivate static AEMonitor
class_mon
private static java.lang.String
CONFIG_FILE
private static TableColumnManager
instance
private boolean
isDirty
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,TableColumnCore>>
items
private AEMonitor
items_mon
private long
lastTableConfigAccess
private java.util.Map<java.lang.String,TableColumnCreationListener>
mapColumnIDsToListener
private java.util.Map<java.lang.Class,java.util.List>
mapDataSourceTypeToColumnIDs
private static java.util.Map<java.lang.String,java.lang.String>
mapResetTable_Version
private java.util.Map<java.lang.String,java.lang.String[]>
mapTableDefaultColumns
key = TableID; value = table column idsprivate java.util.Map<java.lang.String,java.lang.Class[]>
mapTableIDsDSTs
private static java.util.Comparator<TableColumn>
orderComparator
private static boolean
RERESET
private java.lang.Object
tablesConfig
key = table; value = map of columns Do not access directly.
-
Constructor Summary
Constructors Modifier Constructor Description private
TableColumnManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addColumns(TableColumnCore[] itemsToAdd)
Adds a column definition to the listjava.lang.String[]
appendLists(java.lang.String[] list1, java.lang.String[] list2)
private void
doAddCreate(java.util.Map mTypes, java.lang.String tableID, java.util.Map<java.lang.Class<?>,java.util.List> mapDST)
Helper for getAllTableColumnCorevoid
ensureIntegrity(java.lang.Class dataSourceType, java.lang.String sTableID)
void
generateDiagnostics(IndentWriter writer)
private java.util.Map<java.lang.String,TableColumnCore>
getAllTableColumnCore(java.lang.Class forDataSourceType, java.lang.String tableID)
Will create columns for tableID if neededTableColumnCore[]
getAllTableColumnCoreAsArray(java.lang.Class forDataSourceType, java.lang.String tableID)
java.util.List
getAutoHideOrder(java.lang.String sTableID)
java.lang.Object
getColumnData(java.lang.String columnID, java.lang.String key)
TableColumnInfo
getColumnInfo(TableColumnCore column)
TableColumnInfo
getColumnInfo(java.lang.Class forDataSourceType, java.lang.String forTableID, java.lang.String columnID)
java.lang.String[]
getDefaultColumnNames(java.lang.String tableID)
java.lang.String[]
getDefaultSortColumnNames(java.lang.String tableID)
static TableColumnManager
getInstance()
Retrieve the static TableColumnManager instanceTableColumnCore
getTableColumnCore(java.lang.String sTableID, java.lang.String sColumnName)
int
getTableColumnCount(java.lang.String sTableID)
static java.util.Comparator<TableColumn>
getTableColumnOrderComparator()
java.util.Map<java.lang.String,TableColumnCore>
getTableColumnsAsMap(java.lang.Class forDataSourceType, java.lang.String sTableID)
Retrieves TableColumnCore objects of a particular type.java.util.Map
getTableConfigMap(java.lang.String sTableID)
java.lang.String[]
getTableIDs()
private java.util.Map
getTablesConfigMap()
boolean
hasTableColumnSettings(java.lang.String sTableID)
boolean
loadTableColumnSettings(java.lang.Class forDataSourceType, java.lang.String sTableID)
private void
markDirty()
void
registerColumn(java.lang.Class forDataSourceType, java.lang.String columnID, TableColumnCreationListener listener)
void
removeColumnData(java.lang.String columnID, java.lang.String key)
void
removeColumns(TableColumnCore[] itemsToRemove)
Remove a column definition from the listprivate void
resetAllTables()
void
resetColumns(java.lang.Class dataSourceType, java.lang.String tableID)
void
saveTableColumns(java.lang.Class forDataSourceType, java.lang.String sTableID)
private void
saveTableConfigs()
void
setAutoHideOrder(java.lang.String sTableID, java.lang.String[] autoHideOrderColumnIDs)
void
setColumnData(java.lang.String columnID, java.lang.String key, java.lang.Object value)
void
setDefaultColumnNames(java.lang.String tableID, TableColumn[] columns)
void
setDefaultColumnNames(java.lang.String tableID, java.lang.String[] columnNames)
void
setDefaultSortColumnName(java.lang.String tableID, java.lang.String... columnNames)
protected void
setSortColumnNames(java.lang.String tableID, java.lang.String... columnNames)
void
setTableConfigMap(java.lang.String sTableID, java.util.Map mapTableConfig)
void
unregisterColumn(java.lang.Class forDataSourceType, java.lang.String columnID, TableColumnCreationListener listener)
-
-
-
Field Detail
-
CONFIG_FILE
private static final java.lang.String CONFIG_FILE
- See Also:
- Constant Field Values
-
instance
private static TableColumnManager instance
-
class_mon
private static AEMonitor class_mon
-
items
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,TableColumnCore>> items
-
items_mon
private AEMonitor items_mon
-
autoHideOrder
private java.util.Map autoHideOrder
Holds the order in which the columns are auto-hidden key = TABLE_* type value = List of TableColumn, indexed in the order they should be removed
-
tablesConfig
private java.lang.Object tablesConfig
key = table; value = map of columns Do not access directly. UsegetTableConfigMap(String)
orsaveTableConfigs()
-
lastTableConfigAccess
private long lastTableConfigAccess
-
orderComparator
private static java.util.Comparator<TableColumn> orderComparator
-
mapColumnIDsToListener
private java.util.Map<java.lang.String,TableColumnCreationListener> mapColumnIDsToListener
-
mapDataSourceTypeToColumnIDs
private java.util.Map<java.lang.Class,java.util.List> mapDataSourceTypeToColumnIDs
-
mapTableDefaultColumns
private java.util.Map<java.lang.String,java.lang.String[]> mapTableDefaultColumns
key = TableID; value = table column ids
-
mapTableIDsDSTs
private java.util.Map<java.lang.String,java.lang.Class[]> mapTableIDsDSTs
-
mapResetTable_Version
private static final java.util.Map<java.lang.String,java.lang.String> mapResetTable_Version
-
RERESET
private static final boolean RERESET
- See Also:
- Constant Field Values
-
isDirty
private boolean isDirty
-
-
Method Detail
-
getInstance
public static TableColumnManager getInstance()
Retrieve the static TableColumnManager instance- Returns:
- the static TableColumnManager instance
-
addColumns
public void addColumns(TableColumnCore[] itemsToAdd)
Adds a column definition to the list- Parameters:
itemsToAdd
- The column definition object
-
removeColumns
public void removeColumns(TableColumnCore[] itemsToRemove)
Remove a column definition from the list- Parameters:
itemsToRemove
- The column definition object
-
getTableColumnsAsMap
public java.util.Map<java.lang.String,TableColumnCore> getTableColumnsAsMap(java.lang.Class forDataSourceType, java.lang.String sTableID)
Retrieves TableColumnCore objects of a particular type.- Parameters:
sTableID
- TABLE_* constant. SeeTableColumn
for list of constantsforDataSourceType
-- Returns:
- Map of column definition objects matching the supplied criteria. key = name value = TableColumnCore object
-
getTableColumnCount
public int getTableColumnCount(java.lang.String sTableID)
-
getAllTableColumnCoreAsArray
public TableColumnCore[] getAllTableColumnCoreAsArray(java.lang.Class forDataSourceType, java.lang.String tableID)
-
getDefaultColumnNames
public java.lang.String[] getDefaultColumnNames(java.lang.String tableID)
-
setDefaultColumnNames
public void setDefaultColumnNames(java.lang.String tableID, TableColumn[] columns)
-
setDefaultColumnNames
public void setDefaultColumnNames(java.lang.String tableID, java.lang.String[] columnNames)
-
getAllTableColumnCore
private java.util.Map<java.lang.String,TableColumnCore> getAllTableColumnCore(java.lang.Class forDataSourceType, java.lang.String tableID)
Will create columns for tableID if needed
-
doAddCreate
private void doAddCreate(java.util.Map mTypes, java.lang.String tableID, java.util.Map<java.lang.Class<?>,java.util.List> mapDST)
Helper for getAllTableColumnCore- Since:
- 4.0.0.5
-
getTableIDs
public java.lang.String[] getTableIDs()
-
appendLists
public java.lang.String[] appendLists(java.lang.String[] list1, java.lang.String[] list2)
-
getTableColumnCore
public TableColumnCore getTableColumnCore(java.lang.String sTableID, java.lang.String sColumnName)
-
ensureIntegrity
public void ensureIntegrity(java.lang.Class dataSourceType, java.lang.String sTableID)
-
getDefaultSortColumnNames
public java.lang.String[] getDefaultSortColumnNames(java.lang.String tableID)
-
setDefaultSortColumnName
public void setDefaultSortColumnName(java.lang.String tableID, java.lang.String... columnNames)
-
setSortColumnNames
protected void setSortColumnNames(java.lang.String tableID, java.lang.String... columnNames)
-
saveTableConfigs
private void saveTableConfigs()
-
saveTableColumns
public void saveTableColumns(java.lang.Class forDataSourceType, java.lang.String sTableID)
-
loadTableColumnSettings
public boolean loadTableColumnSettings(java.lang.Class forDataSourceType, java.lang.String sTableID)
-
hasTableColumnSettings
public boolean hasTableColumnSettings(java.lang.String sTableID)
-
getTablesConfigMap
private java.util.Map getTablesConfigMap()
-
getTableConfigMap
public java.util.Map getTableConfigMap(java.lang.String sTableID)
-
setTableConfigMap
public void setTableConfigMap(java.lang.String sTableID, java.util.Map mapTableConfig)
-
setAutoHideOrder
public void setAutoHideOrder(java.lang.String sTableID, java.lang.String[] autoHideOrderColumnIDs)
-
getAutoHideOrder
public java.util.List getAutoHideOrder(java.lang.String sTableID)
-
generateDiagnostics
public void generateDiagnostics(IndentWriter writer)
- Parameters:
writer
-
-
getTableColumnOrderComparator
public static java.util.Comparator<TableColumn> getTableColumnOrderComparator()
-
registerColumn
public void registerColumn(java.lang.Class forDataSourceType, java.lang.String columnID, TableColumnCreationListener listener)
- Parameters:
forDataSourceType
-columnID
-listener
-- Since:
- 3.1.1.1
-
unregisterColumn
public void unregisterColumn(java.lang.Class forDataSourceType, java.lang.String columnID, TableColumnCreationListener listener)
-
getColumnInfo
public TableColumnInfo getColumnInfo(java.lang.Class forDataSourceType, java.lang.String forTableID, java.lang.String columnID)
-
getColumnInfo
public TableColumnInfo getColumnInfo(TableColumnCore column)
-
resetAllTables
private void resetAllTables()
-
getColumnData
public java.lang.Object getColumnData(java.lang.String columnID, java.lang.String key)
-
setColumnData
public void setColumnData(java.lang.String columnID, java.lang.String key, java.lang.Object value)
-
removeColumnData
public void removeColumnData(java.lang.String columnID, java.lang.String key)
-
resetColumns
public void resetColumns(java.lang.Class dataSourceType, java.lang.String tableID)
-
markDirty
private void markDirty()
-
-