leqviet / wikidls

wiki
0 stars 0 forks source link

PagingObject #1

Open leqviet opened 5 years ago

leqviet commented 5 years ago

package vn.com.demo.springboot.dto.common;

import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory;

import javax.xml.bind.annotation.XmlTransient; import java.io.Serializable; import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class PagingObject extends ResponseDTO implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 4124958189596651958L;
private List<T> content;
private T dto;
private int totalPage;
private Integer pageNumber = 0;
private int pageSize = 5;
private int pageCurrentView = 1;
private String fieldSort;
private String kindSort;
private int totalItem = 0;

private static Logger log = LoggerFactory.getLogger(PagingObject.class);

public List<T> getContent() {
    return content;
}

public void setContent(List<T> content) {
    this.content = content;
}

public T getDto() {
    return dto;
}

public void setDto(T dto) {
    this.dto = dto;
}

public int getTotalPage() {
    return totalPage;
}

public void setTotalPage(int totalPage) {
    this.totalPage = totalPage;
}

public Integer getPageNumber() {
    return pageNumber;
}

@JsonProperty
public void setPageNumber(Integer pageNumber) {
    this.pageNumber = pageNumber;
}

@XmlTransient
@JsonIgnore
public void setPageNumber(String pageNumber) {
    try {
        this.pageNumber = Integer.valueOf(pageNumber);
    } catch (Exception e) {
        log.error(e.getMessage());
    }
}

public int getPageCurrentView() {
    return pageCurrentView;
}

@JsonProperty
public void setPageCurrentView(int pageCurrentView) {
    this.pageCurrentView = pageCurrentView;
}

public void setPageCurrentView(String pageCurrentView) {
    try {
        this.pageCurrentView = Integer.valueOf(pageCurrentView);
        if (this.pageCurrentView > 0) {
            this.pageNumber = this.pageCurrentView - 1;
        }
    } catch (Exception e) {
        log.error(e.getMessage());
    }
}

public int getPageSize() {
    return pageSize;
}

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

@XmlTransient
@JsonIgnore
public void setPageSize(String pageSize) {
    try {
        this.pageSize = Integer.valueOf(pageSize);
    } catch (Exception e) {
        log.error(e.getMessage());
    }
}

public String getFieldSort() {
    return fieldSort;
}

public void setFieldSort(String fieldSort) {
    this.fieldSort = fieldSort;
}

public String getKindSort() {
    return kindSort;
}

public void setKindSort(String kindSort) {
    this.kindSort = kindSort;
}

public boolean hasPrevious() {
    return pageNumber > 0;
}

public boolean hasNext() {
    return pageNumber + 1 < totalPage;
}

public int getTotalItem() {
    return totalItem;
}

public void setTotalItem(int totalItem) {
    this.totalItem = totalItem;
}

}

leqviet commented 5 years ago

image

leqviet commented 5 years ago

https://o7planning.org/en/11797/pagination-in-java-hibernate