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 |
|---|---|
Filtering<T> |
add(String key,
Object value) |
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(). |
Filtering<T> |
clear()
empty the filters
|
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) |
protected 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)
Selects specific data based on a key (filter) and value by putting only this key/value pair in filters.
|
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 - protected 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 its original value.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)
load(int, int, java.lang.String, org.primefaces.model.SortOrder, java.util.Map) is called the filter is used.
Set AbstractCrudController.setRememberTableState(boolean) to false, because it would void the filtering, the value is restored in the next load.key - value - protected final void setCrudReadService(CrudReadService crudReadService)
crudReadService - protected abstract void initCrudWriteService(CrudReadService crudReadService)
setCrudReadService(org.fryske_akademy.ejb.CrudReadService)crudReadService - public Filtering<T> add(String key, Object value)
add in interface Filtering<T extends EntityInterface>Copyright © 2018 Fryske Akademy. All rights reserved.