public abstract class AbstractLazyModel<T extends AbstractEntity> 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(ParamInfo.ParamInfoBuilder builder,
String key,
Object value)
adds
ParamInfo.ParamInfo(java.lang.String, java.lang.Object) to builder, gives you control over parameter meta info for filter entries. |
void |
clear() |
static JpqlBuilder.SORTORDER |
convert(org.primefaces.model.SortOrder order) |
protected List<ParamInfo> |
convertFilters(Map<String,Object> filters)
removes filters on booelan fields with value false, so false show both false and true and true only shows true
|
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) 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()
first time loading of data, calls
LazyDataModel.setWrappedData(java.lang.Object) and LazyDataModel.setRowCount(int)
with CrudReadService.count(java.util.List, java.lang.Class). |
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)
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. |
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) 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 AbstractEntity>getRowData in class org.primefaces.model.LazyDataModel<T extends AbstractEntity>rowKey - @PostConstruct public void init()
LazyDataModel.setWrappedData(java.lang.Object) and LazyDataModel.setRowCount(int)
with CrudReadService.count(java.util.List, java.lang.Class).protected List<ParamInfo> convertFilters(Map<String,Object> filters)
filters - protected void addToParamBuilder(ParamInfo.ParamInfoBuilder builder, String key, Object value)
ParamInfo.ParamInfo(java.lang.String, java.lang.Object) to builder, 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.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 AbstractEntity>first - pageSize - sortField - sortOrder - filters - public List<T> load(int first, int pageSize, List<org.primefaces.model.SortMeta> multiSortMeta, Map<String,Object> filters)
CrudReadService.findPaged(int, int, 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 AbstractEntity>first - pageSize - multiSortMeta - filters - public static JpqlBuilder.SORTORDER convert(org.primefaces.model.SortOrder order)
public List<T> getFiltered()
getFiltered in interface Filtering<T extends AbstractEntity>public void setFiltered(List<T> filtered)
setFiltered in interface Filtering<T extends AbstractEntity>public Map<String,Object> getFilters()
getFilters in interface Filtering<T extends AbstractEntity>public final void select(String key, String value)
setFiltered(java.util.List)
with load(int, int, java.lang.String, org.primefaces.model.SortOrder, java.util.Map) as argument. Pagesize will be set to 10, offset 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 AbstractEntity>key - value - public void clear()
clear in interface Filtering<T extends AbstractEntity>Copyright © 2018 Fryske Akademy. All rights reserved.