SuppliersEvent.java
package com.tradecloud.domain.model.events;
import com.tradecloud.domain.event.EventType;
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;
@Entity(name = "SuppliersEvent")
@Table(name = "suppliersevent")
@AccessType("field")
@NamedQuery(query = "select ce from SuppliersEvent ce where ce.consumerTag = :consumerTag", name = "findAllSupplierEventsForUser")
public class SuppliersEvent extends Event {
private static final long serialVersionUID = 1L;
@XmlAttribute
private String reason;
public static enum SupplierEventType implements EventType {
SUPPLIER_CREATED,
SUPPLIER_TEMPLATE_CREATED,
SUPPLIER_DELETED,
SUPPLIER_TEMPLATE_DELETED;
}
protected SuppliersEvent() {
super();
}
@Override
public Class getInstanceClass() {
return SuppliersEvent.class;
}
public SuppliersEvent(String reference, Date timestamp, String organisationalUnit, String eventType, String reason, String consumerTag) {
super(reference, timestamp, organisationalUnit, eventType, consumerTag);
this.reason = reason;
}
public SuppliersEvent(final Long id, final String reference, final Date timestamp, final String organisationalUnit,
final SupplierEventType eventType,
final String reason, final String consumerTag) {
super(id, reference, timestamp, organisationalUnit, eventType.name(), consumerTag);
this.reason = reason;
}
public String getReason() {
return reason;
}
}