トレード キャプチャ レポートのようなクイックフィックス メッセージの場合、ネストされた繰り返しグループを持つことがあります。文書の 10 ページにある NYSE のトレード キャプチャ レポートのメッセージをご覧ください。
partyID(448)、partyIDSource(447)、partyRole(452) を取得する必要がある場合、Java と QuickFixJ Java API を使用してどのように行うのですか?
第 2 レベルのネストを取得することは、第 1 レベルのグループを取得することと大差ありません。
私はあなたの NYSE ドキュメントを読みませんでしたが、グループは通常の FIX44 仕様と同様にグループParties
内にあると思います。NoSides
このコードはおそらく機能します。(コンパイルはしていません。) グループ数のチェックはしていませんが、その部分はご存知だと思います。
PartyID partyId = new PartyID();
// group
quickfix.fix44.TradeCaptureReport.NoSides sidesGroup =
new quickfix.fix44.TradeCaptureReport.NoSides();
// subgroup
quickfix.fix44.TradeCaptureReport.NoSides.NoPartyIDs partyIdsGroup =
new quickfix.fix44.TradeCaptureReport.NoSides.NoPartyIDs();
// get first sidesGroup
message.getGroup(1, sidesGroup);
// get first partyIdsGroup out of first sidesGroup
sidesGroup.getGroup(1, partyIdsGroup);
// do something with it...
// get second partyIdsGroup out of first sidesGroup
sidesGroup.getGroup(2, partyIdsGroup);
// do something with it...
// -----
// get second sidesGroup
message.getGroup(2, sidesGroup);
// get first partyIdsGroup out of second sidesGroup
sidesGroup.getGroup(1, partyIdsGroup);
// and so on...