CostSummaryAdditionalInfo.java
package com.tradecloud.domain.costing.clean;
import com.tradecloud.domain.party.ServiceProvider;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Objects;
@Embeddable
@Access(AccessType.FIELD)
public class CostSummaryAdditionalInfo implements Serializable {
@ManyToOne(fetch = FetchType.LAZY)
private ServiceProvider freightForwarder;
@ManyToOne(fetch = FetchType.LAZY)
private ServiceProvider clearingAgent;
@ManyToOne(fetch = FetchType.LAZY)
private ServiceProvider transporter;
private String reference;
private Long costComparisonSetupId;
public ServiceProvider getFreightForwarder() {
return freightForwarder;
}
public void setFreightForwarder(ServiceProvider freightForwarder) {
this.freightForwarder = freightForwarder;
}
public ServiceProvider getClearingAgent() {
return clearingAgent;
}
public void setClearingAgent(ServiceProvider clearingAgent) {
this.clearingAgent = clearingAgent;
}
public ServiceProvider getTransporter() {
return transporter;
}
public void setTransporter(ServiceProvider transporter) {
this.transporter = transporter;
}
public String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
public Long getCostComparisonSetupId() {
return costComparisonSetupId;
}
public void setCostComparisonSetupId(Long costComparisonSetupId) {
this.costComparisonSetupId = costComparisonSetupId;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof CostSummaryAdditionalInfo that)) return false;
if (!super.equals(o)) return false;
return Objects.equals(getFreightForwarder(), that.getFreightForwarder()) &&
Objects.equals(getClearingAgent(), that.getClearingAgent()) &&
Objects.equals(getTransporter(), that.getTransporter()) &&
Objects.equals(getCostComparisonSetupId(), that.getCostComparisonSetupId());
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), getFreightForwarder(), getClearingAgent(), getTransporter(), getCostComparisonSetupId());
}
public boolean useCompareRatesOnly() {
return (freightForwarder != null && freightForwarder.isCostCompareOnly()) ||
(clearingAgent != null && clearingAgent.isCostCompareOnly()) ||
(transporter != null && transporter.isCostCompareOnly());
}
}