ExportRate.java

package com.tradecloud.domain.rate;

import com.tradecloud.domain.costing.CostingType;
import com.tradecloud.domain.export.ExportParty;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.domain.place.Depot;
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;

@Entity
@Table(name = "ExportRate")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@Getter
@Setter
public class ExportRate extends Rate {

    @ManyToOne
    private ExportParty exportParty;

    @ManyToOne
    private Depot depot;

    @NotNull
    @Basic(optional = false)
    @Enumerated(EnumType.STRING)
    private ShippingMode shippingMode;

    @Enumerated(EnumType.STRING)
    private ShippingMode multiModalShippingMode;

    public ExportRate() {
        setCostingType(CostingType.CLC);
    }

    public ExportParty getExportParty() {
        return exportParty;
    }

    public void setExportParty(ExportParty exportParty) {
        this.exportParty = exportParty;
    }

    public Depot getDepot() {
        return depot;
    }

    public void setDepot(Depot depot) {
        this.depot = depot;
    }

    public ShippingMode getShippingMode() {
        return shippingMode;
    }

    public void setShippingMode(ShippingMode shippingMode) {
        this.shippingMode = shippingMode;
    }
}