CostingComparisonSetup.java
package com.tradecloud.domain.configuration;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.party.ServiceProvider;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import javax.validation.constraints.NotNull;
import java.util.Objects;
@Entity
@Table(name = "CostingComparisonSetup", uniqueConstraints = {
@UniqueConstraint(columnNames = {"reference"})})
public class CostingComparisonSetup extends PersistenceBase {
@ManyToOne
private ServiceProvider freightForwarder;
@ManyToOne
private ServiceProvider clearingAgent;
@ManyToOne
private ServiceProvider transporter;
@NotNull(message = "is required")
private String reference;
private boolean active;
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 boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof CostingComparisonSetup that)) return false;
if (!super.equals(o)) return false;
return Objects.equals(getReference(), that.getReference());
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), getReference());
}
public boolean useCompareRatesOnly() {
return (freightForwarder != null && freightForwarder.isCostCompareOnly()) ||
(clearingAgent != null && clearingAgent.isCostCompareOnly()) ||
(transporter != null && transporter.isCostCompareOnly());
}
}