独自のメソッドに @NotNull アノテーション (または @Required など) を使用したいと考えています。これは Controller および Model クラスでは非常にうまく機能しますが、私自身ではうまく機能しません。これはおそらく net.sf.oval の質問であり、play フレームワークです。しかし、それは接続されている可能性があります。
私は次のようなクラスを持っています:
@net.sf.oval.guard.Guarded
public class SimulatorWrapper {
public SimulatorWrapper setRedCode(@play.data.validation.Required @net.sf.oval.constraint.NotNull final String redCode) {
// just gessing here:
if(Validation.hasErrors()) throw new RuntimeException("invalid argument");
if(redCode == null) throw new RuntimeException("null");
// do stuff
return this;
}
}
null パラメータを指定してこのメソッドを呼び出すと、if によって例外がスローされますが、@NotNull と @Required はまったく何もしないようです。私は何を間違っていますか?Play フレームワーク プロジェクトには楕円形の 1.5 が付属していました。1.8 をダウンロードし、古いプロジェクトに問題があった場合に備えて、Eclipse のクラスパスに追加しました。
「play test my-server」でサーバーを起動してから、ブラウザーで自分の Web サイト (まだテストではなく、単純なサイト) に移動します。
ありがとう、アレックス
PS「ヌルは悪」の議論は知っていますが、残りのコードにアクセスできないため、それを変更することはできません。