Package is.codion.swing.framework.model
Class SwingEntityTableModel
java.lang.Object
is.codion.swing.framework.model.SwingEntityTableModel
- All Implemented Interfaces:
is.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>,is.codion.framework.model.EntityTableModel<SwingEntityEditModel>,is.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,,is.codion.framework.domain.entity.attribute.Attribute<?>> TableModel
public class SwingEntityTableModel
extends Object
implements is.codion.framework.model.EntityTableModel<SwingEntityEditModel>, is.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
A TableModel implementation for displaying and working with entities.
-
Nested Class Summary
Nested classes/interfaces inherited from interface is.codion.framework.model.EntityTableModel
is.codion.framework.model.EntityTableModel.OnInsertNested classes/interfaces inherited from interface is.codion.common.model.FilterModel
is.codion.common.model.FilterModel.AbstractRefresher<T extends Object>, is.codion.common.model.FilterModel.Refresher<T extends Object>Nested classes/interfaces inherited from interface is.codion.swing.common.model.component.table.FilterTableModel
is.codion.swing.common.model.component.table.FilterTableModel.Builder<R extends Object,C extends Object>, is.codion.swing.common.model.component.table.FilterTableModel.Columns<R extends Object, C extends Object>, is.codion.swing.common.model.component.table.FilterTableModel.RefreshStrategy -
Field Summary
Fields inherited from interface is.codion.framework.model.EntityTableModel
HANDLE_EDIT_EVENTS, ON_INSERTFields inherited from interface is.codion.common.model.FilterModel
ASYNC_REFRESH -
Constructor Summary
ConstructorsConstructorDescriptionSwingEntityTableModel(is.codion.framework.domain.entity.EntityType entityType, is.codion.framework.db.EntityConnectionProvider connectionProvider) Instantiates a new SwingEntityTableModel.SwingEntityTableModel(is.codion.framework.model.EntityTableConditionModel conditionModel) Instantiates a new SwingEntityTableModel.SwingEntityTableModel(SwingEntityEditModel editModel) Instantiates a new SwingEntityTableModel.SwingEntityTableModel(SwingEntityEditModel editModel, is.codion.framework.model.EntityTableConditionModel conditionModel) Instantiates a new SwingEntityTableModel. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddItem(is.codion.framework.domain.entity.Entity item) final voidaddItemAt(int index, is.codion.framework.domain.entity.Entity item) final voidaddItems(Collection<is.codion.framework.domain.entity.Entity> items) final voidaddItemsAt(int index, Collection<is.codion.framework.domain.entity.Entity> items) final voidaddItemsAtSorted(int index, Collection<is.codion.framework.domain.entity.Entity> items) final voidaddItemSorted(is.codion.framework.domain.entity.Entity item) final voidaddItemsSorted(Collection<is.codion.framework.domain.entity.Entity> items) final voidaddTableModelListener(TableModelListener listener) final is.codion.common.value.ValueSet<is.codion.framework.domain.entity.attribute.Attribute<?>>backgroundColor(int row, is.codion.framework.domain.entity.attribute.Attribute<?> attribute) final voidclear()final is.codion.common.event.EventObserver<?>is.codion.swing.common.model.component.table.FilterTableModel.Columns<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>> columns()is.codion.common.value.Value<Comparator<is.codion.framework.domain.entity.Entity>>final is.codion.common.state.StateObserverprotected booleanconditionEnabled(is.codion.framework.model.EntityTableConditionModel conditionModel) It can be necessary to prevent the user from selecting too much data, when working with a large dataset.final is.codion.framework.model.EntityTableConditionModelfinal is.codion.common.state.Statefinal is.codion.framework.db.EntityConnectionfinal is.codion.framework.db.EntityConnectionProviderfinal booleancontainsItem(is.codion.framework.domain.entity.Entity item) final is.codion.common.event.EventObserver<?>final Collection<is.codion.framework.domain.entity.Entity>final is.codion.common.state.Stateeditable()final <C extends SwingEntityEditModel>
Cfinal is.codion.framework.domain.entity.Entitiesentities()final is.codion.framework.domain.entity.EntityDefinitionfinal is.codion.framework.domain.entity.EntityTypefinal booleanfiltered(is.codion.framework.domain.entity.Entity item) final intfinal Collection<is.codion.framework.domain.entity.Entity>final voidfinal is.codion.common.model.table.TableConditionModel<is.codion.framework.domain.entity.attribute.Attribute<?>>final Optional<is.codion.framework.domain.entity.Entity>find(is.codion.framework.domain.entity.Entity.Key primaryKey) final Collection<is.codion.framework.domain.entity.Entity>find(Collection<is.codion.framework.domain.entity.Entity.Key> keys) final voidvoidfireTableRowsUpdated(int fromIndex, int toIndex) foregroundColor(int row, is.codion.framework.domain.entity.attribute.Attribute<?> attribute) final Class<?>getColumnClass(int columnIndex) final Class<?>getColumnClass(is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) final intfinal StringgetColumnName(int columnIndex) final intfinal StringgetStringAt(int rowIndex, is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) final ObjectgetValueAt(int rowIndex, int columnIndex) final is.codion.common.state.Statefinal is.codion.common.value.Value<Predicate<is.codion.framework.domain.entity.Entity>>final intindexOf(is.codion.framework.domain.entity.Entity item) final intindexOf(is.codion.framework.domain.entity.Entity.Key primaryKey) booleanisCellEditable(int rowIndex, int modelColumnIndex) Returns true if the cell atrowIndexandmodelColumnIndexis editable.final is.codion.framework.domain.entity.EntityitemAt(int rowIndex) final Collection<is.codion.framework.domain.entity.Entity>items()final is.codion.common.value.Value<Integer>limit()final is.codion.common.value.Value<is.codion.framework.model.EntityTableModel.OnInsert>onInsert()final is.codion.common.value.Value<is.codion.framework.domain.entity.OrderBy>orderBy()final voidrefresh()final voidrefresh(Collection<is.codion.framework.domain.entity.Entity.Key> keys) final is.codion.common.model.FilterModel.Refresher<is.codion.framework.domain.entity.Entity>protected Collection<is.codion.framework.domain.entity.Entity>Queries the data used to populate this EntityTableModel when it is refreshed.final is.codion.common.value.Value<is.codion.swing.common.model.component.table.FilterTableModel.RefreshStrategy>final voidrefreshThen(Consumer<Collection<is.codion.framework.domain.entity.Entity>> afterRefresh) final is.codion.common.state.Statefinal voidremoveItem(is.codion.framework.domain.entity.Entity item) final is.codion.framework.domain.entity.EntityremoveItemAt(int index) final List<is.codion.framework.domain.entity.Entity>removeItems(int fromIndex, int toIndex) final voidremoveItems(Collection<is.codion.framework.domain.entity.Entity> items) final voidremoveTableModelListener(TableModelListener listener) final voidreplace(is.codion.framework.domain.entity.attribute.ForeignKey foreignKey, Collection<is.codion.framework.domain.entity.Entity> foreignKeyValues) final voidreplace(Collection<is.codion.framework.domain.entity.Entity> entities) final voidselect(Collection<is.codion.framework.domain.entity.Entity.Key> keys) final <T> Collection<T>selectedValues(is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) final is.codion.common.event.EventObserver<?>final is.codion.swing.common.model.component.table.FilterTableSelectionModel<is.codion.framework.domain.entity.Entity>final voidsetItemAt(int index, is.codion.framework.domain.entity.Entity item) final voidsetValueAt(Object value, int rowIndex, int modelColumnIndex) Sets the value in the given cell and updates the underlying Entity.final voidstatic SwingEntityTableModeltableModel(Collection<is.codion.framework.domain.entity.Entity> entities, is.codion.framework.db.EntityConnectionProvider connectionProvider) protected ColorReturns aColorinstance from the given Object.final StringtoString()final <T> Collection<T>values(is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) final booleanvisible(is.codion.framework.domain.entity.Entity item) final intfinal List<is.codion.framework.domain.entity.Entity>
-
Constructor Details
-
SwingEntityTableModel
public SwingEntityTableModel(is.codion.framework.domain.entity.EntityType entityType, is.codion.framework.db.EntityConnectionProvider connectionProvider) Instantiates a new SwingEntityTableModel.- Parameters:
entityType- the entityTypeconnectionProvider- the connection provider
-
SwingEntityTableModel
public SwingEntityTableModel(is.codion.framework.model.EntityTableConditionModel conditionModel) Instantiates a new SwingEntityTableModel.- Parameters:
conditionModel- the table condition model
-
SwingEntityTableModel
Instantiates a new SwingEntityTableModel.- Parameters:
editModel- the edit model
-
SwingEntityTableModel
public SwingEntityTableModel(SwingEntityEditModel editModel, is.codion.framework.model.EntityTableConditionModel conditionModel) Instantiates a new SwingEntityTableModel.- Parameters:
editModel- the edit modelconditionModel- the table condition model- Throws:
IllegalArgumentException- in case the edit model and condition model entity type is not the same
-
-
Method Details
-
entities
public final is.codion.framework.domain.entity.Entities entities()- Specified by:
entitiesin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
entityDefinition
public final is.codion.framework.domain.entity.EntityDefinition entityDefinition()- Specified by:
entityDefinitionin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
toString
-
attributes
public final is.codion.common.value.ValueSet<is.codion.framework.domain.entity.attribute.Attribute<?>> attributes()- Specified by:
attributesin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
limit
- Specified by:
limitin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
orderBy
public final is.codion.common.value.Value<is.codion.framework.domain.entity.OrderBy> orderBy()- Specified by:
orderByin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
conditionRequired
public final is.codion.common.state.State conditionRequired()- Specified by:
conditionRequiredin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
onInsert
public final is.codion.common.value.Value<is.codion.framework.model.EntityTableModel.OnInsert> onInsert()- Specified by:
onInsertin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
removeDeleted
public final is.codion.common.state.State removeDeleted()- Specified by:
removeDeletedin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
handleEditEvents
public final is.codion.common.state.State handleEditEvents()- Specified by:
handleEditEventsin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
entityType
public final is.codion.framework.domain.entity.EntityType entityType()- Specified by:
entityTypein interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
conditionModel
public final is.codion.framework.model.EntityTableConditionModel conditionModel()- Specified by:
conditionModelin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
editModel
- Specified by:
editModelin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
connectionProvider
public final is.codion.framework.db.EntityConnectionProvider connectionProvider()- Specified by:
connectionProviderin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
connection
public final is.codion.framework.db.EntityConnection connection()- Specified by:
connectionin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
editable
public final is.codion.common.state.State editable()- Specified by:
editablein interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
isCellEditable
public boolean isCellEditable(int rowIndex, int modelColumnIndex) Returns true if the cell atrowIndexandmodelColumnIndexis editable.- Specified by:
isCellEditablein interfaceTableModel- Parameters:
rowIndex- the row to editmodelColumnIndex- the model index of the column to edit- Returns:
- true if the cell is editable
- See Also:
-
setValueAt
Sets the value in the given cell and updates the underlying Entity.- Specified by:
setValueAtin interfaceTableModel- Parameters:
value- the new valuerowIndex- the row whose value is to be changedmodelColumnIndex- the model index of the column to be changed
-
backgroundColor
public Color backgroundColor(int row, is.codion.framework.domain.entity.attribute.Attribute<?> attribute) - Specified by:
backgroundColorin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
foregroundColor
public Color foregroundColor(int row, is.codion.framework.domain.entity.attribute.Attribute<?> attribute) - Specified by:
foregroundColorin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
find
public final Optional<is.codion.framework.domain.entity.Entity> find(is.codion.framework.domain.entity.Entity.Key primaryKey) - Specified by:
findin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
indexOf
public final int indexOf(is.codion.framework.domain.entity.Entity.Key primaryKey) - Specified by:
indexOfin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
replace
- Specified by:
replacein interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
refresh
- Specified by:
refreshin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
replace
public final void replace(is.codion.framework.domain.entity.attribute.ForeignKey foreignKey, Collection<is.codion.framework.domain.entity.Entity> foreignKeyValues) - Specified by:
replacein interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
select
- Specified by:
selectin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
find
public final Collection<is.codion.framework.domain.entity.Entity> find(Collection<is.codion.framework.domain.entity.Entity.Key> keys) - Specified by:
findin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
deleteSelected
public final Collection<is.codion.framework.domain.entity.Entity> deleteSelected() throws is.codion.common.db.exception.DatabaseException- Specified by:
deleteSelectedin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>- Throws:
is.codion.common.db.exception.DatabaseException
-
conditionChanged
public final is.codion.common.state.StateObserver conditionChanged()- Specified by:
conditionChangedin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
selectionEvent
public final is.codion.common.event.EventObserver<?> selectionEvent()- Specified by:
selectionEventin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>
-
filterItems
public final void filterItems()- Specified by:
filterItemsin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
includeCondition
public final is.codion.common.value.Value<Predicate<is.codion.framework.domain.entity.Entity>> includeCondition()- Specified by:
includeConditionin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
items
- Specified by:
itemsin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
visibleItems
- Specified by:
visibleItemsin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
filteredItems
- Specified by:
filteredItemsin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
visibleCount
public final int visibleCount()- Specified by:
visibleCountin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
filteredCount
public final int filteredCount()- Specified by:
filteredCountin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
containsItem
public final boolean containsItem(is.codion.framework.domain.entity.Entity item) - Specified by:
containsItemin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
visible
public final boolean visible(is.codion.framework.domain.entity.Entity item) - Specified by:
visiblein interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
filtered
public final boolean filtered(is.codion.framework.domain.entity.Entity item) - Specified by:
filteredin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
refresher
public final is.codion.common.model.FilterModel.Refresher<is.codion.framework.domain.entity.Entity> refresher()- Specified by:
refresherin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
-
refresh
public final void refresh()- Specified by:
refreshin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>- Specified by:
refreshin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>- Specified by:
refreshin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
refreshThen
public final void refreshThen(Consumer<Collection<is.codion.framework.domain.entity.Entity>> afterRefresh) - Specified by:
refreshThenin interfaceis.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>- Specified by:
refreshThenin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
clear
public final void clear()- Specified by:
clearin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>- Specified by:
clearin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
getRowCount
public final int getRowCount()- Specified by:
getRowCountin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>- Specified by:
getRowCountin interfaceTableModel
-
indexOf
public final int indexOf(is.codion.framework.domain.entity.Entity item) - Specified by:
indexOfin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
itemAt
public final is.codion.framework.domain.entity.Entity itemAt(int rowIndex) - Specified by:
itemAtin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
getValueAt
- Specified by:
getValueAtin interfaceTableModel
-
getStringAt
public final String getStringAt(int rowIndex, is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) - Specified by:
getStringAtin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addItems
- Specified by:
addItemsin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addItemsSorted
- Specified by:
addItemsSortedin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addItemsAt
- Specified by:
addItemsAtin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addItemsAtSorted
public final void addItemsAtSorted(int index, Collection<is.codion.framework.domain.entity.Entity> items) - Specified by:
addItemsAtSortedin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addItem
public final void addItem(is.codion.framework.domain.entity.Entity item) - Specified by:
addItemin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addItemAt
public final void addItemAt(int index, is.codion.framework.domain.entity.Entity item) - Specified by:
addItemAtin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addItemSorted
public final void addItemSorted(is.codion.framework.domain.entity.Entity item) - Specified by:
addItemSortedin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
setItemAt
public final void setItemAt(int index, is.codion.framework.domain.entity.Entity item) - Specified by:
setItemAtin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
removeItems
- Specified by:
removeItemsin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
removeItem
public final void removeItem(is.codion.framework.domain.entity.Entity item) - Specified by:
removeItemin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
removeItemAt
public final is.codion.framework.domain.entity.Entity removeItemAt(int index) - Specified by:
removeItemAtin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
removeItems
- Specified by:
removeItemsin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
fireTableDataChanged
public final void fireTableDataChanged()- Specified by:
fireTableDataChangedin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
fireTableRowsUpdated
public void fireTableRowsUpdated(int fromIndex, int toIndex) - Specified by:
fireTableRowsUpdatedin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
values
public final <T> Collection<T> values(is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) - Specified by:
valuesin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
getColumnClass
public final Class<?> getColumnClass(is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) - Specified by:
getColumnClassin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
selectedValues
public final <T> Collection<T> selectedValues(is.codion.framework.domain.entity.attribute.Attribute<?> columnIdentifier) - Specified by:
selectedValuesin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
refreshStrategy
public final is.codion.common.value.Value<is.codion.swing.common.model.component.table.FilterTableModel.RefreshStrategy> refreshStrategy()- Specified by:
refreshStrategyin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
sortItems
public final void sortItems()- Specified by:
sortItemsin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
selectionModel
public final is.codion.swing.common.model.component.table.FilterTableSelectionModel<is.codion.framework.domain.entity.Entity> selectionModel()- Specified by:
selectionModelin interfaceis.codion.framework.model.EntityTableModel<SwingEntityEditModel>- Specified by:
selectionModelin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
filterModel
public final is.codion.common.model.table.TableConditionModel<is.codion.framework.domain.entity.attribute.Attribute<?>> filterModel()- Specified by:
filterModelin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
getColumnCount
public final int getColumnCount()- Specified by:
getColumnCountin interfaceTableModel
-
getColumnName
- Specified by:
getColumnNamein interfaceTableModel
-
getColumnClass
- Specified by:
getColumnClassin interfaceTableModel
-
dataChangedEvent
public final is.codion.common.event.EventObserver<?> dataChangedEvent()- Specified by:
dataChangedEventin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
clearedEvent
public final is.codion.common.event.EventObserver<?> clearedEvent()- Specified by:
clearedEventin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
addTableModelListener
- Specified by:
addTableModelListenerin interfaceTableModel
-
removeTableModelListener
- Specified by:
removeTableModelListenerin interfaceTableModel
-
columns
public is.codion.swing.common.model.component.table.FilterTableModel.Columns<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>> columns()- Specified by:
columnsin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
comparator
public is.codion.common.value.Value<Comparator<is.codion.framework.domain.entity.Entity>> comparator()- Specified by:
comparatorin interfaceis.codion.swing.common.model.component.table.FilterTableModel<is.codion.framework.domain.entity.Entity,is.codion.framework.domain.entity.attribute.Attribute<?>>
-
tableModel
public static SwingEntityTableModel tableModel(Collection<is.codion.framework.domain.entity.Entity> entities, is.codion.framework.db.EntityConnectionProvider connectionProvider) - Parameters:
entities- the entities to displayconnectionProvider- the connection provider- Returns:
- a static
SwingEntityTableModelinstance containing the given entities - Throws:
IllegalArgumentException- in caseentitiesis empty
-
refreshItems
Queries the data used to populate this EntityTableModel when it is refreshed. This method should take into account the where and having conditions (EntityTableConditionModel.where(Conjunction),EntityTableConditionModel.having(Conjunction)), order by clause (orderBy()), the limit (limit()) and select attributes (attributes()) when querying.- Returns:
- entities selected from the database according to the query condition.
- See Also:
-
conditionRequired()conditionEnabled(EntityTableConditionModel)EntityTableConditionModel.where(Conjunction)EntityTableConditionModel.having(Conjunction)
-
conditionEnabled
protected boolean conditionEnabled(is.codion.framework.model.EntityTableConditionModel conditionModel) It can be necessary to prevent the user from selecting too much data, when working with a large dataset. This can be done by enabling theconditionRequired(), which prevents a refresh as long as this method returnsfalse. This default implementation simply returnsTableConditionModel.enabled(). Override for a more fine grained control, such as requiring a specific column condition to be enabled.- Parameters:
conditionModel- the table condition model- Returns:
- true if enough conditions are enabled for a safe refresh
- See Also:
-
toColor
Returns aColorinstance from the given Object.Colorinstances are returned as-is, but instances ofStringare assumed to be in HEX format (f.ex: #ffff00" or #00ff00) and are parsed withColor.decode(String). Colors parsed from Strings are cached. Override to support other representations.- Parameters:
color- the object representing the color.- Returns:
- a
Colorinstance based on the given Object - Throws:
IllegalArgumentException- in case the representation is not supportedNullPointerException- in case color is null
-