SearchParams.java

package com.tradecloud.domain.search;

import java.util.Objects;

/**
 * Search params for Static Data findAll methods.
 *
 * @author ronan
 */
public class SearchParams implements OrgUnitFilter {

    String orderBy;

    boolean descending;

    boolean activeOnly;

    private boolean filteredByOrg;

    boolean includeElc;

    boolean costCompareOnly = false;

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public boolean isDescending() {
        return descending;
    }

    public void setDescending(boolean descending) {
        this.descending = descending;
    }

    public boolean isActiveOnly() {
        return activeOnly;
    }

    public void setActiveOnly(boolean activeOnly) {
        this.activeOnly = activeOnly;
    }

    public static SearchParams orderByNameActive() {
        return new SearchParams("name", false, true);
    }

    public static SearchParams orderByName() {
        return new SearchParams("name", false);
    }

    public static SearchParams orderByCodeActive() {
        return new SearchParams("code", false, true);
    }

    public static SearchParams orderByCodeNotActive() {
        return new SearchParams("code", false, false);
    }

    public static SearchParams orderByCode() {
        return new SearchParams("code", false);
    }

    public static SearchParams orderedActive(String orderBy) {
        return new SearchParams(orderBy, false, true);
    }

    public SearchParams(String orderBy, boolean descending, boolean activeOnly) {
        super();
        this.orderBy = orderBy;
        this.descending = descending;
        this.activeOnly = activeOnly;
    }

    public SearchParams(String orderBy, boolean descending) {
        super();
        this.orderBy = orderBy;
        this.descending = descending;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof SearchParams)) return false;
        SearchParams that = (SearchParams) o;
        return isDescending() == that.isDescending() && isActiveOnly() == that.isActiveOnly() &&
                costCompareOnly == that.costCompareOnly && Objects.equals(getOrderBy(), that.getOrderBy());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getOrderBy(), isDescending(), isActiveOnly(), costCompareOnly);
    }

    public boolean isFilteredByUserOrg() {
        return filteredByOrg;
    }

    public void setFilteredByUserOrg(boolean filteredByOrg) {
        this.filteredByOrg = filteredByOrg;
    }

    @Override
    public boolean noSelectedOrgUnit() {
        return true;
    }

    public boolean isFilteredByOrg() {
        return filteredByOrg;
    }

    public void setFilteredByOrg(boolean filteredByOrg) {
        this.filteredByOrg = filteredByOrg;
    }

    public boolean isIncludeElc() {
        return includeElc;
    }

    public void setIncludeElc(boolean includeElc) {
        this.includeElc = includeElc;
    }

    public boolean isCostCompareOnly() {
        return costCompareOnly;
    }

    public void setCostCompareOnly(boolean costCompareOnly) {
        this.costCompareOnly = costCompareOnly;
    }
}