Class EntitySelectModel<T extends ITransferableEntity>

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:
  • Field Details

  • Constructor Details

    • EntitySelectModel

      public EntitySelectModel(Class<T> entityClass)
  • Method Details

    • addNew

      public T addNew()
      Description copied from interface: IEntitySelectModel
      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 interface IEntitySelectModel<T extends ITransferableEntity>
      Returns:
      The newly created entity.
    • save

      public final String save()
      Do not override this method, but only save(String, boolean, boolean). Saves the currently selected model to the database. If it IEntitySelectModel.isNew(), creates a new entry in the database, otherwise updates the existing entry.
      Specified by:
      save in interface IEntitySelectModel<T extends ITransferableEntity>
      Returns:
      Outcome for the redirection.
    • save

      public final String save(String targetView)
      Do not override this method, but only save(String, boolean, boolean). Saves the currently selected model to the database. If it IEntitySelectModel.isNew(), creates a new entry in the database, otherwise updates the existing entry. Performs a redirect to the view, if given.
      Specified by:
      save in interface IEntitySelectModel<T extends ITransferableEntity>
      Parameters:
      targetView - If given, performs a redirect to this view if the action succeeds. Must be a name of Enum.name(), or a relative link.
      Returns:
      Outcome for the redirection.
    • save

      @Deprecated public String save(String targetView, boolean addSuccessMessage, boolean addErrorMessage)
      Deprecated.
      Description copied from interface: IEntitySelectModel
      Saves the currently selected model to the database. If it IEntitySelectModel.isNew(), creates a new entry in the database, otherwise updates the existing entry. Performs a redirect to the view, if given.
      Specified by:
      save in interface IEntitySelectModel<T extends ITransferableEntity>
      Parameters:
      targetView - If given, performs a redirect to this view if the action succeeds. Must be a name of Enum.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:
      getSelected in interface IEntitySelectModel<T extends ITransferableEntity>
      Returns:
      The currently selected model. A new model if none is selected.
    • loadLazyData

      public void loadLazyData()
      Description copied from interface: IEntitySelectModel
      Can be overriden to initialize lazily loaded fields on the entity. By default, does not load any lazy data.
      Specified by:
      loadLazyData in interface IEntitySelectModel<T extends ITransferableEntity>
    • setSelected

      public void setSelected(T selected)
      Description copied from interface: IEntitySelectModel
      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 the IEntitySelectModel.getSelected() model may not refer to the same instance as the given model.
      Specified by:
      setSelected in interface IEntitySelectModel<T extends ITransferableEntity>
      Parameters:
      selected - The model to be selected.
    • setSelectedById

      public boolean setSelectedById(long id)
      Description copied from interface: IEntitySelectModel
      Sets the selected model to one with the given ID. Reads the model from the database. If no such model exists, does nothing.
      Specified by:
      setSelectedById in interface IEntitySelectModel<T extends ITransferableEntity>
      Parameters:
      id - ID of the model to be selected, as returned by IEntity.getId().
      Returns:
      Whether the model could be selected, ie. iff an entity with the given ID exists.
    • isNew

      public boolean isNew()
      Specified by:
      isNew in interface IEntitySelectModel<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: IEntitySelectModel
      Rereads the currently model from the database, discarding any local, unsaved changes. Does nothing iff the currently selected model IEntitySelectModel.isNew().
      Specified by:
      updateSelected in interface IEntitySelectModel<T extends ITransferableEntity>
    • delete

      public final String delete()
      Do not override this method, but only delete(String). Deletes the currently selected model from the database. If the currently selected model IEntitySelectModel.isNew(), does nothing.
      Specified by:
      delete in interface IEntitySelectModel<T extends ITransferableEntity>
      Returns:
      A view ID of the page to show after the model was deleted.
    • delete

      @Deprecated public String delete(String targetView)
      Deprecated.
      Use delete() instead.
      Description copied from interface: IEntitySelectModel
      Deletes the currently selected model from the database. If the currently selected model IEntitySelectModel.isNew(), does nothing.
      Specified by:
      delete in interface IEntitySelectModel<T extends ITransferableEntity>
      Parameters:
      targetView - The Enum.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)
    • redirect

      @Deprecated protected String redirect(String targetView)
      Deprecated.