クラス RepositoryComposition
java.lang.ObjectSE
org.springframework.data.repository.core.support.RepositoryComposition
リポジトリメソッド実装をサポートする複合実装。
RepositoryComposition
は、fragments
の順序付けられたコレクションを表します。各フラグメントは、このコンポジションがメソッド呼び出しを対応する RepositoryFragment
にルーティングするために使用する実行可能なメソッドシグネチャーを提供します。
フラグメントは、リポジトリインターフェースを介して公開される単一のメソッドシグネチャーの複数の実装に貢献できます。MethodLookup
は、最初の一致するメソッドを呼び出しに選択します。コンポジションは、withArgumentConverter(BiFunction)
を介したリポジトリメソッドシグネチャーとフラグメント実装メソッド間の引数変換もサポートします。変換可能な型を受け入れて公開できる単一の実装メソッドで引数変換を使用します。
コンポジションオブジェクトは不変でスレッドセーフです。
- 導入:
- 2.0
- 作成者:
- Mark Paluch, Christoph Strobl, Johannes Englmeier
- 関連事項:
ネストされたクラスのサマリー
ネストされたクラスメソッドのサマリー
修飾子と型メソッド説明append
(RepositoryComposition.RepositoryFragments fragments) 現在の構成を保持する新しいRepositoryComposition
を作成し、新しいコンポジションにRepositoryComposition.RepositoryFragments
を追加します。append
(RepositoryFragment<?> fragment) 現在の構成を保持する新しいRepositoryComposition
を作成し、新しいコンポジションにRepositoryFragment
を追加します。static RepositoryComposition
empty()
空のRepositoryComposition
を作成します。boolean
findMethod
(MethodSE method) 複合インターフェースで呼び出された特定のMethod
SE の実装メソッドを見つけます。static RepositoryComposition
fromMetadata
(RepositoryMetadata metadata) 提供されているRepositoryMetadata
を使用してRepositoryComposition
を作成し、リポジトリ型(リアクティブ / 命令)に応じてmethod lookups
を設定します。int
hashCode()
呼び出しを適切なRepositoryFragment
にルーティングすることにより、リポジトリのメソッドを呼び出します。boolean
isEmpty()
このRepositoryComposition
にfragments
が含まれていない場合は true を返します。static RepositoryComposition
static RepositoryComposition
of
(ListSE<RepositoryFragment<?>> fragments) static RepositoryComposition
of
(RepositoryComposition.RepositoryFragments fragments) MethodLookups#direct()
メソッドルックアップを使用して、RepositoryComposition.RepositoryFragments
およびRepositoryMetadata
からRepositoryComposition
を作成します。static RepositoryComposition
of
(RepositoryFragment<?>... fragments) void
すべてのfragments
に実装があることを検証します。withArgumentConverter
(BiFunctionSE<MethodSE, ObjectSE[], ObjectSE[]> argumentConverter) 現在の構成を保持する新しいRepositoryComposition
を作成し、argumentConverter
を設定します。withMetadata
(RepositoryMetadata metadata) 現在の構成を保持する新しいRepositoryComposition
を作成し、metadata
を設定します。withMethodLookup
(MethodLookup methodLookup) 現在の構成を保持する新しいRepositoryComposition
を作成し、methodLookup
を設定します。
メソッドの詳細
empty
空のRepositoryComposition
を作成します。- 戻り値:
- 空の
RepositoryComposition
。
fromMetadata
提供されているRepositoryMetadata
を使用してRepositoryComposition
を作成し、リポジトリ型(リアクティブ / 命令)に応じてmethod lookups
を設定します。- 戻り値:
- 空の
RepositoryComposition
。 - 導入:
- 2.4
just
- パラメーター:
implementation
- null であってはなりません。- 戻り値:
- 単一の
implementation
のRepositoryComposition
of
- パラメーター:
fragments
- null であってはなりません。- 戻り値:
fragments
からRepositoryComposition
of
- パラメーター:
fragments
- null であってはなりません。- 戻り値:
fragments
からRepositoryComposition
of
MethodLookups#direct()
メソッドルックアップを使用して、RepositoryComposition.RepositoryFragments
およびRepositoryMetadata
からRepositoryComposition
を作成します。- パラメーター:
fragments
- null であってはなりません。- 戻り値:
fragments
からRepositoryComposition
append
現在の構成を保持する新しいRepositoryComposition
を作成し、新しいコンポジションにRepositoryFragment
を追加します。結果のコンポジションには、最後の要素としてRepositoryFragment
が追加されています。- パラメーター:
fragment
- null であってはなりません。- 戻り値:
- 新しい
RepositoryComposition
append
現在の構成を保持する新しいRepositoryComposition
を作成し、新しいコンポジションにRepositoryComposition.RepositoryFragments
を追加します。結果のコンポジションには、最後の要素としてRepositoryComposition.RepositoryFragments
が追加されています。- パラメーター:
fragments
- null であってはなりません。- 戻り値:
- 新しい
RepositoryComposition
withArgumentConverter
public RepositoryComposition withArgumentConverter(BiFunctionSE<MethodSE, ObjectSE[], ObjectSE[]> argumentConverter) 現在の構成を保持する新しいRepositoryComposition
を作成し、argumentConverter
を設定します。- パラメーター:
argumentConverter
- null であってはなりません。- 戻り値:
- 新しい
RepositoryComposition
withMethodLookup
現在の構成を保持する新しいRepositoryComposition
を作成し、methodLookup
を設定します。- パラメーター:
methodLookup
- null であってはなりません。- 戻り値:
- 新しい
RepositoryComposition
withMetadata
現在の構成を保持する新しいRepositoryComposition
を作成し、metadata
を設定します。- パラメーター:
metadata
- null であってはなりません。- 戻り値:
RepositoryComposition
の新しいインスタンス。- 導入:
- 2.4
isEmpty
public boolean isEmpty()このRepositoryComposition
にfragments
が含まれていない場合は true を返します。- 戻り値:
- この
RepositoryComposition
にfragments
が含まれていない場合は true。
invoke
呼び出しを適切なRepositoryFragment
にルーティングすることにより、リポジトリのメソッドを呼び出します。- パラメーター:
method
-args
-- 戻り値:
- 例外:
ThrowableSE
findMethod
複合インターフェースで呼び出された特定のMethod
SE の実装メソッドを見つけます。- パラメーター:
method
- null であってはなりません。- 戻り値:
validateImplementation
public void validateImplementation()すべてのfragments
に実装があることを検証します。equals
hashCode
public int hashCode()getFragments
getMethodLookup
getArgumentConverter