Interface EntityTableModel<E extends EntityEditModel>

Type Parameters:
E - the type of EntityEditModel used by this EntityTableModel
All Superinterfaces:
is.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
All Known Implementing Classes:
AbstractEntityTableModel

public interface EntityTableModel<E extends EntityEditModel> extends is.codion.common.model.FilterModel<is.codion.framework.domain.entity.Entity>
Specifies a table model containing Entity instances.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Defines the actions a table model can perform when entities are inserted via the associated edit model

    Nested classes/interfaces inherited from interface is.codion.common.model.FilterModel

    is.codion.common.model.FilterModel.AbstractRefresher<T extends Object>, is.codion.common.model.FilterModel.FilteredItems<T extends Object>, is.codion.common.model.FilterModel.Items<T extends Object>, is.codion.common.model.FilterModel.Refresher<T extends Object>, is.codion.common.model.FilterModel.VisibleItems<T extends Object>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final is.codion.common.property.PropertyValue<Boolean>
    Specifies whether table models handle entity edit events, by replacing updated entities Value type: Boolean Default value: true
    static final is.codion.common.property.PropertyValue<EntityTableModel.OnInsert>
    Specifies the default action a table model takes when entities are inserted via its edit model.

    Fields inherited from interface is.codion.common.model.FilterModel

    ASYNC_REFRESH
  • Method Summary

    Modifier and Type
    Method
    Description
    is.codion.framework.db.EntityConnection
    Do not cache or keep the connection returned by this method in a long living field, since it may become invalid and thereby unusable.
    is.codion.framework.db.EntityConnectionProvider
     
    Collection<is.codion.framework.domain.entity.Entity>
    Deletes the selected entities
    is.codion.common.state.State
     
    <C extends E>
    C
     
    is.codion.framework.domain.entity.Entities
     
    is.codion.framework.domain.entity.EntityDefinition
     
    is.codion.framework.domain.entity.EntityType
     
    is.codion.common.state.State
     
    is.codion.common.value.Value<EntityTableModel.OnInsert>
     
     
    void
    refresh(Collection<is.codion.framework.domain.entity.Entity.Key> keys)
    Refreshes the entities with the given keys by re-selecting them from the underlying database.
    is.codion.common.state.State
     
    void
    replace(is.codion.framework.domain.entity.attribute.ForeignKey foreignKey, Collection<is.codion.framework.domain.entity.Entity> foreignKeyValues)
    For every entity in this table model, replaces the foreign key instance bearing the primary key with the corresponding entity from foreignKeyValues, useful when attribute values have been changed in the referenced entity that must be reflected in the table model.
    void
    replace(Collection<is.codion.framework.domain.entity.Entity> entities)
    Replaces the given entities in this table model
    void
    select(Collection<is.codion.framework.domain.entity.Entity.Key> keys)
    Selects entities according to the primary keys in primaryKeys
    is.codion.common.model.selection.MultiItemSelection<is.codion.framework.domain.entity.Entity>
     

    Methods inherited from interface is.codion.common.model.FilterModel

    items, refresh, refresh, refresher
  • Field Details

  • Method Details

    • entityType

      is.codion.framework.domain.entity.EntityType entityType()
      Returns:
      the type of the entity this table model is based on
    • connectionProvider

      is.codion.framework.db.EntityConnectionProvider connectionProvider()
      Returns:
      the connection provider used by this table model
    • connection

      is.codion.framework.db.EntityConnection connection()
      Do not cache or keep the connection returned by this method in a long living field, since it may become invalid and thereby unusable.
      Returns:
      the connection used by this table model
    • entities

      is.codion.framework.domain.entity.Entities entities()
      Returns:
      the underlying domain entities
    • entityDefinition

      is.codion.framework.domain.entity.EntityDefinition entityDefinition()
      Returns:
      the definition of the underlying entity
    • editModel

      <C extends E> C editModel()
      Type Parameters:
      C - the edit model type Returns the EntityEditModel associated with this table model
      Returns:
      the edit model associated with this table model
    • replace

      void replace(is.codion.framework.domain.entity.attribute.ForeignKey foreignKey, Collection<is.codion.framework.domain.entity.Entity> foreignKeyValues)
      For every entity in this table model, replaces the foreign key instance bearing the primary key with the corresponding entity from foreignKeyValues, useful when attribute values have been changed in the referenced entity that must be reflected in the table model.
      Parameters:
      foreignKey - the foreign key
      foreignKeyValues - the foreign key entities
    • replace

      void replace(Collection<is.codion.framework.domain.entity.Entity> entities)
      Replaces the given entities in this table model
      Parameters:
      entities - the entities to replace
    • refresh

      void refresh(Collection<is.codion.framework.domain.entity.Entity.Key> keys)
      Refreshes the entities with the given keys by re-selecting them from the underlying database.
      Parameters:
      keys - the keys of the entities to refresh
    • editable

      is.codion.common.state.State editable()
      Returns:
      the State controlling whether this table model is editable
    • deleteSelected

      Collection<is.codion.framework.domain.entity.Entity> deleteSelected()
      Deletes the selected entities
      Returns:
      the deleted entities
      Throws:
      is.codion.common.db.exception.DatabaseException - in case of a database exception
      is.codion.common.model.CancelException - in case the user cancels the operation
      IllegalStateException - in case this table model has no edit model or if the edit model does not allow deleting
    • handleEditEvents

      is.codion.common.state.State handleEditEvents()
      Returns:
      the State controlling whether this table model handles entity edit events, by replacing updated entities
      See Also:
    • onInsert

      is.codion.common.value.Value<EntityTableModel.OnInsert> onInsert()
      Returns:
      the Value controlling the action to perform when entities are inserted via the associated edit model
      See Also:
    • removeDeleted

      is.codion.common.state.State removeDeleted()
      Returns:
      the State controlling whether entities that are deleted via the associated edit model should be automatically removed from this table model
    • select

      void select(Collection<is.codion.framework.domain.entity.Entity.Key> keys)
      Selects entities according to the primary keys in primaryKeys
      Parameters:
      keys - the primary keys of the entities to select
    • selection

      is.codion.common.model.selection.MultiItemSelection<is.codion.framework.domain.entity.Entity> selection()
      Specified by:
      selection in interface is.codion.common.model.FilterModel<E extends EntityEditModel>
      Returns:
      the MultiItemSelection instance
    • queryModel

      EntityQueryModel queryModel()
      Returns:
      the underlying query model