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

      • 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)
      • getUniqueField

        protected abstract String getUniqueField()
        Returns:
        name of model property that guarantees an unique sorting, e.g. a db primary key or another unique column/field