package com.activequant.domainmodel.trade.event;
import javax.persistence.Column;
import javax.persistence.Entity;
import com.activequant.domainmodel.trade.order.OrderSide;
import com.activequant.utils.UniqueTimeStampGenerator;
@Entity
public class OrderFillEvent extends OrderEvent {
@Column
private double fillAmount;
@Column
private double fillPrice;
@Column
private OrderSide side;
@Column
private double leftQuantity;
@Column
private String execId;
@Column
private int resend = 0;
public OrderFillEvent() {
super(OrderFillEvent.class.getCanonicalName());
setTimeStamp(UniqueTimeStampGenerator.getInstance().now());
}
@Override
public String getId() {
return "OFE." + nullSafe(getTimeStamp());
}
public int getResend() {
return resend;
}
public void setResend(int resend) {
this.resend = resend;
}
public String getExecId() {
return execId;
}
public void setExecId(String execId) {
this.execId = execId;
}
public double getFillPrice() {
return fillPrice;
}
public void setFillPrice(double fillPrice) {
this.fillPrice = fillPrice;
}
public double getFillAmount() {
return fillAmount;
}
public void setFillAmount(double fillAmount) {
this.fillAmount = fillAmount;
}
public String toString() {
return "Order " + super.getRefOrderId() + " filled: " + fillAmount
+ "@" + fillPrice;
}
public OrderSide getSide() {
return side;
}
public void setSide(OrderSide side) {
this.side = side;
}
public double getLeftQuantity() {
return leftQuantity;
}
public void setLeftQuantity(double leftQuantity) {
this.leftQuantity = leftQuantity;
}
}