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.common.model.data.ItemListModel<T,Long>
-
- de.xima.fc.gui.model.data.EntityListModel<T>
-
- All Implemented Interfaces:
IItemListModel<T>,IUpdatable,IEntityListModel<T>,Serializable
- Direct Known Subclasses:
EntityListModelSelectByView,ExternalFormsBean.EntityListModelImpl,ProjectBean.EntityListModelImpl,SystemMessagesBean.EntityListModelImpl
public class EntityListModel<T extends ITransferableEntity> extends ItemListModel<T,Long> implements IEntityListModel<T>
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Class<T>entityClassprotected de.xima.cmn.criteria.QueryCriteriaManagerqcm-
Fields inherited from class de.xima.fc.gui.common.model.data.ItemListModel
all, filtered, globalFilter, hasAddNewEntity, LOG, marked, selected
-
-
Constructor Summary
Constructors Constructor Description EntityListModel(Class<T> entityClass, de.xima.cmn.criteria.QueryCriteriaManager qcm)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddMarked(T entity)Adds the given entity to theListof marked entitiesvoidaddNew()Sets the currently selected model to a new model.protected TcastTo(Object obj)voidcreate()protected TcrudCreate(T entity)protected voidcrudDelete(T entity)protected TcrudRead(Long id)protected TcrudUpdate(T selected)Stringdelete()Deletes the currently selected model from the database.Stringdelete(String targetView)Deprecated.StringdeleteEntity(String targetView, T entity)Same asIItemListModel.deleteEntity(Object), but takes the model to be deleted as an argument instead of deleting the currently selected model.StringdeleteEntity(T entity)Same asIItemListModel.delete(), but takes the model to be deleted as an argument instead of deleting the currently selected model.voiddeleteMarkedEntities()Deletes all marked entitiesIEntityContextec()protected List<T>fetchAll()Fetches all available entities.protected StringfindName(T item)List<T>getAll()List<T>getAllPlusNew()IGenericDao<T>getDao()List<T>getFiltered()StringgetGlobalFilter()protected LonggetId(T entity)List<T>getMarked()protected static StringgetName(de.xima.cmn.dao.interfaces.IEntity<Long> entity)TgetNew()TgetSelected()booleanhasEntity()protected booleanisDetached(de.xima.cmn.dao.interfaces.IEntity<Long> entity)protected booleanisDetached(T entity)booleanisEmptyList()booleanisHasAddNewEntity()booleanisMarkedDeletable()booleanisNew()protected booleanisPersisted(T item)voidloadLazyData()Can be overridden to initialize lazily loaded fields on the entity.voidonRowSelect(org.primefaces.event.SelectEvent<?> event)voidonRowSelectCheckbox(org.primefaces.event.SelectEvent<?> event)voidonRowUnselectCheckbox(org.primefaces.event.UnselectEvent<?> event)protected voidonSelectionChanged(T selected)Called when the selection changes, e.g. when a new item is selected or the selection is cleared.voidonToggleSelect(org.primefaces.event.ToggleSelectEvent event)protected booleanperformDelete(T item)voidremoveMarked(T entity)Removes the given entity from theListof marked entitiesvoidsave()Saves the currently selected model to the database.voidsave(boolean addSuccessMessage, boolean addErrorMessage)protected voidselectDefault()Called when no item is selected.voidsetFiltered(List<T> filtered)Sets the list of filtered models.voidsetGlobalFilter(String globalFilter)voidsetHasAddNewEntity(boolean isNewEntity)voidsetMarked(List<T> marked)Sets the list of marked entitiesvoidsetSelected(T selected)Sets the currently selected model to the given model.voidsetSelectedFromMarked()If there is exactly one entity marked, makes it the selected onevoidupdate()voidupdateData()voidupdateSelected()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 Detail
-
entityClass
protected final Class<T extends ITransferableEntity> entityClass
-
qcm
protected final de.xima.cmn.criteria.QueryCriteriaManager qcm
-
-
Method Detail
-
delete
@Deprecated public String delete(String targetView)
Deprecated.Description copied from interface:IEntityListModelDeletes the currently selected model from the database. If the currently selected modelIEntityListModel.isNew(), does nothing.- Specified by:
deletein 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.
-
ec
public IEntityContext ec()
-
getDao
public IGenericDao<T> getDao()
-
getNew
public T getNew()
- Specified by:
getNewin classItemListModel<T extends ITransferableEntity,Long>
-
castTo
protected T castTo(Object obj)
- Overrides:
castToin classItemListModel<T extends ITransferableEntity,Long>
-
crudCreate
protected T crudCreate(T entity)
- Specified by:
crudCreatein classItemListModel<T extends ITransferableEntity,Long>
-
crudDelete
protected void crudDelete(T entity)
- Specified by:
crudDeletein classItemListModel<T extends ITransferableEntity,Long>
-
crudRead
protected T crudRead(Long id)
- Specified by:
crudReadin classItemListModel<T extends ITransferableEntity,Long>
-
crudUpdate
protected T crudUpdate(T selected)
- Specified by:
crudUpdatein classItemListModel<T extends ITransferableEntity,Long>
-
fetchAll
protected List<T> fetchAll()
Description copied from class:ItemListModelFetches all available entities. By default, this simple reads all entities matching theQueryCriteriaManagerprovided in the constructor. Override this for custom logic. If you choose to override this, you may providenullfor theQueryCriteriaManager, if you do not call this super method and do not attempt to use it yourself.- Specified by:
fetchAllin classItemListModel<T extends ITransferableEntity,Long>- Returns:
- A list with all available entities. The order of the returned list is preserved.
-
findName
protected String findName(T item)
- Specified by:
findNamein classItemListModel<T extends ITransferableEntity,Long>
-
getId
protected Long getId(T entity)
- Specified by:
getIdin classItemListModel<T extends ITransferableEntity,Long>
-
isDetached
protected boolean isDetached(de.xima.cmn.dao.interfaces.IEntity<Long> entity)
-
isDetached
protected boolean isDetached(T entity)
- Specified by:
isDetachedin classItemListModel<T extends ITransferableEntity,Long>
-
isPersisted
protected boolean isPersisted(T item)
- Specified by:
isPersistedin classItemListModel<T extends ITransferableEntity,Long>
-
addMarked
public void addMarked(T entity)
Description copied from interface:IItemListModelAdds the given entity to theListof marked entities- Specified by:
addMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
addMarkedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
addMarkedin classItemListModel<T extends ITransferableEntity,Long>- Parameters:
entity- to be added
-
addNew
public void addNew()
Description copied from interface:IItemListModelSets 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:
addNewin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
addNewin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
addNewin classItemListModel<T extends ITransferableEntity,Long>
-
create
public void create() throws Exception- Overrides:
createin classItemListModel<T extends ITransferableEntity,Long>- Throws:
Exception
-
delete
public String delete()
Description copied from interface:IItemListModelDeletes the currently selected model from the database. If the currently selected modelIItemListModel.isNew(), does nothing.- Specified by:
deletein interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
deletein interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
deletein classItemListModel<T extends ITransferableEntity,Long>- Returns:
- A view ID of the page to show after the model was deleted.
-
deleteEntity
public String deleteEntity(T entity)
Description copied from interface:IItemListModelSame asIItemListModel.delete(), but takes the model to be deleted as an argument instead of deleting the currently selected model.- Specified by:
deleteEntityin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
deleteEntityin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
deleteEntityin classItemListModel<T extends ITransferableEntity,Long>- Parameters:
entity- The model to be deleted.- Returns:
- A view ID of the page to show after the model was deleted.
-
deleteEntity
public String deleteEntity(String targetView, T entity)
Description copied from interface:IItemListModelSame asIItemListModel.deleteEntity(Object), but takes the model to be deleted as an argument instead of deleting the currently selected model.- Specified by:
deleteEntityin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
deleteEntityin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
deleteEntityin classItemListModel<T extends ITransferableEntity,Long>- 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.
-
deleteMarkedEntities
public void deleteMarkedEntities()
Description copied from interface:IItemListModelDeletes all marked entities- Specified by:
deleteMarkedEntitiesin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
deleteMarkedEntitiesin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
deleteMarkedEntitiesin classItemListModel<T extends ITransferableEntity,Long>
-
getAll
public List<T> getAll()
- Specified by:
getAllin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
getAllin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
getAllin classItemListModel<T extends ITransferableEntity,Long>- Returns:
- A list of all models, not including a #
IItemListModel.isNew(), unsaved model.
-
getAllPlusNew
public List<T> getAllPlusNew()
- Specified by:
getAllPlusNewin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
getAllPlusNewin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
getAllPlusNewin classItemListModel<T extends ITransferableEntity,Long>- Returns:
- A list of all models, including the #
IItemListModel.isNew(), unsaved model, if it exists.
-
getFiltered
public List<T> getFiltered()
- Specified by:
getFilteredin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
getFilteredin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
getFilteredin classItemListModel<T extends ITransferableEntity,Long>- Returns:
- A subset of
IItemListModel.getAll(), with some models excluded according to some filter criterion.
-
setFiltered
public void setFiltered(List<T> filtered)
Description copied from interface:IItemListModelSets the list of filtered models. This should be subset ofIItemListModel.getAll().- Specified by:
setFilteredin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
setFilteredin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
setFilteredin classItemListModel<T extends ITransferableEntity,Long>- Parameters:
filtered- List of filtered models to set.
-
getGlobalFilter
public String getGlobalFilter()
- Overrides:
getGlobalFilterin classItemListModel<T extends ITransferableEntity,Long>
-
setGlobalFilter
public void setGlobalFilter(String globalFilter)
- Overrides:
setGlobalFilterin classItemListModel<T extends ITransferableEntity,Long>
-
getMarked
public List<T> getMarked()
- Specified by:
getMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
getMarkedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
getMarkedin classItemListModel<T extends ITransferableEntity,Long>- Returns:
Listof entities that have been marked (i.e. for further processing)
-
setMarked
public void setMarked(List<T> marked)
Description copied from interface:IItemListModelSets the list of marked entities- Specified by:
setMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
setMarkedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
setMarkedin classItemListModel<T extends ITransferableEntity,Long>- Parameters:
marked-Listof entities to be marked
-
getSelected
public T getSelected()
- Specified by:
getSelectedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
getSelectedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
getSelectedin classItemListModel<T extends ITransferableEntity,Long>- Returns:
- The currently selected model. A new model if none is selected.
-
setSelected
public void setSelected(T selected)
Description copied from interface:IItemListModelSets 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 theIItemListModel.getSelected()model may not refer to the same instance as the given model.- Specified by:
setSelectedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
setSelectedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
setSelectedin classItemListModel<T extends ITransferableEntity,Long>- Parameters:
selected- The model to be selected.
-
hasEntity
public boolean hasEntity()
- Specified by:
hasEntityin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
hasEntityin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
hasEntityin classItemListModel<T extends ITransferableEntity,Long>- Returns:
trueiff not #IItemListModel.isEmptyList()or the currently selected modelIItemListModel.isNew().
-
isEmptyList
public boolean isEmptyList()
- Specified by:
isEmptyListin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
isEmptyListin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
isEmptyListin classItemListModel<T extends ITransferableEntity,Long>- Returns:
trueiffIItemListModel.getAll()is empty.
-
isMarkedDeletable
public boolean isMarkedDeletable()
- Specified by:
isMarkedDeletablein interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
isMarkedDeletablein interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
isMarkedDeletablein classItemListModel<T extends ITransferableEntity,Long>- Returns:
trueiff every single marked entity is deletable.falseotherwise
-
isNew
public boolean isNew()
- Specified by:
isNewin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
isNewin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
isNewin classItemListModel<T extends ITransferableEntity,Long>- Returns:
- Whether the currently selected model is new, ie. whether it is persisted in the database or exists only in memory.
-
loadLazyData
public void loadLazyData()
Description copied from interface:IItemListModelCan be overridden to initialize lazily loaded fields on the entity. By default, does not load any lazy data.- Specified by:
loadLazyDatain interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
loadLazyDatain interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
loadLazyDatain classItemListModel<T extends ITransferableEntity,Long>
-
onRowSelect
public void onRowSelect(org.primefaces.event.SelectEvent<?> event)
- Specified by:
onRowSelectin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
onRowSelectin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
onRowSelectin classItemListModel<T extends ITransferableEntity,Long>
-
onRowSelectCheckbox
public void onRowSelectCheckbox(org.primefaces.event.SelectEvent<?> event)
- Specified by:
onRowSelectCheckboxin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
onRowSelectCheckboxin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
onRowSelectCheckboxin classItemListModel<T extends ITransferableEntity,Long>
-
onRowUnselectCheckbox
public void onRowUnselectCheckbox(org.primefaces.event.UnselectEvent<?> event)
- Specified by:
onRowUnselectCheckboxin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
onRowUnselectCheckboxin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
onRowUnselectCheckboxin classItemListModel<T extends ITransferableEntity,Long>
-
onToggleSelect
public void onToggleSelect(org.primefaces.event.ToggleSelectEvent event)
- Specified by:
onToggleSelectin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
onToggleSelectin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
onToggleSelectin classItemListModel<T extends ITransferableEntity,Long>
-
removeMarked
public void removeMarked(T entity)
Description copied from interface:IItemListModelRemoves the given entity from theListof marked entities- Specified by:
removeMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
removeMarkedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
removeMarkedin classItemListModel<T extends ITransferableEntity,Long>- Parameters:
entity- to be removed
-
save
public void save(boolean addSuccessMessage, boolean addErrorMessage)- Overrides:
savein classItemListModel<T extends ITransferableEntity,Long>
-
save
public void save()
Description copied from interface:IItemListModelSaves the currently selected model to the database. If itIItemListModel.isNew(), creates a new entry in the database, otherwise updates the existing entry.- Specified by:
savein interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
savein interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
savein classItemListModel<T extends ITransferableEntity,Long>
-
isHasAddNewEntity
public boolean isHasAddNewEntity()
- Overrides:
isHasAddNewEntityin classItemListModel<T extends ITransferableEntity,Long>
-
setHasAddNewEntity
public void setHasAddNewEntity(boolean isNewEntity)
- Overrides:
setHasAddNewEntityin classItemListModel<T extends ITransferableEntity,Long>
-
setSelectedFromMarked
public void setSelectedFromMarked()
Description copied from class:ItemListModelIf there is exactly one entity marked, makes it the selected one- Specified by:
setSelectedFromMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
setSelectedFromMarkedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
setSelectedFromMarkedin classItemListModel<T extends ITransferableEntity,Long>
-
update
public void update() throws Exception- Overrides:
updatein classItemListModel<T extends ITransferableEntity,Long>- Throws:
Exception
-
updateData
public void updateData()
- Specified by:
updateDatain interfaceIUpdatable- Overrides:
updateDatain classItemListModel<T extends ITransferableEntity,Long>
-
updateSelected
public void updateSelected()
Description copied from interface:IItemListModelRereads the currently model from the database, discarding any local, unsaved changes. Does nothing iff the currently selected modelIItemListModel.isNew().- Specified by:
updateSelectedin interfaceIEntityListModel<T extends ITransferableEntity>- Specified by:
updateSelectedin interfaceIItemListModel<T extends ITransferableEntity>- Overrides:
updateSelectedin classItemListModel<T extends ITransferableEntity,Long>
-
performDelete
protected boolean performDelete(T item)
- Overrides:
performDeletein classItemListModel<T extends ITransferableEntity,Long>
-
selectDefault
protected void selectDefault()
Description copied from class:ItemListModelCalled when no item is selected. Should select the default item by calling #ItemListModel.setSelected(Object). Defaults to selecting the first item; or a new item if no items exists. Override for custom behavior.- Overrides:
selectDefaultin classItemListModel<T extends ITransferableEntity,Long>
-
onSelectionChanged
protected void onSelectionChanged(T selected)
Description copied from class:ItemListModelCalled when the selection changes, e.g. when a new item is selected or the selection is cleared.- Overrides:
onSelectionChangedin classItemListModel<T extends ITransferableEntity,Long>- Parameters:
selected- The currently selected item, or null if no item is selected.
-
-