Class AbstractPagingAndSortingRepositoryImpl
java.lang.Object
de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
- Direct Known Subclasses:
JdbiRepositoryImpl,RenderingTemplateRepositoryImpl
public abstract class AbstractPagingAndSortingRepositoryImpl
extends java.lang.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
Modifier and Type Method Description voidaddFiltering(de.digitalcollections.model.api.filter.Filtering filtering, java.lang.StringBuilder sqlQuery)voidaddFiltering(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery)voidaddLimit(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery)voidaddOffset(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery)voidaddOrderBy(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery)protected voidaddPageRequestParams(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery)protected java.lang.StringconvertToSqlString(java.lang.Object value)protected abstract java.util.List<java.lang.String>getAllowedOrderByFields()protected abstract java.lang.StringgetColumnName(java.lang.String modelProperty)protected java.lang.StringgetFilterClauses(de.digitalcollections.model.api.filter.Filtering filtering)java.lang.StringgetOrderBy(de.digitalcollections.model.api.paging.Sorting sorting)protected java.lang.StringgetWhereClause(de.digitalcollections.model.api.filter.FilterCriterion<?> fc)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
AbstractPagingAndSortingRepositoryImpl
public AbstractPagingAndSortingRepositoryImpl()
-
-
Method Details
-
addFiltering
public void addFiltering(de.digitalcollections.model.api.filter.Filtering filtering, java.lang.StringBuilder sqlQuery) -
addFiltering
public void addFiltering(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery) -
addLimit
public void addLimit(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery) -
addOffset
public void addOffset(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery) -
addOrderBy
public void addOrderBy(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery) -
getOrderBy
public java.lang.String getOrderBy(de.digitalcollections.model.api.paging.Sorting sorting) -
addPageRequestParams
protected void addPageRequestParams(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.StringBuilder sqlQuery) -
convertToSqlString
protected java.lang.String convertToSqlString(java.lang.Object value) -
getAllowedOrderByFields
protected abstract java.util.List<java.lang.String> getAllowedOrderByFields()- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getColumnName
protected abstract java.lang.String getColumnName(java.lang.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)
-
getFilterClauses
protected java.lang.String getFilterClauses(de.digitalcollections.model.api.filter.Filtering filtering) -
getWhereClause
protected java.lang.String getWhereClause(de.digitalcollections.model.api.filter.FilterCriterion<?> fc) throws java.lang.IllegalArgumentException, java.lang.UnsupportedOperationException- Throws:
java.lang.IllegalArgumentExceptionjava.lang.UnsupportedOperationException
-