SearchDTO.java

package com.tradecloud.dto.api;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.tradecloud.domain.dto.base.SearchBase;
import io.swagger.annotations.ApiModel;

@ApiModel
public abstract class SearchDTO extends SearchBase implements PagedDTO {

    @JsonProperty()
    @JsonPropertyDescription(value = "The maximum number of entities returned per page.")

    private int pageSize = 10;
    @JsonProperty
    @JsonPropertyDescription(value = "The zero-based index of the pages.")
    private int pageNumber = 0;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    @JsonPropertyDescription(value = "search criteria number of pages")
    private int numberOfPages = 0;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    @JsonPropertyDescription(value = "The total number of entities that meet the search criteria.")
    private long total;

    @Override
    public int getPageSize() {
        return pageSize;
    }

    @Override
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    @Override
    public int getPageNumber() {
        return pageNumber;
    }

    public void setPageNumber(int pageNumber) {
        this.pageNumber = pageNumber;
    }

    @Override
    public void setPageIndex(int pageNumber) {
        this.pageNumber = pageNumber;
    }

    @Override
    public int getNumberOfPages() {
        return numberOfPages;
    }

    @Override
    public void setNumberOfPages(int numberOfPages) {
        this.numberOfPages = numberOfPages;
    }

    @Override
    public void setTotal(long total) {
        this.total = total;
    }

    @Override
    public long getTotal() {
        return total;
    }

    @Override
    public String getTableName() {
        return null;
    }

    @Override
    @JsonIgnore
    public Object getOrganisationalUnit() {
        return super.getOrganisationalUnit();
    }
}