CostCompareRowDTO.java

package com.tradecloud.dto.costing.costsetup;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class CostCompareRowDTO {
    private String name;
    private boolean groupAmount;
    private String costlineGroup;
    private List<CostCompareColDTO> costCompareColDTOS = new ArrayList<>();

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<CostCompareColDTO> getCostCompareColDTOS() {
        return costCompareColDTOS;
    }

    public void setCostCompareColDTOS(List<CostCompareColDTO> costCompareColDTOS) {
        this.costCompareColDTOS = costCompareColDTOS;
    }

    public boolean isGroupAmount() {
        return groupAmount;
    }

    public void setGroupAmount(boolean groupAmount) {
        this.groupAmount = groupAmount;
    }

    public String getCostlineGroup() {
        return costlineGroup;
    }

    public void setCostlineGroup(String costlineGroup) {
        this.costlineGroup = costlineGroup;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof CostCompareRowDTO)) return false;
        CostCompareRowDTO that = (CostCompareRowDTO) o;
        return isGroupAmount() == that.isGroupAmount() && Objects.equals(getName(), that.getName())
                && Objects.equals(getCostlineGroup(), that.getCostlineGroup());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getName(), isGroupAmount(), getCostlineGroup());
    }

    public CostCompareColDTO getCostCompareColDTO(String s) {
        return this.costCompareColDTOS.stream().filter(colDTO -> colDTO.getCostingName().equals(s)).findFirst()
                .orElse(new CostCompareColDTO());
    }

    public boolean isServiceProviderRow() {
        return name.equals("SERVICE PROVIDERS");
    }
}