私は、さまざまな修正バージョン(4.2,4.3,4.4)を扱ういくつかのコードを書いています。 私が持っている問題は、ハンドラオブジェクトを書くときに、それぞれの修正バージョンが異なるハンドラを使用するため、コードを複製することが強制されていることです。例: 異なる修正バージョンのQuickfix重複コード
@Handler
public void executionHandler(quickfix.fix42.ExecutionReport execution, SessionID sessionID) {
System.out.println(execution.getClOrdID().getValue());
}
@Handler
public void executionHandler(quickfix.fix43.ExecutionReport execution, SessionID sessionID) {
System.out.println(execution.getClOrdID().getValue());
}
私が書いている実際のコードははるかに複雑です(私はいくつかのフィールドを取得し、データを操作しています)。私は反射に頼らずにこの重複を減らす方法を考えることができません。
フィールドは同じで、パッケージが異なるだけです(つまり、「fix42'、 'fix43')? –
はい正確に.... –
あなたの操作には多くのフィールドがありますか?そうでない場合は、上記のように異なるバージョンをキャッチして、フィールドを中央のプライベートメソッドに渡して計算します。 –