Class AbstractPagingAndSortingRepositoryImpl
- java.lang.Object
-
- de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
-
- Direct Known Subclasses:
JdbiRepositoryImpl,RenderingTemplateRepositoryImpl
public abstract class AbstractPagingAndSortingRepositoryImpl extends Object
Convenience repository implementation to be inherited from if applicable.Tries best to translate paging and sorting params into valid SQL.
If result does not fit your use case: implement it yourself and do not use these convenience methods.
-
-
Constructor Summary
Constructors Constructor Description AbstractPagingAndSortingRepositoryImpl()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddLimit(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)voidaddOffset(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)voidaddOrderBy(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)protected voidaddPageRequestParams(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)protected abstract List<String>getAllowedOrderByFields()protected abstract StringgetColumnName(String modelProperty)StringgetOrderBy(de.digitalcollections.model.paging.Sorting sorting)
-
-
-
Method Detail
-
addLimit
public void addLimit(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)
-
addOffset
public void addOffset(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)
-
addOrderBy
public void addOrderBy(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)
-
addPageRequestParams
protected void addPageRequestParams(de.digitalcollections.model.paging.PageRequest pageRequest, StringBuilder sqlQuery)
-
getAllowedOrderByFields
protected abstract List<String> getAllowedOrderByFields()
- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getColumnName
protected abstract String getColumnName(String modelProperty)
- Parameters:
modelProperty- name of model property passed as String, e.g. "lastModified"- Returns:
- full qualified column name as used in sql queries ("last_modified" or e.g. "w.last_modified" if prefix used in queries)
-
getOrderBy
public String getOrderBy(de.digitalcollections.model.paging.Sorting sorting)
-
-