All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.camunda.tasklist.dto.Pagination Maven / Gradle / Ivy

package io.camunda.tasklist.dto;

import io.camunda.tasklist.generated.model.TaskOrderBy;
import java.util.ArrayList;
import java.util.List;

public class Pagination {

  private Integer pageSize;

  private List search;

  private SearchType searchType;

  private List sort;

  public Integer getPageSize() {
    return pageSize;
  }

  public Pagination setPageSize(Integer pageSize) {
    this.pageSize = pageSize;
    return this;
  }

  public List getSearch() {
    return search;
  }

  public Pagination setSearch(List search) {
    this.search = search;
    return this;
  }

  public SearchType getSearchType() {
    return searchType;
  }

  public Pagination setSearchType(SearchType searchType) {
    this.searchType = searchType;
    return this;
  }

  public List getSort() {
    return sort;
  }

  public Pagination setSort(List sort) {
    this.sort = sort;
    return this;
  }

  public static class Builder {

    private Integer pageSize;

    private List search;

    private SearchType searchType;

    private List sort;

    public Builder pageSize(Integer pageSize) {
      this.pageSize = pageSize;
      return this;
    }

    public Builder after(List search) {
      this.search = search;
      this.searchType = SearchType.AFTER;
      return this;
    }

    public Builder before(List search) {
      this.search = search;
      this.searchType = SearchType.BEFORE;
      return this;
    }

    public Builder beforeOrEqual(List search) {
      this.search = search;
      this.searchType = SearchType.BEFORE_OR_EQUAL;
      return this;
    }

    public Builder afterOrEqual(List search) {
      this.search = search;
      this.searchType = SearchType.AFTER_OR_EQUAL;
      return this;
    }

    public Builder sortBy(TaskOrderBy.FieldEnum field, TaskOrderBy.OrderEnum order) {
      if (sort == null) {
        sort = new ArrayList<>();
      }
      sort.add(new TaskOrderBy().field(field).order(order));
      return this;
    }

    public Pagination build() {
      return new Pagination()
          .setPageSize(pageSize)
          .setSearch(search)
          .setSearchType(searchType)
          .setSort(sort);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy