1

私はグアバを見ていましたPreconditions。それらを実装メソッドで使用するのは素晴らしいことですが、それらを使用してインターフェイス コントラクトを記述することは可能ですか?

たとえば、C# コントラクトでは、これを行うことができます -

using System.Diagnostics.Contracts;

[ContractClass(typeof(FooContract))]
interface IFoo
{
    void Bar(int i);
}

[ContractClassFor(typeof(IFoo))]
abstract class FooContract : IFoo
{
    public void Bar(int i)
    {
        Contract.Requires(i >= 0);
    }
}

Guavaでこのようなことは可能ですか? そうでない場合、これには別の Java ライブラリがありますか?

4

1 に答える 1