メソッドの次の設計に困惑しています。
Map<String, BigDecimal> foo(Parameter p){ ... }
このメソッドは複合体を取り、Parameter
マップ名 -> 値を返します。多くの場合、パラメータの特定の基礎となる値に基づいて、結果のマップは同じになります。さらに、返される可能性のある異なるマップはわずかしかないため、これらはキャッシュされます。ただし、マップが最初に作成されたときは、さまざまな種類のエラーが発生する可能性があります。特定の文字列値が正しくない可能性がある、特定の値が < 0 であるためスキップする必要があるなどです。これらのエラーは、その時点では異なる性質のものである可能性があります。このマップを返したいのですが、各マップの初期化が実行されるときに、理想的には一度だけ、これらのエラーにフラグを立てることもできます。これを行う最もクリーンな方法は何でしょうか?