From 7dfe7bb57d3e8029314667f532d6dc59892c96bf Mon Sep 17 00:00:00 2001 From: charlesbr1 Date: Sat, 1 Aug 2015 00:45:15 -0500 Subject: [PATCH 1/2] add reset() method The clear() method is public but its purpose is not explained. It does not allow to reuse a message because it removes the header & trailers of a message. This reset() method can be used to reuse a message. --- quickfixj-core/src/main/java/quickfix/FieldMap.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/quickfixj-core/src/main/java/quickfix/FieldMap.java b/quickfixj-core/src/main/java/quickfix/FieldMap.java index 2e9202f3f..afa34294c 100644 --- a/quickfixj-core/src/main/java/quickfix/FieldMap.java +++ b/quickfixj-core/src/main/java/quickfix/FieldMap.java @@ -75,6 +75,15 @@ public void clear() { groups.clear(); } + public void reset() { + fields.clear(); + for(List groupList : groups.values()) { + for(Group group : groupList) + group.reset(); + } + groups.clear(); + } + public boolean isEmpty() { return fields.isEmpty(); } From 127bf9a8576df4a59b9c2f1e2e8f8707a2c8188f Mon Sep 17 00:00:00 2001 From: charlesbr1 Date: Sat, 1 Aug 2015 00:47:13 -0500 Subject: [PATCH 2/2] add reset() method The clear() method is public but its purpose is not explained. It does not allows to reuse a message because it removes the header & trailers content of a message. This reset() method can be used to reuse a message. --- quickfixj-core/src/main/java/quickfix/Message.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/quickfixj-core/src/main/java/quickfix/Message.java b/quickfixj-core/src/main/java/quickfix/Message.java index 7ed213419..5d45396a0 100644 --- a/quickfixj-core/src/main/java/quickfix/Message.java +++ b/quickfixj-core/src/main/java/quickfix/Message.java @@ -350,6 +350,12 @@ public void clear() { position = 0; } + @Override + public void reset() { + super.reset(); + this.position = 0; + } + public static class Header extends FieldMap { static final long serialVersionUID = -3193357271891865972L; private static final int[] EXCLUDED_HEADER_FIELDS = { BeginString.FIELD, BodyLength.FIELD,