Class 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 Detail

      • class_mon

        private static AEMonitor class_mon
      • items

        private java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​TableColumnCore>> items
      • 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
      • lastTableConfigAccess

        private long lastTableConfigAccess
      • orderComparator

        private static java.util.Comparator<TableColumn> orderComparator
      • 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
      • isDirty

        private boolean isDirty
    • Constructor Detail

      • TableColumnManager

        private TableColumnManager()
    • 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. See TableColumn for list of constants
        forDataSourceType -
        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)
      • 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()