package org.marketcetera.photon.views.fixmessagedetail.dialogs.executionreport.data;
import org.marketcetera.trade.ExecutionReport;
import quickfix.Message;
import quickfix.StringField;
public class CustomNoneFixField extends ExecutionReportNoneFixField {
/** Custom field number */
private final String fFieldName;
public CustomNoneFixField(String fieldName)
{
fFieldName = fieldName;
}
@Override
public String getFieldName()
{
return fFieldName;
}
@Override
public String[] getValues()
{
return NULL_VALUE;
}
@Override
public void insertField(Message message)
{
if(fValue != null && fValue != EMPTY_STRING) {
message.setField(new StringField(Integer.parseInt(fFieldName),fValue));
}
}
@Override
public boolean validateValue() {
if(!super.validateValue())
return false;
return fFieldName != null && !fFieldName.equals(EMPTY_STRING);
}
@Override
public void parseFromReport(ExecutionReport executionReport)
{
}
@Override
public int getFieldTag()
{
return -1;
}
@Override
public boolean equals(Object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof CustomNoneFixField)) {
return false;
}
CustomNoneFixField other = (CustomNoneFixField) obj;
if (fFieldName.compareTo(other.fFieldName) != 0) {
return false;
}
return true;
}
}