public abstract class AbstractLazyModel<T extends EntityInterface> extends org.primefaces.model.LazyDataModel<T> implements Filtering<T>
| Constructor and Description |
|---|
AbstractLazyModel(Class<T> clazz) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addToParamBuilder(Param.Builder builder,
String key,
Object value)
adds
Param.Builder#add(java.lang.String, java.lang.Object, boolean) to
builder, uses AbstractLazyController.isUseOr(). |
void |
clear() |
static CrudReadService.SORTORDER |
convert(org.primefaces.model.SortOrder order) |
protected List<Param> |
convertFilters(Map<String,Object> filters)
Call
initParamBuilder() and call addToParamBuilder(org.fryske_akademy.ejb.Param.Builder, java.lang.String, java.lang.Object) for each entry. |
CrudReadService |
getCrudReadService() |
List<T> |
getFiltered()
Use this in primefaces EL expression for filteredValue
|
Map<String,Object> |
getFilters()
used this in EL expression for filterValue:
#{controller.filters['filtername']}
|
protected abstract AbstractLazyController |
getLazyController()
Used from
load(int, int, java.util.List, java.util.Map) to set AbstractCrudController.setRememberTableState(boolean) to true and from select(java.lang.String, java.lang.String, int)
to set AbstractCrudController.setRememberTableState(boolean) to
false. |
T |
getRowData(String rowKey)
Calls
CrudReadService.find(java.io.Serializable, java.lang.Class) with Integer.valueOf(rowKey) |
void |
init()
Called from PostConstruct.
|
protected abstract void |
initCrudWriteService(CrudReadService crudReadService)
implement, annotate with @Inject (@EJB should work but no success yet)
and call
setCrudReadService(org.fryske_akademy.ejb.CrudReadService) |
protected Param.Builder |
initParamBuilder()
creates a
Param.Builder#Builder(boolean, org.fryske_akademy.ejb.Param.Builder.WildcardMapping)
using AbstractLazyController.isSyntaxInvalue() and Param.Builder#DEFAULT_MAPPING. |
List<T> |
load(int first,
int pageSize,
List<org.primefaces.model.SortMeta> multiSortMeta,
Map<String,Object> filters)
|
List<T> |
load(int first,
int pageSize,
String sortField,
org.primefaces.model.SortOrder sortOrder,
Map<String,Object> filters)
|
void |
select(String key,
String value,
int maxResults)
filters data based on a key (column) and value by calling
setFiltered(java.util.List)
with load(int, int, java.lang.String, org.primefaces.model.SortOrder, java.util.Map) as argument. |
protected void |
setCrudReadService(CrudReadService crudReadService)
call this from your Inject annotated set method
|
void |
setFiltered(List<T> filtered) |
getPageSize, getRowCount, getRowData, getRowIndex, getRowKey, getWrappedData, isRowAvailable, setPageSize, setRowCount, setRowIndex, setWrappedDataaddDataModelListener, getDataModelListeners, iterator, removeDataModelListenerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorprotected abstract AbstractLazyController getLazyController()
load(int, int, java.util.List, java.util.Map) to set AbstractCrudController.setRememberTableState(boolean) to true and from select(java.lang.String, java.lang.String, int)
to set AbstractCrudController.setRememberTableState(boolean) to
false.public CrudReadService getCrudReadService()
public T getRowData(String rowKey)
CrudReadService.find(java.io.Serializable, java.lang.Class) with Integer.valueOf(rowKey)getRowData in interface org.primefaces.model.SelectableDataModel<T extends EntityInterface>getRowData in class org.primefaces.model.LazyDataModel<T extends EntityInterface>rowKey - public void init()
LazyDataModel.setWrappedData(java.lang.Object) and LazyDataModel.setRowCount(int)
with CrudReadService.countDynamic(java.util.List, java.lang.Class).protected Param.Builder initParamBuilder()
Param.Builder#Builder(boolean, org.fryske_akademy.ejb.Param.Builder.WildcardMapping)
using AbstractLazyController.isSyntaxInvalue() and Param.Builder#DEFAULT_MAPPING.protected final List<Param> convertFilters(Map<String,Object> filters)
initParamBuilder() and call addToParamBuilder(org.fryske_akademy.ejb.Param.Builder, java.lang.String, java.lang.Object) for each entry.filters - protected void addToParamBuilder(Param.Builder builder, String key, Object value)
Param.Builder#add(java.lang.String, java.lang.Object, boolean) to
builder, uses AbstractLazyController.isUseOr(). Gives you control over parameter meta info for filter entries.
Doesn't add boolean false values from filters, otherwise rows will always
be filtered on true or on false, true and false will never show both.builder - key - value - public final List<T> load(int first, int pageSize, String sortField, org.primefaces.model.SortOrder sortOrder, Map<String,Object> filters)
load in class org.primefaces.model.LazyDataModel<T extends EntityInterface>first - pageSize - sortField - sortOrder - filters - public final List<T> load(int first, int pageSize, List<org.primefaces.model.SortMeta> multiSortMeta, Map<String,Object> filters)
CrudReadService.findDynamic(java.lang.Integer, java.lang.Integer, java.util.Map, java.util.List, java.lang.Class), converts filters. When
selecting, set AbstractCrudController.setRememberTableState(boolean) to true to restore saving table state across views.load in class org.primefaces.model.LazyDataModel<T extends EntityInterface>first - pageSize - multiSortMeta - filters - public static CrudReadService.SORTORDER convert(org.primefaces.model.SortOrder order)
public List<T> getFiltered()
getFiltered in interface Filtering<T extends EntityInterface>public void setFiltered(List<T> filtered)
setFiltered in interface Filtering<T extends EntityInterface>public Map<String,Object> getFilters()
getFilters in interface Filtering<T extends EntityInterface>public final void select(String key, String value, int maxResults)
setFiltered(java.util.List)
with load(int, int, java.lang.String, org.primefaces.model.SortOrder, java.util.Map) as argument. POffset is set to 0. This method makes
sure load() isn't called the next time in the application lifecycle
because this would void the filtering. Set AbstractCrudController.setRememberTableState(boolean) to false so saving table doesn't interfere with the selecting
mechanism.select in interface Filtering<T extends EntityInterface>key - value - public void clear()
clear in interface Filtering<T extends EntityInterface>protected final void setCrudReadService(CrudReadService crudReadService)
crudReadService - protected abstract void initCrudWriteService(CrudReadService crudReadService)
setCrudReadService(org.fryske_akademy.ejb.CrudReadService)crudReadService - Copyright © 2018 Fryske Akademy. All rights reserved.