ClearingRateSearch.java
package com.tradecloud.dto.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 com.tradecloud.domain.place.PlaceOfLoading;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
@Component
@Scope("view")
@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
public class ClearingRateSearch extends RateSearch {
private ShippingMode shippingMode;
private ShippingMode multiModalShippingMode;
private ContainerType containerType;
private PlaceOfDischarge placeOfDischarge;
private ServiceProvider clearingAgent;
private ServiceProvider transporter;
private Depot clearingDepot;
private FinalDestination finalDestination;
private PlaceOfLoading placeOfLoading;
private BigDecimal weight;
private ServiceProvider freightForwarder;
private ServiceProvider carrier;
private OrganisationalUnit company;
public ClearingRateSearch(ClearingRateSearch clearingRateSearch) {
super(clearingRateSearch);
this.shippingMode = clearingRateSearch.shippingMode;
this.multiModalShippingMode = clearingRateSearch.multiModalShippingMode;
this.containerType = clearingRateSearch.containerType;
this.placeOfDischarge = clearingRateSearch.placeOfDischarge;
this.clearingAgent = clearingRateSearch.clearingAgent;
this.transporter = clearingRateSearch.transporter;
this.organisationalUnit = clearingRateSearch.organisationalUnit;
this.clearingDepot = clearingRateSearch.clearingDepot;
this.finalDestination = clearingRateSearch.finalDestination;
this.placeOfLoading = clearingRateSearch.placeOfLoading;
this.weight = clearingRateSearch.weight;
this.freightForwarder = clearingRateSearch.freightForwarder;
this.carrier = clearingRateSearch.carrier;
this.company = clearingRateSearch.company;
}
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 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 PlaceOfLoading getPlaceOfLoading() {
return placeOfLoading;
}
public void setPlaceOfLoading(PlaceOfLoading placeOfLoading) {
this.placeOfLoading = placeOfLoading;
}
public BigDecimal getWeight() {
return weight;
}
public void setWeight(BigDecimal weight) {
this.weight = weight;
}
@Override
public String toString() {
return "Cost line '" + costLine + "'. " + "Shipping mode '" + shippingMode + "'. " + "Container type '" + containerType + "'. " + "Port of " +
"docking '" + (placeOfDischarge != null ? placeOfDischarge.getName() : null) + "'. " + "Clearing agent '" + (clearingAgent != null
? clearingAgent.getName() : null) + "'. " + "Transporter '" + (transporter != null ? transporter.getName() : null) + "'. " + "Org " +
"Freight Forwarder '" + (freightForwarder != null ? freightForwarder.getName() : null) + "'. " +
"Company '" + (company != null ? company.getName() : null) + "'. " +
"Carrier '" + (carrier != null ? carrier.getName() : null) + "'. " +
"unit '" + (organisationalUnit != null ? organisationalUnit.getName() : null) + "'. " + "RateType: '" + costingType + "'. " +
" costCompareOnly:" + costCompareOnly;
}
public Depot getClearingDepot() {
return clearingDepot;
}
public void setClearingDepot(Depot clearingDepot) {
this.clearingDepot = clearingDepot;
}
public FinalDestination getFinalDestination() {
return finalDestination;
}
public void setFinalDestination(FinalDestination finalDestination) {
this.finalDestination = finalDestination;
}
@Override
public void reset() {
super.reset();
shippingMode = null;
multiModalShippingMode = null;
containerType = null;
placeOfDischarge = null;
clearingAgent = null;
transporter = null;
organisationalUnit = null;
clearingDepot = null;
finalDestination = null;
freightForwarder = null;
carrier = null;
weight = null;
placeOfLoading = null;
company = null;
}
/**
* @return the freightForwarder
*/
public ServiceProvider getFreightForwarder() {
return freightForwarder;
}
/**
* @param freightForwarder the freightForwarder to set
*/
public void setFreightForwarder(ServiceProvider freightForwarder) {
this.freightForwarder = freightForwarder;
}
/**
* @return the carrier
*/
public ServiceProvider getCarrier() {
return carrier;
}
/**
* @param carrier the carrier to set
*/
public void setCarrier(ServiceProvider carrier) {
this.carrier = carrier;
}
@Override
public int hashCode() {
return generate(getContainerType(), getCurrency(), getCostLine(),
getCostingType(), getFinalDestination(), getShippingMode(), getPlaceOfDischarge(), getPlaceOfLoading(),
getCarrier(), getEffectiveDateLower(), getFreightForwarder(), getWeight(), getPlaceOfLoading(), getClearingAgent(),
getEffectiveDateUpper(), getTransporter(), getOrganisationalUnit(), getClearingDepot(), getSearchMetaParams(), getRateUnit(),
isCostCompareOnly(), getMultiModalShippingMode(), company);
}
}