Package de.xima.fc.gui.model.data
Class EntitySelectModel<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.EntitySelectModel<T>
-
- All Implemented Interfaces:
IEntitySelectModel<T>,Serializable
- Direct Known Subclasses:
CurrentProjectBean.EntitySelectModelImpl,ProjectTemplateBean.EntitySelectModelImpl
public class EntitySelectModel<T extends ITransferableEntity> extends AMessaging implements IEntitySelectModel<T>
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Class<T>entityClassprotected Tselected
-
Constructor Summary
Constructors Constructor Description EntitySelectModel(Class<T> entityClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TaddNew()Sets the currently selected model to a new model.protected voidcreate()Stringdelete()Do not override this method, but onlydelete(String).Stringdelete(String targetView)Deletes the currently selected model from the database.protected IEntityContextec()protected IGenericDao<T>getDao()protected TgetNew()TgetSelected()protected booleanisDetached(de.xima.cmn.dao.interfaces.IEntity<Long> entity)booleanisNew()voidloadLazyData()Can be overriden to initialize lazily loaded fields on the entity.protected Stringredirect(String targetView)Stringsave()Do not override this method, but onlysave(String, boolean, boolean).Stringsave(String targetView)Do not override this method, but onlysave(String, boolean, boolean).Stringsave(String targetView, boolean addSuccessMessage, boolean addErrorMessage)Saves the currently selected model to the database.voidsetSelected(T selected)Sets the currently selected model to the given model.booleansetSelectedById(long id)Sets the selected model to one with the given ID.protected voidupdate()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, addMsgToComponent, addMsgToComponent, addWarnMsg, addWarnMsg, addWarnMsg, addWarnMsg, addWarnMsgFromString, addWarnMsgFromString, addWarnMsgToComponent, addWarnMsgToComponent, addWarnMsgToComponent, addWarnMsgToComponent, cleanErrorMsg, getErrorMessage, getNewErrorMsg, getNewErrorMsg, getNewErrorMsg, getNewInfoMsg, getNewInfoMsg, getNewMsg, getNewWarnMsg, getNewWarnMsg
-
-
-
-
Field Detail
-
entityClass
protected final Class<T extends ITransferableEntity> entityClass
-
selected
protected T extends ITransferableEntity selected
-
-
Method Detail
-
addNew
public T addNew()
Description copied from interface:IEntitySelectModelSets 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 interfaceIEntitySelectModel<T extends ITransferableEntity>
-
save
public final String save()
Do not override this method, but onlysave(String, boolean, boolean). Saves the currently selected model to the database. If itIEntitySelectModel.isNew(), creates a new entry in the database, otherwise updates the existing entry.- Specified by:
savein interfaceIEntitySelectModel<T extends ITransferableEntity>- Returns:
- Outcome for the redirection.
-
save
public final String save(String targetView)
Do not override this method, but onlysave(String, boolean, boolean). Saves the currently selected model to the database. If itIEntitySelectModel.isNew(), creates a new entry in the database, otherwise updates the existing entry. Performs a redirect to the view, if given.- Specified by:
savein interfaceIEntitySelectModel<T extends ITransferableEntity>- Parameters:
targetView- If given, performs a redirect to this view if the action succeeds. Must be a name ofEnum.name(), or a relative link.- Returns:
- Outcome for the redirection.
-
save
public String save(String targetView, boolean addSuccessMessage, boolean addErrorMessage)
Description copied from interface:IEntitySelectModelSaves the currently selected model to the database. If itIEntitySelectModel.isNew(), creates a new entry in the database, otherwise updates the existing entry. Performs a redirect to the view, if given.- Specified by:
savein interfaceIEntitySelectModel<T extends ITransferableEntity>- Parameters:
targetView- If given, performs a redirect to this view if the action succeeds. Must be a name ofEnum.name(), or a relative link.addSuccessMessage- Whether a success message is added to the faces context (in case of success).addErrorMessage- Whether an error message is added to the faces context (in case of an error).- Returns:
- Outcome for the redirection.
-
getSelected
public T getSelected()
- Specified by:
getSelectedin interfaceIEntitySelectModel<T extends ITransferableEntity>- Returns:
- The currently selected model. A new model if none is selected.
-
loadLazyData
public void loadLazyData()
Description copied from interface:IEntitySelectModelCan be overriden to initialize lazily loaded fields on the entity. By default, does not load any lazy data.- Specified by:
loadLazyDatain interfaceIEntitySelectModel<T extends ITransferableEntity>
-
setSelected
public void setSelected(T selected)
Description copied from interface:IEntitySelectModelSets 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 theIEntitySelectModel.getSelected()model may not refer to the same instance as the given model.- Specified by:
setSelectedin interfaceIEntitySelectModel<T extends ITransferableEntity>- Parameters:
selected- The model to be selected.
-
setSelectedById
public boolean setSelectedById(long id)
Description copied from interface:IEntitySelectModelSets the selected model to one with the given ID. Reads the model from the database. If no such model exists, does nothing.- Specified by:
setSelectedByIdin interfaceIEntitySelectModel<T extends ITransferableEntity>- Parameters:
id- ID of the model to be selected, as returned byIEntity.getId().- Returns:
- Whether the model could be selected, ie. iff an entity with the given ID exists.
-
isNew
public boolean isNew()
- Specified by:
isNewin interfaceIEntitySelectModel<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:IEntitySelectModelRereads the currently model from the database, discarding any local, unsaved changes. Does nothing iff the currently selected modelIEntitySelectModel.isNew().- Specified by:
updateSelectedin interfaceIEntitySelectModel<T extends ITransferableEntity>
-
delete
public final String delete()
Do not override this method, but onlydelete(String). Deletes the currently selected model from the database. If the currently selected modelIEntitySelectModel.isNew(), does nothing.- Specified by:
deletein interfaceIEntitySelectModel<T extends ITransferableEntity>- Returns:
- A view ID of the page to show after the model was deleted.
-
delete
public String delete(String targetView)
Description copied from interface:IEntitySelectModelDeletes the currently selected model from the database. If the currently selected modelIEntitySelectModel.isNew(), does nothing.- Specified by:
deletein interfaceIEntitySelectModel<T extends ITransferableEntity>- Parameters:
targetView- TheEnum.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.
-
getNew
protected T getNew()
-
create
protected void create()
-
update
protected void update()
-
getDao
protected IGenericDao<T> getDao()
-
ec
protected IEntityContext ec()
-
isDetached
protected boolean isDetached(de.xima.cmn.dao.interfaces.IEntity<Long> entity)
-
-