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 TypeMethodDescriptionvoidAdds the given entity to theListof marked entitiesvoidaddNew()Sets the currently selected model to a new model.voidcreate()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.voidDeletes all marked entitiesec()fetchAll()Fetches all available entities.getAll()getDao()protected static StringgetNew()booleanprotected booleanisDetached(de.xima.cmn.dao.interfaces.IEntity<Long> entity) booleanbooleanbooleanisNew()voidCan be overriden 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) voidonToggleSelect(org.primefaces.event.ToggleSelectEvent event) protected booleanperformDelete(T entity) 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 voidCalled when no item is selected.voidsetFiltered(List<T> filtered) Sets the list of filtered models.voidsetGlobalFilter(String globalFilter) voidsetHasAddNewEntity(boolean isNewEntity) voidSets the list of marked entitiesvoidsetSelected(T selected) Sets the currently selected model to the given model.voidIf there is exactly one entity marked, makes it the selected onevoidupdate()voidvoidRereads 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, msgMethods 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:
getAllin interfaceIEntityListModel<T extends ITransferableEntity>- Returns:
- A list of all models, not including a #
IEntityListModel.isNew(), unsaved model.
-
getAllPlusNew
- Specified by:
getAllPlusNewin 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:
updateDatain 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 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.- Returns:
- List
All available entities. The order of the returned list is preserved.
-
addNew
public void addNew()Description copied from interface:IEntityListModelSets 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>
-
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:IEntityListModelSaves the currently selected model to the database. If itIEntityListModel.isNew(), creates a new entry in the database, otherwise updates the existing entry.- Specified by:
savein interfaceIEntityListModel<T extends ITransferableEntity>
-
getSelected
- Specified by:
getSelectedin 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:IEntityListModelCan be overriden to initialize lazily loaded fields on the entity. By default, does not load any lazy data.- Specified by:
loadLazyDatain interfaceIEntityListModel<T extends ITransferableEntity>
-
setSelected
Description copied from interface:IEntityListModelSets 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:
setSelectedin 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:
setSelectedFromMarkedin interfaceIEntityListModel<T extends ITransferableEntity>
-
getFiltered
- Specified by:
getFilteredin interfaceIEntityListModel<T extends ITransferableEntity>- Returns:
- A subset of
IEntityListModel.getAll(), with some models excluded according to some filter criterion.
-
setFiltered
Description copied from interface:IEntityListModelSets the list of filtered models. This should be subset ofIEntityListModel.getAll().- Specified by:
setFilteredin interfaceIEntityListModel<T extends ITransferableEntity>- Parameters:
filtered- List of filtered models to set.
-
getMarked
- Specified by:
getMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Returns:
Listof entities that have been marked (i.e. for further processing)
-
setMarked
Description copied from interface:IEntityListModelSets the list of marked entities- Specified by:
setMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Parameters:
marked-Listof entities to be marked
-
addMarked
Description copied from interface:IEntityListModelAdds the given entity to theListof marked entities- Specified by:
addMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Parameters:
entity- to be added
-
removeMarked
Description copied from interface:IEntityListModelRemoves the given entity from theListof marked entities- Specified by:
removeMarkedin interfaceIEntityListModel<T extends ITransferableEntity>- Parameters:
entity- to be removed
-
isNew
public boolean isNew()- Specified by:
isNewin 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:IEntityListModelRereads the currently model from the database, discarding any local, unsaved changes. Does nothing iff the currently selected modelIEntityListModel.isNew().- Specified by:
updateSelectedin interfaceIEntityListModel<T extends ITransferableEntity>
-
isEmptyList
public boolean isEmptyList()- Specified by:
isEmptyListin interfaceIEntityListModel<T extends ITransferableEntity>- Returns:
trueiffIEntityListModel.getAll()is empty.
-
hasEntity
public boolean hasEntity()- Specified by:
hasEntityin interfaceIEntityListModel<T extends ITransferableEntity>- Returns:
trueiff not #IEntityListModel.isEmptyList()or the currently selected modelIEntityListModel.isNew().
-
setHasAddNewEntity
public void setHasAddNewEntity(boolean isNewEntity) -
getDao
-
delete
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>- Returns:
- A view ID of the page to show after the model was deleted.
-
ec
-
isDetached
-
deleteEntity
Description copied from interface:IEntityListModelSame asIEntityListModel.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>- 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:IEntityListModelSame asIEntityListModel.delete(String), but takes the model to be deleted as an argument instead of deleting the currently selected model.- Specified by:
deleteEntityin 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:
isMarkedDeletablein interfaceIEntityListModel<T extends ITransferableEntity>- Returns:
trueiff every single marked entity is deletable.falseotherwise
-
deleteMarkedEntities
public void deleteMarkedEntities()Description copied from interface:IEntityListModelDeletes all marked entities- Specified by:
deleteMarkedEntitiesin interfaceIEntityListModel<T extends ITransferableEntity>
-
onRowSelect
public void onRowSelect(org.primefaces.event.SelectEvent<?> event) - Specified by:
onRowSelectin interfaceIEntityListModel<T extends ITransferableEntity>
-
onRowSelectCheckbox
public void onRowSelectCheckbox(org.primefaces.event.SelectEvent<?> event) - Specified by:
onRowSelectCheckboxin interfaceIEntityListModel<T extends ITransferableEntity>
-
onRowUnselectCheckbox
public void onRowUnselectCheckbox(org.primefaces.event.UnselectEvent<?> event) - Specified by:
onRowUnselectCheckboxin interfaceIEntityListModel<T extends ITransferableEntity>
-
onToggleSelect
public void onToggleSelect(org.primefaces.event.ToggleSelectEvent event) - Specified by:
onToggleSelectin interfaceIEntityListModel<T extends ITransferableEntity>
-
performDelete
-
getName
-
delete
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.
-