Skip to content

Commit 47010c4

Browse files
authored
Merge pull request #19 from LMAX-Exchange/additional-fix-tags
add support for FIX tags GapFill(36), NewSeqNo(36) and TimeInForce(59)
2 parents ad3367d + de1b8e6 commit 47010c4

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

nanofix-client/src/main/java/com/lmax/nanofix/fields/Tags.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ public enum Tags {
2323
ClOrdID(11),
2424
EncryptMethod(98),
2525
EndSeqNo(16),
26+
GapFill(123),
2627
HeartBtInt(108),
2728
MsgSeqNum(34),
2829
MsgType(35),
30+
NewSeqNo(36),
2931
OrderQty(38),
3032
OrdType(40),
3133
OrigSendingTime(122),
@@ -44,6 +46,7 @@ public enum Tags {
4446
Symbol(55),
4547
TargetCompID(56),
4648
TestReqID(112),
49+
TimeInForce(59),
4750
TransactTime(60),
4851
RawDataLength(95),
4952
RawData(96),

nanofix-client/src/main/java/com/lmax/nanofix/outgoing/FixMessageBuilder.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@
3232
import static com.lmax.nanofix.fields.Tags.ClOrdID;
3333
import static com.lmax.nanofix.fields.Tags.EncryptMethod;
3434
import static com.lmax.nanofix.fields.Tags.EndSeqNo;
35+
import static com.lmax.nanofix.fields.Tags.GapFill;
3536
import static com.lmax.nanofix.fields.Tags.HeartBtInt;
3637
import static com.lmax.nanofix.fields.Tags.MsgSeqNum;
38+
import static com.lmax.nanofix.fields.Tags.NewSeqNo;
3739
import static com.lmax.nanofix.fields.Tags.OrdType;
3840
import static com.lmax.nanofix.fields.Tags.OrderQty;
3941
import static com.lmax.nanofix.fields.Tags.OrigSendingTime;
@@ -52,6 +54,7 @@
5254
import static com.lmax.nanofix.fields.Tags.Symbol;
5355
import static com.lmax.nanofix.fields.Tags.TargetCompID;
5456
import static com.lmax.nanofix.fields.Tags.TestReqID;
57+
import static com.lmax.nanofix.fields.Tags.TimeInForce;
5558
import static com.lmax.nanofix.fields.Tags.TransactTime;
5659
import static com.lmax.nanofix.fields.Tags.Username;
5760

@@ -92,7 +95,7 @@ public FixMessageBuilder(final String version) {
9295
* @param messageLengthOverride The value of the (9) message length tag.
9396
* @return FixMessageBuilder
9497
*/
95-
public FixMessageBuilder overrideMessageLength(final String messageLengthOverride) {
98+
public FixMessageBuilder overrideMessageLength(String messageLengthOverride) {
9699
this.messageLengthOverride = messageLengthOverride;
97100
return this;
98101
}
@@ -109,20 +112,17 @@ public FixMessageBuilder overrideChecksum(final String checksumOverride) {
109112
}
110113

111114
public FixMessageBuilder messageType(final String type) {
112-
if (MsgType.knownMsgType(type)) {
113-
throw new RuntimeException("Please use the MsgType enumeration");
114-
}
115115
return addTag(Tags.MsgType.getTag(), type);
116116
}
117117

118-
public FixMessageBuilder account(final String account) {
119-
return addTag(Tags.Account.getTag(), account);
120-
}
121-
122118
public FixMessageBuilder messageType(final MsgType type) {
123119
return addTag(Tags.MsgType.getTag(), type.getCode());
124120
}
125121

122+
public FixMessageBuilder account(final String account) {
123+
return addTag(Tags.Account.getTag(), account);
124+
}
125+
126126
public FixMessageBuilder senderCompID(final String senderCompID) {
127127
return addTag(SenderCompID.getTag(), senderCompID);
128128
}
@@ -244,6 +244,17 @@ public FixMessageBuilder origSendingTime(final ZonedDateTime origSendingTime) {
244244
return addTag(OrigSendingTime.getTag(), com.lmax.nanofix.FixUtil.DATE_TIME_FORMATTER.format(origSendingTime));
245245
}
246246

247+
public FixMessageBuilder timeInForce(final String tag) {
248+
return addTag(TimeInForce.getTag(), tag);
249+
}
250+
251+
public FixMessageBuilder newSeqNo(final int newSequenceNum) {
252+
return addTag(NewSeqNo.getTag(), Integer.toString(newSequenceNum));
253+
}
254+
255+
public FixMessageBuilder gapFill(final String value) {
256+
return addTag(GapFill.getTag(), value);
257+
}
247258

248259
public FixMessageBuilder append(final int tag, final String value) {
249260
return addTag(tag, value);

0 commit comments

Comments
 (0)