Class 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 Detail

      • AbstractPagingAndSortingRepositoryImpl

        public AbstractPagingAndSortingRepositoryImpl()
    • Method Detail

      • addFiltering

        public void addFiltering​(de.digitalcollections.model.filter.Filtering filtering,
                                 StringBuilder sqlQuery)
      • addFiltering

        public void addFiltering​(de.digitalcollections.model.paging.PageRequest pageRequest,
                                 StringBuilder sqlQuery)
      • 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)
      • convertToSqlString

        protected String convertToSqlString​(Object value)
      • 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)
      • getFilterClauses

        protected String getFilterClauses​(de.digitalcollections.model.filter.Filtering filtering)
      • getOrderBy

        public String getOrderBy​(de.digitalcollections.model.paging.Sorting sorting)