OrderEvent.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 javax.xml.bind.annotation.XmlAttribute;
import java.util.Date;
/**
* Events for the Order Entity.
*/
@Entity
@Table(name = "orderevent")
@AccessType("field")
@NamedQuery(query = "select ce from OrderEvent ce where ce.consumerTag = :consumerTag", name = "findAllOrderEventsForUser")
public class OrderEvent extends Event {
private static final long serialVersionUID = 1L;
@XmlAttribute
private String reason;
public static enum OrderEventType {
SIGNOFF, UNSIGNOFF, DELETED, CREATED, UPDATED, FAILED, ITEM_DELETED, REJECTED,
}
protected OrderEvent() {
super();
}
public OrderEvent(String reference, Date timestamp, String organisationalUnit, String eventType, String reason, String consumerTag) {
super(reference, timestamp, organisationalUnit, eventType, consumerTag);
this.reason = reason;
}
public OrderEvent(final Long id, final String reference, final Date timestamp, final String organisationalUnit, final OrderEventType eventType,
final String reason, final String consumerTag) {
super(id, reference, timestamp, organisationalUnit, eventType.name(), consumerTag);
this.reason = reason;
}
public String getReason() {
return reason;
}
@Override
public Class getInstanceClass() {
return OrderEvent.class;
}
}