Package tech.molecules.leet.table
Class NexusTableModel
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- tech.molecules.leet.table.NexusTableModel
-
- All Implemented Interfaces:
Serializable,TableModel
public class NexusTableModel extends AbstractTableModel
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNexusTableModel.NexusEventstatic classNexusTableModel.NexusHighlightingAndSelectionStatusDescribes the selection and highlighting status of a given row.static classNexusTableModel.NexusHighlightingChangedEventstatic classNexusTableModel.NexusSelectionChangedEventstatic interfaceNexusTableModel.NexusTableModelListenerstatic classNexusTableModel.SelectionType
-
Field Summary
Fields Modifier and Type Field Description ObjectlockTablestatic StringSELECTION_TYPE_MOUSE_OVERstatic StringSELECTION_TYPE_SELECTED-
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
-
Constructor Summary
Constructors Constructor Description NexusTableModel()
-
Method Summary
-
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getColumnName, getListeners, getTableModelListeners, removeTableModelListener, setValueAt
-
-
-
-
Field Detail
-
lockTable
public final Object lockTable
-
SELECTION_TYPE_SELECTED
public static final String SELECTION_TYPE_SELECTED
- See Also:
- Constant Field Values
-
SELECTION_TYPE_MOUSE_OVER
public static final String SELECTION_TYPE_MOUSE_OVER
- See Also:
- Constant Field Values
-
-
Method Detail
-
getDatasetForColumn
public <U,T> T getDatasetForColumn(NColumn<U,T> col)
-
setNexusColumnsWithDataProviders
public void setNexusColumnsWithDataProviders(List<org.apache.commons.lang3.tuple.Pair<NColumn,NDataProvider>> cols)
- Parameters:
cols-
-
addNexusColumn
public void addNexusColumn(NDataProvider ndp, NColumn nc)
-
removeNexusColumn
public void removeNexusColumn(NColumn nc)
-
getRowIdForVisibleRow
public String getRowIdForVisibleRow(int visible_row_index)
Provides mapping from table model row index to row id.- Parameters:
visible_row_index-- Returns:
-
setNexusColumnWithDataProvider
public void setNexusColumnWithDataProvider(int idx, org.apache.commons.lang3.tuple.Pair<NColumn,NDataProvider> column)
-
setDataProviderForColumn
public <U extends NDataProvider,T> void setDataProviderForColumn(NColumn<U,T> c, U np)
-
getRowCount
public int getRowCount()
-
getColumnCount
public int getColumnCount()
-
getValueAt
public Object getValueAt(int rowIndex, int columnIndex)
-
addRowFilter
public <U,T> void addRowFilter(NColumn<U,T> col, NColumn.NexusRowFilter<T> filter)
-
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex)- Specified by:
isCellEditablein interfaceTableModel- Overrides:
isCellEditablein classAbstractTableModel
-
resetFilters
public void resetFilters()
-
updateFiltering
public void updateFiltering()
-
addNexusListener
public void addNexusListener(NexusTableModel.NexusTableModelListener li)
-
removeNexusListener
public void removeNexusListener(NexusTableModel.NexusTableModelListener li)
-
fireNexusTableStructureChangedEvent
public void fireNexusTableStructureChangedEvent()
-
getNexusColumnsWithDataProviders
public List<org.apache.commons.lang3.tuple.Pair<NColumn,NDataProvider>> getNexusColumnsWithDataProviders()
-
collectNumericDataSources
public Map<NColumn,Map<String,NumericalDatasource>> collectNumericDataSources()
-
getKeyAtVisiblePosition
public String getKeyAtVisiblePosition(int ri)
-
getVisiblePositionOfKey
public int getVisiblePositionOfKey(String ki)
-
getSelectionType
public NexusTableModel.SelectionType getSelectionType(String name)
-
registerSelectionType
public boolean registerSelectionType(NexusTableModel.SelectionType type)
returns false if type was already registered- Parameters:
type-- Returns:
-
addSelectionTypeToRows
public void addSelectionTypeToRows(NexusTableModel.SelectionType c, Collection<String> rows)
-
removeSelectionTypeFromRows
public void removeSelectionTypeFromRows(NexusTableModel.SelectionType c, Collection<String> rows)
-
getHighlightingAndSelectionStatus
public NexusTableModel.NexusHighlightingAndSelectionStatus getHighlightingAndSelectionStatus(int row)
-
equipJacksonSerializer
public static void equipJacksonSerializer(com.fasterxml.jackson.databind.ObjectMapper mapper)
This registers all necessary serializers in the Jackson object mapper. After calling this, the mapper can correctly serialize Nexus-related fields in Config objects (NColumn, NDataProvider etc.).
-
equipJacksonDeserializer
public static void equipJacksonDeserializer(com.fasterxml.jackson.databind.ObjectMapper mapper, Map<Integer,org.apache.commons.lang3.tuple.Pair<Class,Object>> registry)Registers all necessary deserializers required for the Jackson object mapper. For this, we require the information stored in the registry, i.e. we must be able to fill the id-referenced values.- Parameters:
mapper-
-
-