0

Guice ライブラリの AOP を使用して、メソッド パラメータに対して特定のアサーションを行うにはどうすればよいですか?

線形代数計算用の Vector クラスを実装しました。

class Vector{
    int n; // dimensions
    Vector sum(List<Float> v2){...}
    Vector sub(List<Float> v2){...}
    ...
}

通常、Vector クラスのメソッドは float の List を受け取りますv2v2計算を行う前に、 が vector と同じ次元でない場合は例外をスローしたいと思いthisます。

  if (v2.size() != n)
   throw new IllegalArgumentException(String.format("v2.size() should be %d, but is %d.", n, v2.size()));

パラメータとして受け取るメソッドごとに同じコードをコピーできますが、v2面倒です。

Guice の AOP 機能を使用して同じことを行う簡単な方法はありますか? 何かのようなもの:

 Vector sum(@Dim(this.n) List<Float> v2){...}
4

0 に答える 0