クラス ReflectionUtils
java.lang.ObjectSE
org.springframework.data.util.ReflectionUtils
Spring Data 固有のリフレクションユーティリティのメソッドとクラス。
- 導入:
- 1.5
- 作成者:
- Oliver Gierke, Thomas Darimont, Christoph Strobl, Mark Paluch, Johannes Englmeier
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static class
指定されたアノテーションのReflectionUtils.FieldFilter
。static interface
説明のあるReflectionUtils.FieldFilter
。メソッドのサマリー
修飾子と型メソッド説明static <T> T
createInstanceIfPresent
(StringSE classname, T defaultInstance) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。3.5 以降はフレームワーク内で使用されなくなりました。static OptionalSE<ConstructorSE<?>>
findConstructor
(ClassSE<?> type, ObjectSE... constructorArguments) 使用すべきではありません。3.5 以降、戻り値の型は Optional ではなく nullable に変更されます。static FieldSE
findField
(ClassSE<?> type, ReflectionUtils.DescribedFieldFilter filter) 指定されたReflectionUtils.DescribedFieldFilter
に一致するフィールドを検索します。static FieldSE
findField
(ClassSE<?> type, ReflectionUtils.DescribedFieldFilter filter, boolean enforceUniqueness) 指定されたReflectionUtils.DescribedFieldFilter
に一致するフィールドを検索します。static FieldSE
findField
(ClassSE<?> type, ReflectionUtils.FieldFilter filter) 指定されたReflectionUtils.FieldFilter
に一致する指定されたクラスの最初のフィールドを検索します。static MethodSE
findMethod
(ClassSE<?> type, StringSE name, ResolvableType... parameterTypes) 可能な場合は、指定された型で宣言された指定された名前とパラメーターを持つMethod
SE を返します。static FieldSE
findRequiredField
(ClassSE<?> type, StringSE name) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにgetRequiredField(Class, String)
を使用してください。static MethodSE
findRequiredMethod
(ClassSE<?> type, StringSE name, ClassSE<?>... parameterTypes) 使用すべきではありません。3.5 以降、代わりにgetRequiredMethod(Class, String, Class[])
を使用してください。static OptionalSE<MethodSE>
getMethod
(ClassSE<?> type, StringSE name, ResolvableType... parameterTypes) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。static int
getParameterCount
(MethodSE method, PredicateSE<ClassSE<?>> predicate) Predicate
SE の一致するパラメーターMethod
SE の数を返します。static ObjectSE
getPrimitiveDefault
(ClassSE<?> type) プリミティブ型のデフォルト値を取得します。static FieldSE
getRequiredField
(ClassSE<?> type, StringSE name) 指定された型で指定された名前の必須フィールドを取得するか、見つからない場合はIllegalArgumentException
SE をスローします。static MethodSE
getRequiredMethod
(ClassSE<?> type, StringSE name, ClassSE<?>... parameterTypes) 指定されたクラスおよびパラメーター型の指定された名前のメソッドを返します。static boolean
hasParameterAssignableToType
(MethodSE method, ClassSE<?> type) 指定されたMethod
SE に、指定された型に割り当て可能なパラメーターがあるかどうかを返します。static boolean
hasParameterOfType
(MethodSE method, ClassSE<?> type) 指定されたMethod
SE に指定された型のパラメーターがあるかどうかを返します。static boolean
isNullable
(MethodParameter parameter) 指定されたMethodParameter
が NULL 可能かどうかを返します。static boolean
static ClassSE<?>
loadIfPresent
(StringSE name, ClassLoaderSE classLoader) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。returnTypeAndParameters
(MethodSE method) static void
指定されたオブジェクトの指定されたフィールドを指定された値に設定します。
メソッドの詳細
hasParameterOfType
指定されたMethod
SE に指定された型のパラメーターがあるかどうかを返します。- パラメーター:
method
- チェックするメソッドは null であってはなりません。type
- 照会するパラメーター型は null であってはなりません。- 戻り値:
- true の場合、指定された
Method
SE には指定された型のパラメーターがあります。 - 導入:
- 3.5
hasParameterAssignableToType
指定されたMethod
SE に、指定された型に割り当て可能なパラメーターがあるかどうかを返します。- パラメーター:
method
- チェックするメソッドは null であってはなりません。type
- 照会するパラメーター型は null であってはなりません。- 戻り値:
- true の場合、指定された
Method
SE には、指定された型に割り当て可能なパラメーターがあります。 - 導入:
- 3.5
getParameterCount
Predicate
SE の一致するパラメーターMethod
SE の数を返します。createInstanceIfPresent
@DeprecatedSE(since="3.5", forRemoval=true) public static <T> T createInstanceIfPresent(StringSE classname, T defaultInstance) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。3.5 以降はフレームワーク内で使用されなくなりました。指定された完全修飾名でクラスのインスタンスを作成するか、クラスをロードまたはインスタンス化できない場合は、指定されたデフォルトインスタンスを返します。- パラメーター:
classname
- インスタンスを作成するための完全修飾クラス名。defaultInstance
- 指定されたクラスをロードまたはインスタンス化できない場合にフォールバックするインスタンス。- 戻り値:
isVoid
- パラメーター:
type
- null であってはなりません。- 戻り値:
- 指定された型が void 型であるかどうか。
- 導入:
- 2.4
findField
指定されたReflectionUtils.FieldFilter
に一致する指定されたクラスの最初のフィールドを検索します。- パラメーター:
type
- null であってはなりません。filter
- null であってはなりません。- 戻り値:
- フィルターに一致するフィールド。フィールドが見つからなかった場合は null。
findField
@Nullable public static FieldSE findField(ClassSE<?> type, ReflectionUtils.DescribedFieldFilter filter) 指定されたReflectionUtils.DescribedFieldFilter
に一致するフィールドを検索します。フィルターに一致するフィールドが 1 つだけであることを確認します。- パラメーター:
type
- null であってはなりません。filter
- null であってはなりません。- 戻り値:
- 指定された
ReflectionUtils.DescribedFieldFilter
に一致するフィールド、または見つからない場合は null。 - 例外:
IllegalStateExceptionSE
- 一致するフィールドが複数見つかった場合- 関連事項:
findField
@Nullable public static FieldSE findField(ClassSE<?> type, ReflectionUtils.DescribedFieldFilter filter, boolean enforceUniqueness) 指定されたReflectionUtils.DescribedFieldFilter
に一致するフィールドを検索します。enforceUniqueness
が真の場合、フィルターに一致するフィールドが 1 つだけであることを確認します。- パラメーター:
type
- null であってはなりません。filter
- null であってはなりません。enforceUniqueness
- フィールドの一意性を強制するかどうか- 戻り値:
- 指定された
ReflectionUtils.DescribedFieldFilter
に一致するフィールド、または見つからない場合は null。 - 例外:
IllegalStateExceptionSE
- enforceUniqueness が真で、一致するフィールドが複数見つかった場合
findRequiredField
@DeprecatedSE(since="3.5", forRemoval=true) public static FieldSE findRequiredField(ClassSE<?> type, StringSE name) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにgetRequiredField(Class, String)
を使用してください。指定された型の指定された名前のフィールドを検索します。- パラメーター:
type
- null であってはなりません。name
- null または空であってはなりません。- 戻り値:
- 必須フィールド。
- 例外:
IllegalArgumentExceptionSE
- フィールドが見つからない場合。
getRequiredField
指定された型で指定された名前の必須フィールドを取得するか、見つからない場合はIllegalArgumentException
SE をスローします。- パラメーター:
type
- null であってはなりません。name
- null または空であってはなりません。- 戻り値:
- 必須フィールド。
- 例外:
IllegalArgumentExceptionSE
- フィールドが見つからない場合。
setField
指定されたオブジェクトの指定されたフィールドを指定された値に設定します。指定されたフィールドにアクセスできることを確認します。- パラメーター:
field
- null であってはなりません。target
- null であってはなりません。value
-
findConstructor
@DeprecatedSE public static OptionalSE<ConstructorSE<?>> findConstructor(ClassSE<?> type, ObjectSE... constructorArguments) 使用すべきではありません。3.5 以降、戻り値の型は Optional ではなく nullable に変更されます。指定されたコンストラクター引数に一致する、指定された型のコンストラクターを検索します。- パラメーター:
type
- null であってはなりません。constructorArguments
- null であってはなりません。- 戻り値:
- 指定された引数と互換性のある
Constructor
SE。
findRequiredMethod
@DeprecatedSE public static MethodSE findRequiredMethod(ClassSE<?> type, StringSE name, ClassSE<?>... parameterTypes) 使用すべきではありません。3.5 以降、代わりにgetRequiredMethod(Class, String, Class[])
を使用してください。- パラメーター:
type
- null であってはなりません。name
- null であってはなりません。parameterTypes
- null であってはなりません。- 戻り値:
- メソッドオブジェクト。
- 例外:
IllegalArgumentExceptionSE
- メソッドを解決できない場合。
getRequiredMethod
public static MethodSE getRequiredMethod(ClassSE<?> type, StringSE name, ClassSE<?>... parameterTypes) - パラメーター:
type
- null であってはなりません。name
- null であってはなりません。parameterTypes
- null であってはなりません。- 戻り値:
- メソッドオブジェクト。
- 例外:
IllegalArgumentExceptionSE
- メソッドを解決できない場合。- 導入:
- 3.5
returnTypeAndParameters
- パラメーター:
method
- null であってはなりません。- 戻り値:
- 戻り値とパラメーターの型のストリーム。
- 導入:
- 2.0
getMethod
@DeprecatedSE(since="3.5", forRemoval=true) public static OptionalSE<MethodSE> getMethod(ClassSE<?> type, StringSE name, ResolvableType... parameterTypes) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。可能な場合は、指定された型で宣言された指定された名前とパラメーターを持つMethod
SE を返します。- パラメーター:
type
- null であってはなりません。name
- null または空であってはなりません。parameterTypes
- null であってはなりません。- 戻り値:
- オプションのメソッド。
- 導入:
- 2.0
findMethod
@Nullable public static MethodSE findMethod(ClassSE<?> type, StringSE name, ResolvableType... parameterTypes) 可能な場合は、指定された型で宣言された指定された名前とパラメーターを持つMethod
SE を返します。- パラメーター:
type
- null であってはなりません。name
- null または空であってはなりません。parameterTypes
- null であってはなりません。- 戻り値:
- 必要な方法。
- 導入:
- 3.5
isNullable
指定されたMethodParameter
が NULL 可能かどうかを返します。null 可能パラメーターは、参照型であり、Kotlin でそのように定義されているものです。- 戻り値:
MethodParameter
が NULL 可能である場合は true。- 導入:
- 2.0
getPrimitiveDefault
プリミティブ型のデフォルト値を取得します。- パラメーター:
type
- null であってはなりません。- 戻り値:
- ボックス化されたプリミティブのデフォルト値。
- 導入:
- 2.1
loadIfPresent
@Nullable @DeprecatedSE(since="3.5", forRemoval=true) public static ClassSE<?> loadIfPresent(StringSE name, ClassLoaderSE classLoader) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。指定されたClassLoader
SE を使用して、指定された名前でクラスをロードします。- パラメーター:
name
- ロードするクラスの名前。classLoader
- クラスのロードに使用するClassLoader
SE。- 戻り値:
Class
SE、または何らかの理由でクラスをロードできない場合は null。- 導入:
- 2.5