Interface EntityModel<M extends EntityModel<M,E,T>,E extends EntityEditModel,T extends EntityTableModel<E>>

Type Parameters:
M - the type of EntityModel used for detail models
E - the type of EntityEditModel used by this EntityModel
T - the type of EntityTableModel used by this EntityModel
All Known Implementing Classes:
DefaultEntityModel, SwingEntityModel

public interface EntityModel<M extends EntityModel<M,E,T>,E extends EntityEditModel,T extends EntityTableModel<E>>
Specifies a class responsible for, among other things, coordinating a EntityEditModel and an EntityTableModel.
  • Method Details

    • entityType

      EntityType entityType()
      Returns:
      the type of the entity this entity model is based on
    • connectionProvider

      EntityConnectionProvider connectionProvider()
      Returns:
      the connection provider used by this entity model
    • connection

      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 entity model
    • entities

      Entities entities()
      Returns:
      the underlying domain entities
    • entityDefinition

      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 instance used by this EntityModel
    • tableModel

      <C extends T> C tableModel()
      Type Parameters:
      C - the table model type
      Returns:
      the EntityTableModel
      Throws:
      IllegalStateException - in case no table model is available
    • containsTableModel

      boolean containsTableModel()
      Returns:
      true if this EntityModel contains a EntityTableModel
    • detailModels

      EntityModel.DetailModels<M,E,T> detailModels()
      Returns:
      the detail models