クラス 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 RepositoryCompositionempty()空のRepositoryCompositionを作成します。booleanfindMethod(MethodSE method) 複合インターフェースで呼び出された特定のMethodSE の実装メソッドを見つけます。static RepositoryCompositionfromMetadata(RepositoryMetadata metadata) 提供されているRepositoryMetadataを使用してRepositoryCompositionを作成し、リポジトリ型(リアクティブ / 命令)に応じてmethod lookupsを設定します。inthashCode()呼び出しを適切なRepositoryFragmentにルーティングすることにより、リポジトリのメソッドを呼び出します。booleanisEmpty()このRepositoryCompositionにfragmentsが含まれていない場合は true を返します。static RepositoryCompositionstatic RepositoryCompositionof(ListSE<RepositoryFragment<?>> fragments) static RepositoryCompositionof(RepositoryComposition.RepositoryFragments fragments) MethodLookups#direct()メソッドルックアップを使用して、RepositoryComposition.RepositoryFragmentsおよびRepositoryMetadataからRepositoryCompositionを作成します。static RepositoryCompositionof(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
複合インターフェースで呼び出された特定のMethodSE の実装メソッドを見つけます。- パラメーター:
method- null であってはなりません。- 戻り値:
validateImplementation
public void validateImplementation()すべてのfragmentsに実装があることを検証します。equals
hashCode
public int hashCode()getFragments
getMethodLookup
getArgumentConverter