public abstract class AbstractEntityController<E extends EntityInterface,A extends Auditing> extends AbstractController<A>
| Modifier and Type | Field and Description |
|---|---|
protected Class<E> |
clazz |
static String |
DEFAULT_BUNDLE_NAME |
protected static String |
FILTERING
will be appended as param value in
filterAndRedirect(org.fryske_akademy.jsf.AbstractEntityController, java.lang.String, java.lang.String, java.lang.String) |
protected static String |
STATE
will be appended as param key in
filterAndRedirect(org.fryske_akademy.jsf.AbstractEntityController, java.lang.String, java.lang.String, java.lang.String) |
FACESREDIRECTTRUE| Constructor and Description |
|---|
AbstractEntityController(Class<E> clazz) |
| Modifier and Type | Method and Description |
|---|---|
void |
cancelRow(org.primefaces.event.RowEditEvent editEvent)
Calls
refreshRow(org.primefaces.event.RowEditEvent, org.fryske_akademy.jpa.EntityInterface, boolean) with the canceled entity from the event and false. |
void |
copy()
copy a
selected entity, call fillCopy(org.fryske_akademy.jpa.EntityInterface, org.fryske_akademy.jpa.EntityInterface), set getNewEntity() to the copy. |
E |
create()
|
E |
create(E e)
|
void |
destroy() |
protected abstract void |
fillCopy(E newEntity,
E selected)
implementors can fill the new object with values from selected
|
protected void |
fillNew(E entity)
empty method, called from
prepareCreate() |
protected String |
filterAndRedirect(AbstractEntityController controller,
String key,
String value,
String action)
clears all filters, adds the key/value to it and returns your action with
AbstractController.FACESREDIRECTTRUE and "state=filtering" appended. |
protected String |
getBundleName()
override if you want to use different bundle name then
DEFAULT_BUNDLE_NAME |
abstract Filtering<E> |
getFiltering() |
Map<String,Object> |
getFilters(String key)
active filters on a page, use this as primefaces @filterValue: filterValue="#{ctlr.filters['id']}"
|
String |
getFilterString(String key) |
Object |
getFilterValue(String key)
return the value os a filter, often this will be a String.
|
List<RevInfo<E>> |
getLastChanged(E entity,
int max) |
String |
getLastChangedInfo(E entity)
returns username, revision date and
RevisionType for the last
revision found |
E |
getNewEntity() |
E |
getSelected() |
abstract String |
gotoPageContaining(E entity)
Navigate (i.e.
|
boolean |
isRememberTableState()
remember sorting, filtering, column order, selection, column widths, page
number (@multiViewState).
|
void |
onRowSelect(org.primefaces.event.SelectEvent event) |
void |
prepareCreate()
creates a new entity and calls
fillNew(org.fryske_akademy.jpa.EntityInterface) |
protected void |
refreshRow(org.primefaces.event.RowEditEvent editEvent,
EntityInterface e,
boolean update)
Attempts to show data in sync with the database after an update or cancel
edit.
|
E |
save(org.primefaces.event.RowEditEvent event)
Create or update an entity based on
AbstractEntity.isTransient(). |
void |
setNewEntity(E newEntity) |
void |
setRememberTableState(boolean rememberTableState) |
void |
setSelected(E selected) |
E |
update(org.primefaces.event.RowEditEvent editEvent)
|
diacriticsKeyBoard, getCrudWriteService, getSecurityContext, initCrudWriteService, persist, persist, setCrudWriteServiceprotected final Class<E extends EntityInterface> clazz
public static final String DEFAULT_BUNDLE_NAME
protected static final String STATE
filterAndRedirect(org.fryske_akademy.jsf.AbstractEntityController, java.lang.String, java.lang.String, java.lang.String)protected static final String FILTERING
filterAndRedirect(org.fryske_akademy.jsf.AbstractEntityController, java.lang.String, java.lang.String, java.lang.String)public boolean isRememberTableState()
filterAndRedirect(org.fryske_akademy.jsf.AbstractEntityController, java.lang.String, java.lang.String, java.lang.String)
subclasses may therefore choose to check if a request parameter "state" equals "filtering".public void setRememberTableState(boolean rememberTableState)
public E getSelected()
public void setSelected(E selected)
public E getNewEntity()
public void setNewEntity(E newEntity)
public void onRowSelect(org.primefaces.event.SelectEvent event)
public final void prepareCreate()
throws InstantiationException,
IllegalAccessException
fillNew(org.fryske_akademy.jpa.EntityInterface)public E create()
public E create(E e)
AbstractController.persist(org.fryske_akademy.jpa.EntityInterface, org.fryske_akademy.jsf.util.JsfUtil.PersistAction, java.lang.String). Uses property "Created" from bundle as message.protected String getBundleName()
DEFAULT_BUNDLE_NAMEpublic Object getFilterValue(String key)
key - public Map<String,Object> getFilters(String key)
key - public abstract String gotoPageContaining(E entity)
entity - protected abstract void fillCopy(E newEntity, E selected)
newEntity - selected - protected void fillNew(E entity)
prepareCreate()entity - public final void copy()
throws InstantiationException,
IllegalAccessException
selected entity, call fillCopy(org.fryske_akademy.jpa.EntityInterface, org.fryske_akademy.jpa.EntityInterface), set getNewEntity() to the copy.public E update(org.primefaces.event.RowEditEvent editEvent)
AbstractController.persist(org.fryske_akademy.jpa.EntityInterface, org.fryske_akademy.jsf.util.JsfUtil.PersistAction, java.lang.String) and refreshRow(org.primefaces.event.RowEditEvent, org.fryske_akademy.jpa.EntityInterface, boolean) with the up to date entity and true. Uses property "Updated" from bundle as message.editEvent - public E save(org.primefaces.event.RowEditEvent event)
AbstractEntity.isTransient().event - javax.persistence.PersistenceException - when entity is no AbstractEntityprotected void refreshRow(org.primefaces.event.RowEditEvent editEvent,
EntityInterface e,
boolean update)
editEvent - e - update - whenpublic void cancelRow(org.primefaces.event.RowEditEvent editEvent)
refreshRow(org.primefaces.event.RowEditEvent, org.fryske_akademy.jpa.EntityInterface, boolean) with the canceled entity from the event and false.editEvent - public void destroy()
public String getLastChangedInfo(E entity)
RevisionType for the last
revision foundentity - Auditing.getRevisionInfo(java.io.Serializable, java.lang.Integer,
java.lang.Class)protected String filterAndRedirect(AbstractEntityController controller, String key, String value, String action)
AbstractController.FACESREDIRECTTRUE and "state=filtering" appended. NOTE it may be necessary
to override isRememberTableState() when the value set here is overwritten.controller - key - value - action - Copyright © 2018 Fryske Akademy. All rights reserved.