package org.marketcetera.quickfix.messagefactory;
import org.marketcetera.util.misc.ClassVersion;
import quickfix.MessageFactory;
import quickfix.Message;
import quickfix.Group;
import quickfix.field.BeginString;
/* $License$ */
/**
* A Message factory for System FIX messages.
* <p>
* This factory is used to overwrite the BeginString of the created
* messages to
* {@link org.marketcetera.quickfix.FIXDataDictionary#FIX_SYSTEM_BEGIN_STRING}
* after they have been created.
*
* @author anshul@marketcetera.com
* @version $Id: SystemMessageFactory.java 16154 2012-07-14 16:34:05Z colin $
* @since 1.0.0
*/
@ClassVersion("$Id: SystemMessageFactory.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$
public class SystemMessageFactory implements MessageFactory {
@Override
public Message create(String inBeginString, String inMsgType) {
Message m = mDelegate.create(inBeginString,inMsgType);
m.getHeader().setField(new BeginString(inBeginString));
return m;
}
@Override
public Group create(String beginString, String msgType,
int correspondingFieldID) {
return mDelegate.create(beginString,msgType,correspondingFieldID);
}
private final MessageFactory mDelegate = new quickfix.fix44.MessageFactory();
}