Package de.xima.fc.gui.model.data
Class EntityListModel<T extends ITransferableEntity>
java.lang.Object
de.xima.fc.gui.common.utils.msg.I18nUtils
de.xima.fc.gui.common.utils.msg.MessageUtils
de.xima.fc.gui.common.utils.msg.AMessaging
de.xima.fc.gui.model.data.EntityListModel<T>
- All Implemented Interfaces:
IEntityListModel<T>
,IUpdatable
,Serializable
- Direct Known Subclasses:
EntityListModelSelectByView
,ExternalFormsBean.EntityListModelImpl
,ProjectBean.EntityListModelImpl
,SystemMessagesBean.EntityListModelImpl
public class EntityListModel<T extends ITransferableEntity>
extends AMessaging
implements IEntityListModel<T>
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionEntityListModel
(Class<T> entityClass, de.xima.cmn.criteria.QueryCriteriaManager qcm) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the given entity to theList
of marked entitiesvoid
addNew()
Sets the currently selected model to a new model.void
create()
delete()
Deletes the currently selected model from the database.Deprecated.deleteEntity
(String targetView, T entity) Same asIEntityListModel.delete(String)
, but takes the model to be deleted as an argument instead of deleting the currently selected model.deleteEntity
(T entity) Same asIEntityListModel.delete()
, but takes the model to be deleted as an argument instead of deleting the currently selected model.void
Deletes all marked entitiesec()
fetchAll()
Fetches all available entities.getAll()
getDao()
protected static String
getNew()
boolean
protected boolean
isDetached
(de.xima.cmn.dao.interfaces.IEntity<Long> entity) boolean
boolean
boolean
isNew()
void
Can be overriden to initialize lazily loaded fields on the entity.void
onRowSelect
(org.primefaces.event.SelectEvent<?> event) void
onRowSelectCheckbox
(org.primefaces.event.SelectEvent<?> event) void
onRowUnselectCheckbox
(org.primefaces.event.UnselectEvent<?> event) void
onToggleSelect
(org.primefaces.event.ToggleSelectEvent event) protected boolean
performDelete
(T entity) void
removeMarked
(T entity) Removes the given entity from theList
of marked entitiesvoid
save()
Saves the currently selected model to the database.void
save
(boolean addSuccessMessage, boolean addErrorMessage) protected void
Called when no item is selected.void
setFiltered
(List<T> filtered) Sets the list of filtered models.void
setGlobalFilter
(String globalFilter) void
setHasAddNewEntity
(boolean isNewEntity) void
Sets the list of marked entitiesvoid
setSelected
(T selected) Sets the currently selected model to the given model.void
If there is exactly one entity marked, makes it the selected onevoid
update()
void
void
Rereads the currently model from the database, discarding any local, unsaved changes.Methods inherited from class de.xima.fc.gui.common.utils.msg.MessageUtils
addErrorMsg, addErrorMsg, addErrorMsg, addErrorMsg, addErrorMsg, addErrorMsg, addErrorMsgFromString, addErrorMsgFromString, addErrorMsgToComponent, addErrorMsgToComponent, addErrorMsgToComponent, addErrorMsgToComponent, addErrorMsgToComponent, addErrorMsgToComponent, addInfoMsg, addInfoMsg, addInfoMsg, addInfoMsg, addInfoMsgFromString, addInfoMsgFromString, addInfoMsgToComponent, addInfoMsgToComponent, addInfoMsgToComponent, addInfoMsgToComponent, addMsg, addMsg, addMsg, addMsg, addMsgs, addMsgs, addMsgToComponent, addMsgToComponent, addWarnMsg, addWarnMsg, addWarnMsg, addWarnMsg, addWarnMsgFromString, addWarnMsgFromString, addWarnMsgToComponent, addWarnMsgToComponent, addWarnMsgToComponent, addWarnMsgToComponent, cleanErrorMsg, errorMsg, errorMsg, getErrorMessage, getNewErrorMsg, getNewErrorMsg, getNewErrorMsg, getNewInfoMsg, getNewInfoMsg, getNewMsg, getNewWarnMsg, getNewWarnMsg, msg
Methods inherited from class de.xima.fc.gui.common.utils.msg.I18nUtils
getFacesContext, getLocale, rbValue, rbValue, rbValue, rbValueOrDefault, rbValueOrDefault
-
Field Details
-
hasAddNewEntity
protected boolean hasAddNewEntity -
entityClass
-
qcm
protected final de.xima.cmn.criteria.QueryCriteriaManager qcm -
all
-
filtered
-
marked
-
selected
-
globalFilter
-
-
Constructor Details
-
EntityListModel
-
-
Method Details
-
getAll
- Specified by:
getAll
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
- A list of all models, not including a #
IEntityListModel.isNew()
, unsaved model.
-
getAllPlusNew
- Specified by:
getAllPlusNew
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
- A list of all models, including the #
IEntityListModel.isNew()
, unsaved model, if it exists.
-
updateData
public void updateData()- Specified by:
updateData
in interfaceIUpdatable
-
selectDefault
protected void selectDefault()Called when no item is selected. Should select the default item by calling #setSelected(ITransferableEntity)
. Defaults to selecting the first item; or a new item if no items exists. Override for custom behavior. -
fetchAll
Fetches all available entities. By default, this simple reads all entities matching theQueryCriteriaManager
provided in the constructor. Override this for custom logic. If you choose to override this, you may providenull
for theQueryCriteriaManager
, if you do not call this super method and do not attempt to use it yourself.- Returns:
- List
All available entities. The order of the returned list is preserved.
-
addNew
public void addNew()Description copied from interface:IEntityListModel
Sets the currently selected model to a new model. A new model is not yet persisted in the database and exists only in memory.- Specified by:
addNew
in interfaceIEntityListModel<T extends ITransferableEntity>
-
getNew
-
create
public void create() -
update
public void update() -
save
public void save(boolean addSuccessMessage, boolean addErrorMessage) -
save
public void save()Description copied from interface:IEntityListModel
Saves the currently selected model to the database. If itIEntityListModel.isNew()
, creates a new entry in the database, otherwise updates the existing entry.- Specified by:
save
in interfaceIEntityListModel<T extends ITransferableEntity>
-
getSelected
- Specified by:
getSelected
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
- The currently selected model. A new model if none is selected.
-
getGlobalFilter
-
setGlobalFilter
-
loadLazyData
public void loadLazyData()Description copied from interface:IEntityListModel
Can be overriden to initialize lazily loaded fields on the entity. By default, does not load any lazy data.- Specified by:
loadLazyData
in interfaceIEntityListModel<T extends ITransferableEntity>
-
setSelected
Description copied from interface:IEntityListModel
Sets the currently selected model to the given model. If the given model exists in the database but is not currently managed by an entity manager, rereads the model from the database. Thus theIEntityListModel.getSelected()
model may not refer to the same instance as the given model.- Specified by:
setSelected
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
selected
- The model to be selected.
-
setSelectedFromMarked
public void setSelectedFromMarked()If there is exactly one entity marked, makes it the selected one- Specified by:
setSelectedFromMarked
in interfaceIEntityListModel<T extends ITransferableEntity>
-
getFiltered
- Specified by:
getFiltered
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
- A subset of
IEntityListModel.getAll()
, with some models excluded according to some filter criterion.
-
setFiltered
Description copied from interface:IEntityListModel
Sets the list of filtered models. This should be subset ofIEntityListModel.getAll()
.- Specified by:
setFiltered
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
filtered
- List of filtered models to set.
-
getMarked
- Specified by:
getMarked
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
List
of entities that have been marked (i.e. for further processing)
-
setMarked
Description copied from interface:IEntityListModel
Sets the list of marked entities- Specified by:
setMarked
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
marked
-List
of entities to be marked
-
addMarked
Description copied from interface:IEntityListModel
Adds the given entity to theList
of marked entities- Specified by:
addMarked
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
entity
- to be added
-
removeMarked
Description copied from interface:IEntityListModel
Removes the given entity from theList
of marked entities- Specified by:
removeMarked
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
entity
- to be removed
-
isNew
public boolean isNew()- Specified by:
isNew
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
- Whether the currently selected model is new, ie. whether it is persisted in the database or exists only in memory.
-
updateSelected
public void updateSelected()Description copied from interface:IEntityListModel
Rereads the currently model from the database, discarding any local, unsaved changes. Does nothing iff the currently selected modelIEntityListModel.isNew()
.- Specified by:
updateSelected
in interfaceIEntityListModel<T extends ITransferableEntity>
-
isEmptyList
public boolean isEmptyList()- Specified by:
isEmptyList
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
true
iffIEntityListModel.getAll()
is empty.
-
hasEntity
public boolean hasEntity()- Specified by:
hasEntity
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
true
iff not #IEntityListModel.isEmptyList()
or the currently selected modelIEntityListModel.isNew()
.
-
setHasAddNewEntity
public void setHasAddNewEntity(boolean isNewEntity) -
getDao
-
delete
Description copied from interface:IEntityListModel
Deletes the currently selected model from the database. If the currently selected modelIEntityListModel.isNew()
, does nothing.- Specified by:
delete
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
- A view ID of the page to show after the model was deleted.
-
ec
-
isDetached
-
deleteEntity
Description copied from interface:IEntityListModel
Same asIEntityListModel.delete()
, but takes the model to be deleted as an argument instead of deleting the currently selected model.- Specified by:
deleteEntity
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
entity
- The model to be deleted.- Returns:
- A view ID of the page to show after the model was deleted.
-
deleteEntity
Description copied from interface:IEntityListModel
Same asIEntityListModel.delete(String)
, but takes the model to be deleted as an argument instead of deleting the currently selected model.- Specified by:
deleteEntity
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
targetView
- The name of a view whose view ID is returned after this operation completes successfully. Can also be a relative path, in which case that path is returned.entity
- The model to be deleted.- Returns:
- A view ID of the page to show after the model was deleted.
-
isMarkedDeletable
public boolean isMarkedDeletable()- Specified by:
isMarkedDeletable
in interfaceIEntityListModel<T extends ITransferableEntity>
- Returns:
true
iff every single marked entity is deletable.false
otherwise
-
deleteMarkedEntities
public void deleteMarkedEntities()Description copied from interface:IEntityListModel
Deletes all marked entities- Specified by:
deleteMarkedEntities
in interfaceIEntityListModel<T extends ITransferableEntity>
-
onRowSelect
public void onRowSelect(org.primefaces.event.SelectEvent<?> event) - Specified by:
onRowSelect
in interfaceIEntityListModel<T extends ITransferableEntity>
-
onRowSelectCheckbox
public void onRowSelectCheckbox(org.primefaces.event.SelectEvent<?> event) - Specified by:
onRowSelectCheckbox
in interfaceIEntityListModel<T extends ITransferableEntity>
-
onRowUnselectCheckbox
public void onRowUnselectCheckbox(org.primefaces.event.UnselectEvent<?> event) - Specified by:
onRowUnselectCheckbox
in interfaceIEntityListModel<T extends ITransferableEntity>
-
onToggleSelect
public void onToggleSelect(org.primefaces.event.ToggleSelectEvent event) - Specified by:
onToggleSelect
in interfaceIEntityListModel<T extends ITransferableEntity>
-
performDelete
-
getName
-
delete
Deprecated.Description copied from interface:IEntityListModel
Deletes the currently selected model from the database. If the currently selected modelIEntityListModel.isNew()
, does nothing.- Specified by:
delete
in interfaceIEntityListModel<T extends ITransferableEntity>
- Parameters:
targetView
- The name of a view whose view ID is returned after this operation completes successfully. Can also be a relative path, in which case that path is returned.- Returns:
- A view ID of the page to show after the model was deleted.
-