ClearingRate.java
package com.tradecloud.domain.rate;
import com.tradecloud.domain.container.ContainerType;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.domain.party.ServiceProvider;
import com.tradecloud.domain.place.Depot;
import com.tradecloud.domain.place.FinalDestination;
import com.tradecloud.domain.place.PlaceOfDischarge;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.math.BigDecimal;
@Entity
@Table(name = "clearingrate")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ClearingRate")
@Getter
@Setter
public class ClearingRate extends Rate implements MinMaxRate, CompanyRate {
private static final long serialVersionUID = 1L;
@NotNull
@Basic(optional = false)
@Enumerated(EnumType.STRING)
private ShippingMode shippingMode;
@Enumerated(EnumType.STRING)
private ShippingMode multiModalShippingMode;
@ManyToOne
private ContainerType containerType;
@ManyToOne
private Depot clearingDepot;
@ManyToOne
private PlaceOfDischarge placeOfDischarge;
@ManyToOne
private ServiceProvider freightForwarder;
@ManyToOne
private ServiceProvider carrier;
@ManyToOne
private ServiceProvider clearingAgent;
@ManyToOne
private ServiceProvider transporter;
@ManyToOne
private FinalDestination finalDestination;
@ManyToOne
private OrganisationalUnit company;
private BigDecimal weightFrom;
private BigDecimal weightTo;
private BigDecimal minValue;
private BigDecimal maxValue;
public ShippingMode getShippingMode() {
return shippingMode;
}
public void setShippingMode(ShippingMode shippingMode) {
this.shippingMode = shippingMode;
}
public ContainerType getContainerType() {
return containerType;
}
public void setContainerType(ContainerType containerType) {
this.containerType = containerType;
}
public Depot getClearingDepot() {
return clearingDepot;
}
public void setClearingDepot(Depot clearingDepot) {
this.clearingDepot = clearingDepot;
}
public PlaceOfDischarge getPlaceOfDischarge() {
return placeOfDischarge;
}
public void setPlaceOfDischarge(PlaceOfDischarge placeOfDischarge) {
this.placeOfDischarge = placeOfDischarge;
}
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 FinalDestination getFinalDestination() {
return finalDestination;
}
public void setFinalDestination(FinalDestination finalDestination) {
this.finalDestination = finalDestination;
}
public BigDecimal getWeightFrom() {
return weightFrom;
}
public void setWeightFrom(BigDecimal weightFrom) {
this.weightFrom = weightFrom;
}
public BigDecimal getWeightTo() {
return weightTo;
}
public void setWeightTo(BigDecimal weightTo) {
this.weightTo = weightTo;
}
@Override
public String toString() {
return "ClearingRate{" +
"clearingAgent=" + clearingAgent +
", shippingMode=" + shippingMode +
", containerType=" + containerType +
", clearingDepot=" + clearingDepot +
", placeOfDischarge=" + placeOfDischarge +
", transporter=" + transporter +
", organisationalUnit=" + getOrganisationalUnit() +
", finalDestination=" + finalDestination +
", freightForwarder=" + freightForwarder +
", carrier=" + carrier +
", weightFrom=" + weightFrom +
", weightTo=" + weightTo +
'}';
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null)
return false;
if (!(obj instanceof ClearingRate)) {
return false;
}
if (!super.equals(obj))
return false;
ClearingRate other = (ClearingRate) obj;
if (other.getShippingMode() == shippingMode
&& objectsEqual(containerType, other.getContainerType())
&& objectsEqual(clearingDepot, other.getClearingDepot())
&& objectsEqual(placeOfDischarge, other.getPlaceOfDischarge())
&& objectsEqual(clearingAgent, other.getClearingAgent())
&& objectsEqual(transporter, other.getTransporter())
&& objectsEqual(getOrganisationalUnit(), other.getOrganisationalUnit())
&& objectsEqual(finalDestination, other.getFinalDestination())
&& objectsEqual(freightForwarder, other.getFreightForwarder())
&& objectsEqual(carrier, other.getCarrier())
&& objectsEqual(weightFrom, other.getWeightFrom())
&& objectsEqual(weightTo, other.getWeightTo())
&& objectsEqual(company, other.getCompany())
) {
return true;
}
return false;
}
public ServiceProvider getFreightForwarder() {
return freightForwarder;
}
public void setFreightForwarder(ServiceProvider freightForwarder) {
this.freightForwarder = freightForwarder;
}
public ServiceProvider getCarrier() {
return carrier;
}
public void setCarrier(ServiceProvider carrier) {
this.carrier = carrier;
}
public BigDecimal getMinValue() {
return minValue;
}
public void setMinValue(BigDecimal minValue) {
this.minValue = minValue;
}
public BigDecimal getMaxValue() {
return maxValue;
}
public void setMaxValue(BigDecimal maxValue) {
this.maxValue = maxValue;
}
}