M
- the type of DefaultEntityModel
this application model is based onE
- the type of AbstractEntityEditModel
used by this EntityModel
T
- the type of EntityTableModel
used by this EntityModel
public class DefaultEntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>> extends Object implements EntityApplicationModel<M,E,T>
AUTHENTICATION_REQUIRED, SAVE_DEFAULT_USERNAME, SCHEDULE_CONNECTION_VALIDATION, USERNAME_PREFIX
Constructor and Description |
---|
DefaultEntityApplicationModel(EntityConnectionProvider connectionProvider)
Instantiates a new DefaultEntityApplicationModel
|
Modifier and Type | Method and Description |
---|---|
M |
addEntityModel(M detailModel)
Adds the given entity model to this model
|
void |
addEntityModels(M... entityModels)
Adds the given entity models to this model.
|
EntityConnectionProvider |
connectionProvider() |
StateObserver |
connectionValidObserver()
Returns a StateObserver which is active while the underlying application connection provider is connected.
|
boolean |
containsEntityModel(Class<? extends M> modelClass) |
boolean |
containsEntityModel(EntityType entityType) |
boolean |
containsEntityModel(M entityModel) |
boolean |
containsUnsavedData() |
Entities |
entities() |
<T extends M> |
entityModel(Class<? extends M> modelClass) |
M |
entityModel(EntityType entityType) |
List<M> |
entityModels() |
boolean |
isWarnAboutUnsavedData() |
void |
refresh()
Refreshes all data models contained in this application model
|
void |
savePreferences()
Saves any user preferences.
|
void |
setWarnAboutUnsavedData(boolean warnAboutUnsavedData) |
User |
user() |
public DefaultEntityApplicationModel(EntityConnectionProvider connectionProvider)
connectionProvider
- the EntityConnectionProvider instanceNullPointerException
- in case connectionProvider is nullpublic final User user()
user
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
public final EntityConnectionProvider connectionProvider()
connectionProvider
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
public final StateObserver connectionValidObserver()
EntityApplicationModel
EntityApplicationModel.SCHEDULE_CONNECTION_VALIDATION
is trueconnectionValidObserver
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
EntityApplicationModel.SCHEDULE_CONNECTION_VALIDATION
public final Entities entities()
entities
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
@SafeVarargs public final void addEntityModels(M... entityModels)
EntityApplicationModel
addEntityModels
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
entityModels
- the entity models to addpublic final M addEntityModel(M detailModel)
EntityApplicationModel
addEntityModel
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
detailModel
- the detail modelpublic final boolean containsEntityModel(Class<? extends M> modelClass)
containsEntityModel
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
modelClass
- the application model classpublic final boolean containsEntityModel(EntityType entityType)
containsEntityModel
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
entityType
- the entityTypepublic final boolean containsEntityModel(M entityModel)
containsEntityModel
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
entityModel
- the entity modelpublic final List<M> entityModels()
entityModels
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
public final void refresh()
EntityApplicationModel
refresh
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
public final <T extends M> T entityModel(Class<? extends M> modelClass)
entityModel
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
T
- the model typemodelClass
- the model classpublic final M entityModel(EntityType entityType)
entityModel
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
entityType
- the entityTypepublic final boolean isWarnAboutUnsavedData()
isWarnAboutUnsavedData
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
EntityEditModel.WARN_ABOUT_UNSAVED_DATA
public final void setWarnAboutUnsavedData(boolean warnAboutUnsavedData)
setWarnAboutUnsavedData
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
warnAboutUnsavedData
- if true then this model warns about unsaved dataEntityEditModel.WARN_ABOUT_UNSAVED_DATA
public final boolean containsUnsavedData()
containsUnsavedData
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>
public void savePreferences()
EntityApplicationModel
EntityModel.USE_CLIENT_PREFERENCES
is set to 'false',
calling this method has no effect. Remember to call super.savePreferences() when overriding.savePreferences
in interface EntityApplicationModel<M extends DefaultEntityModel<M,E,T>,E extends AbstractEntityEditModel,T extends EntityTableModel<E>>