OrdersEvent.java
package com.tradecloud.domain.event;
import com.tradecloud.domain.party.ServiceProvider;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@Entity
@Table(name = "ordersevent")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
public class OrdersEvent extends Event implements EnumTypedEvent<OrderEventType> {
/**
* UID.
*/
private static final long serialVersionUID = 1L;
/**
* Event type.
*/
@Enumerated(EnumType.STRING)
private OrderEventType eventType;
@XmlElement(name = "FreightForwarder")
@ManyToOne(fetch = FetchType.LAZY)
private ServiceProvider freightForwarder;
private String orderReference;
public OrdersEvent() {
}
public OrdersEvent(OrderEventType eventTypeParam, String username) {
super(username);
this.eventType = eventTypeParam;
}
public OrdersEvent(String username, OrderEventType eventType, ServiceProvider freightForwarder) {
super(username);
this.eventType = eventType;
this.freightForwarder = freightForwarder;
}
public ServiceProvider getFreightForwarder() {
return freightForwarder;
}
public void setFreightForwarder(ServiceProvider freightForwarder) {
this.freightForwarder = freightForwarder;
}
@Override
public OrderEventType getEventType() {
return eventType;
}
@Override
public void setEventType(OrderEventType eventTypeParam) {
this.eventType = eventTypeParam;
}
public String getOrderReference() {
return orderReference;
}
public void setOrderReference(String orderReference) {
this.orderReference = orderReference;
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((eventType == null) ? 0 : eventType.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!super.equals(obj))
return false;
if (getClass() != obj.getClass())
return false;
OrdersEvent other = (OrdersEvent) obj;
if (eventType != other.eventType)
return false;
return true;
}
}