私は、この種のメソッド呼び出しをいくつかの流暢なAPIと照合しようとします。任意の数のメソッド呼び出し(少なくとも2つの呼び出しがありますが、上限はありません)があります。全体の表現は一致する必要があります。実際、目的は流暢なAPIでdoIt()
を省略したチェーンメソッド呼び出しを見つけることです。この場合、流暢なAPIは何もしません。ストラクチャード・サーチによるチェーン・メソッド呼び出しの一致
FooClass.some("fluent")
.api()
.bar(()->"somelambda")
.doIt();
私は
FooClass.$a$($b$)
と異なる$a$
ため0,∞
のような "出現数"、および$b$
ため0,1
を使用するような何かを試してみましたが、これはまだのみすべての流暢APIを想定しFooClass.some("fluent")
APIメソッドがFooClass' 'のインスタンスを返しませんが、複数のクラスに一致する表現型を使用することは可能であると思われる'(FooClass | BarClass) 'としてI答えに投稿する – user140547