Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-154

Modify MessageFactory interface to add a functionality to create a group based on an enclosing message and group type

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Default
    • Resolution: Fixed
    • Affects Version/s: 1.0.5
    • Fix Version/s: 1.1.0
    • Component/s: Engine
    • Labels:
      None

      Description

      Currently, the MessageFactory class only exposes functionality to create a Message based on the FIX version and MsgType.

      Would be nice to also add a function that would create a group, based on the version, MsgType and the corresponding group type.

      Here's the prototype:

          /**
           * Creates a group for the specified parent message type and
           * for the fields with the corresponding field ID
           *
           * Example: to create a {@link quickfix.fix42.MarketDataRequest.NoMDEntryTypes}
           * you need to call
           *       create({@link quickfix.field.MsgType#MARKET_DATA_REQUEST, {@link quickfix.field.NoMDEntryTypes#FIELD})
           *
           * @param msgType   Message type of the enclosing message
           * @param correspondingFieldID  the fieldID of the field in the group
           * @return  group
           */
          public Group create(String beginString, String msgType, int correspondingFieldID);
      

      The change itself is fairly trivial - we just modify the XSLT that creates the MessageFactory classes to add another function.

      Any thoughts, requests or other implementation ideas?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                toli Toli Kuznets
                Reporter:
                toli Toli Kuznets
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: