ContainerDates.java
package com.tradecloud.domain.container;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.Past;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.Date;
@Embeddable
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ContainerDates")
public class ContainerDates implements Serializable {
private static final long serialVersionUID = 1L;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date customsEntryDate;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date customsExitDate;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date dischargeDate;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date carrierReleaseDate;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date transporterAvailabilityDate;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
@Past
private Date pickUpDate;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date etaAtDepot;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date ataAtDepot;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date etaAtFinalDestination;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date scheduledDateAtFinalDestination;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date ataAtFinalDestination;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
@Past
private Date unpackedDate;
@XmlAttribute
@Temporal(TemporalType.TIMESTAMP)
private Date turnInDate;
public Date getCustomsEntryDate() {
return customsEntryDate;
}
public void setCustomsEntryDate(Date customsEntryDate) {
this.customsEntryDate = customsEntryDate;
}
public Date getCustomsExitDate() {
return customsExitDate;
}
public void setCustomsExitDate(Date customsExitDate) {
this.customsExitDate = customsExitDate;
}
public Date getDischargeDate() {
return dischargeDate;
}
public void setDischargeDate(Date dischargeDate) {
this.dischargeDate = dischargeDate;
}
public Date getCarrierReleaseDate() {
return carrierReleaseDate;
}
public void setCarrierReleaseDate(Date carrierReleaseDate) {
this.carrierReleaseDate = carrierReleaseDate;
}
public Date getTransporterAvailabilityDate() {
if (customsExitDate != null && dischargeDate == null) {
return customsExitDate;
} else if (customsExitDate != null && carrierReleaseDate != null) {
return carrierReleaseDate;
} else if (customsExitDate != null && carrierReleaseDate != null && dischargeDate != null) {
return transporterAvailabilityDate;
}
return null;
}
public void setTransporterAvailabilityDate(Date transporterAvailabilityDate) {
this.transporterAvailabilityDate = transporterAvailabilityDate;
}
public Date getPickUpDate() {
return pickUpDate;
}
public void setPickUpDate(Date pickUpDate) {
this.pickUpDate = pickUpDate;
}
public Date getEtaAtDepot() {
return etaAtDepot;
}
public void setEtaAtDepot(Date etaAtDepot) {
this.etaAtDepot = etaAtDepot;
}
public Date getAtaAtDepot() {
return ataAtDepot;
}
public void setAtaAtDepot(Date ataAtDepot) {
this.ataAtDepot = ataAtDepot;
}
public Date getEtaAtFinalDestination() {
return etaAtFinalDestination;
}
public void setEtaAtFinalDestination(Date etaAtFinalDestination) {
this.etaAtFinalDestination = etaAtFinalDestination;
}
public Date getScheduledDateAtFinalDestination() {
return scheduledDateAtFinalDestination;
}
public void setScheduledDateAtFinalDestination(Date scheduledDateAtFinalDestination) {
this.scheduledDateAtFinalDestination = scheduledDateAtFinalDestination;
}
public Date getAtaAtFinalDestination() {
return ataAtFinalDestination;
}
public void setAtaAtFinalDestination(Date ataAtFinalDestination) {
this.ataAtFinalDestination = ataAtFinalDestination;
}
public Date getUnpackedDate() {
return unpackedDate;
}
public void setUnpackedDate(Date unpackedDate) {
this.unpackedDate = unpackedDate;
}
public Date getTurnInDate() {
return turnInDate;
}
public void setTurnInDate(Date turnInDate) {
this.turnInDate = turnInDate;
}
}