Module is.codion.framework.model
Package is.codion.framework.model
Class DefaultEntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
java.lang.Object
is.codion.framework.model.DefaultEntityApplicationModel<M,E,T>
- Type Parameters:
M- the type ofDefaultEntityModelthis application model is based onE- the type ofAbstractEntityEditModelused by thisEntityModelT- the type ofEntityTableModelused by thisEntityModel
- All Implemented Interfaces:
EntityApplicationModel<M,E, T>
public class DefaultEntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
extends Object
implements EntityApplicationModel<M,E,T>
A central application model class.
-
Field Summary
Fields inherited from interface is.codion.framework.model.EntityApplicationModel
AUTHENTICATION_REQUIRED, SAVE_DEFAULT_USERNAME, USERNAME_PREFIX -
Constructor Summary
ConstructorsConstructorDescriptionDefaultEntityApplicationModel(is.codion.framework.db.EntityConnectionProvider connectionProvider) Instantiates a new DefaultEntityApplicationModelDefaultEntityApplicationModel(is.codion.framework.db.EntityConnectionProvider connectionProvider, is.codion.common.version.Version version) Instantiates a new DefaultEntityApplicationModel -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddEntityModel(M entityModel) Adds the given entity model to this modelfinal voidaddEntityModels(M... entityModels) Adds the given entity models to this model.final is.codion.framework.db.EntityConnectionDo not cache or keep the connection returned by this method in a long living field, since it may become invalid and thereby unusable.final is.codion.framework.db.EntityConnectionProviderfinal booleancontainsEntityModel(is.codion.framework.domain.entity.EntityType entityType) final booleancontainsEntityModel(Class<? extends M> modelClass) final booleancontainsEntityModel(M entityModel) final is.codion.framework.domain.entity.Entitiesentities()final <C extends M>
CentityModel(is.codion.framework.domain.entity.EntityType entityType) final <C extends M>
CentityModel(Class<C> modelClass) final voidrefresh()Refreshes all data models contained in this application modelfinal is.codion.common.user.Useruser()final Optional<is.codion.common.version.Version>version()
-
Constructor Details
-
DefaultEntityApplicationModel
public DefaultEntityApplicationModel(is.codion.framework.db.EntityConnectionProvider connectionProvider) Instantiates a new DefaultEntityApplicationModel- Parameters:
connectionProvider- the EntityConnectionProvider instance- Throws:
NullPointerException- in case connectionProvider is null
-
DefaultEntityApplicationModel
public DefaultEntityApplicationModel(is.codion.framework.db.EntityConnectionProvider connectionProvider, is.codion.common.version.Version version) Instantiates a new DefaultEntityApplicationModel- Parameters:
connectionProvider- the EntityConnectionProvider instanceversion- the application version- Throws:
NullPointerException- in case connectionProvider is null
-
-
Method Details
-
user
public final is.codion.common.user.User user()- Specified by:
userin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Returns:
- the current user
-
connectionProvider
public final is.codion.framework.db.EntityConnectionProvider connectionProvider()- Specified by:
connectionProviderin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Returns:
- the EntityConnectionProvider instance being used by this EntityApplicationModel
-
connection
public final is.codion.framework.db.EntityConnection connection()Description copied from interface:EntityApplicationModelDo 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:
connectionin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Returns:
- the connection used by this application model
-
version
- Specified by:
versionin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Returns:
- the application version, an empty Optional in case no version information is available
-
entities
public final is.codion.framework.domain.entity.Entities entities()- Specified by:
entitiesin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Returns:
- the underlying domain entities
-
addEntityModels
Description copied from interface:EntityApplicationModelAdds the given entity models to this model.- Specified by:
addEntityModelsin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Parameters:
entityModels- the entity models to add
-
addEntityModel
Description copied from interface:EntityApplicationModelAdds the given entity model to this model- Specified by:
addEntityModelin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Parameters:
entityModel- the detail model
-
containsEntityModel
- Specified by:
containsEntityModelin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Parameters:
modelClass- the application model class- Returns:
- true if this model contains a EntityModel instance of the given class
-
containsEntityModel
public final boolean containsEntityModel(is.codion.framework.domain.entity.EntityType entityType) - Specified by:
containsEntityModelin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Parameters:
entityType- the entityType- Returns:
- true if this model contains a EntityModel for the given entityType
-
containsEntityModel
- Specified by:
containsEntityModelin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Parameters:
entityModel- the entity model- Returns:
- true if this model contains the given EntityModel
-
entityModels
- Specified by:
entityModelsin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Returns:
- an unmodifiable List containing the EntityModel instances contained in this EntityApplicationModel
-
refresh
public final void refresh()Description copied from interface:EntityApplicationModelRefreshes all data models contained in this application model- Specified by:
refreshin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>>
-
entityModel
- Specified by:
entityModelin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Type Parameters:
C- the model type- Parameters:
modelClass- the model class- Returns:
- the EntityModel of the given type
-
entityModel
- Specified by:
entityModelin interfaceEntityApplicationModel<M extends DefaultEntityModel<M,E, T>, E extends AbstractEntityEditModel, T extends EntityTableModel<E>> - Type Parameters:
C- the model type- Parameters:
entityType- the entityType- Returns:
- the EntityModel based on the given entityType
-