Module is.codion.framework.model
Package is.codion.framework.model
Class AbstractEntityModel<M extends EntityModel<M,E,T>,E extends EntityEditModel,T extends EntityTableModel<E>>
java.lang.Object
is.codion.framework.model.AbstractEntityModel<M,E,T>
- Type Parameters:
M
- the type ofEntityModel
used for detail modelsE
- the type ofEntityEditModel
used by thisEntityModel
T
- the type ofEntityTableModel
used by thisEntityModel
- All Implemented Interfaces:
EntityModel<M,
E, T>
- Direct Known Subclasses:
SwingEntityModel
public abstract class AbstractEntityModel<M extends EntityModel<M,E,T>,E extends EntityEditModel,T extends EntityTableModel<E>>
extends Object
implements EntityModel<M,E,T>
An abstract
EntityModel
implementation.-
Nested Class Summary
Nested classes/interfaces inherited from interface is.codion.framework.model.EntityModel
EntityModel.DetailModels<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractEntityModel
(E editModel) Instantiates a newAbstractEntityModel
, without a table modelprotected
AbstractEntityModel
(T tableModel) Instantiates a newAbstractEntityModel
-
Method Summary
Modifier and TypeMethodDescriptionfinal 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.final EntityConnectionProvider
final boolean
final EntityModel.DetailModels
<M, E, T> final E
final Entities
entities()
final EntityDefinition
final EntityType
final <B extends ForeignKeyModelLink.Builder<M,
E, T, B>>
ForeignKeyModelLink.Builder<M, E, T, B> final T
final String
toString()
-
Constructor Details
-
AbstractEntityModel
Instantiates a newAbstractEntityModel
, without a table model- Parameters:
editModel
- the edit model
-
AbstractEntityModel
Instantiates a newAbstractEntityModel
- Parameters:
tableModel
- the table model
-
-
Method Details
-
toString
-
entityType
- Specified by:
entityType
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the type of the entity this entity model is based on
-
connectionProvider
- Specified by:
connectionProvider
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the connection provider used by this entity model
-
connection
Description copied from interface:EntityModel
Do not cache or keep the connection returned by this method in a long living field, since it may become invalid and thereby unusable.- Specified by:
connection
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the connection used by this entity model
-
entities
- Specified by:
entities
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the underlying domain entities
-
entityDefinition
- Specified by:
entityDefinition
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the definition of the underlying entity
-
editModel
- Specified by:
editModel
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the
EntityEditModel
instance used by thisEntityModel
-
tableModel
- Specified by:
tableModel
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the
EntityTableModel
-
containsTableModel
public final boolean containsTableModel()- Specified by:
containsTableModel
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- true if this
EntityModel
contains aEntityTableModel
-
link
public final <B extends ForeignKeyModelLink.Builder<M,E, ForeignKeyModelLink.Builder<M,T, B>> E, linkT, B> (M model) - Specified by:
link
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Type Parameters:
B
- the builder type- Parameters:
model
- the model to link to- Returns:
- a
ForeignKeyModelLink.Builder
, based on a fitting foreign key
-
detailModels
- Specified by:
detailModels
in interfaceEntityModel<M extends EntityModel<M,
E, T>, E extends EntityEditModel, T extends EntityTableModel<E>> - Returns:
- the detail models
-