LogisticsEvent.java
package com.tradecloud.domain.model.events;
import org.hibernate.annotations.AccessType;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import java.util.Date;
/**
* Encapsulation of logistics events. TODO: remove local LogisticsEventType
*/
@Entity
@Table(name = "logisticsevent")
@AccessType("field")
@NamedQuery(query = " select ce from LogisticsEvent ce where ce.consumerTag = :consumerTag", name = "findAllLogisticEventsForUser")
public class LogisticsEvent extends Event {
private static final long serialVersionUID = 1L;
/**
* The event types on an logistics event..
*/
public static enum LogisticsEventType {
REJECT_UNSIGN_OFF, CONFIRM_UNSIGN_OFF, CONSIGNMENT_WITH_ORDERS_AWAITING_LSP_SIGNOFF_CONFIRMATION, CONSIGNMENT_UNSIGNOFF_REQUEST,
SHIPMENT_UPDATE, SHIPMENT_CREATE, CONFIRMED, CONSIGNMENT_UPDATE, ORDER_BOOKED, ORDER_FREIGHT_RECEIVED, ORDER_REJECTED, ORDER_UNSIGNOFF,
FREIGHT_DELIVERED, EXPORT_SHIPMENT_IN_TRANSIT, BOOKING_CANCELLED, FREIGHT_RECEIVED_CANCELLED, SUPPLIER_BOOKING_REQUESTED
}
/**
* only used by hibernate.
*
* @param confirmed
* @param string2
* @param date
* @param string
* @param long1
*/
protected LogisticsEvent() {
}
public LogisticsEvent(String reference, Date timestamp, String organisationalUnit,
String eventType, String consumerTag) {
super(reference, timestamp, organisationalUnit, eventType, consumerTag);
}
/**
* Initialising constructor.
*
* @param reference {@link Event#getId()}
* @param reference {@link Event#getReference()}
* @param timestamp {@link Event#getTimestamp()}
* @param organisationalUnit {@link Event#getOrganisationalUnit()}
* @param eventType {@link Event#getEventType()}
*/
public LogisticsEvent(final Long id, final String reference, final Date timestamp, final String organisationalUnit,
final LogisticsEventType eventType, final String consumerTag) {
super(id, reference, timestamp, organisationalUnit, eventType.name(), consumerTag);
}
@Override
public Class getInstanceClass() {
return LogisticsEvent.class;
}
}