パッケージ org.springframework.core
クラス MethodParameter
java.lang.ObjectSE
org.springframework.core.MethodParameter
- 既知の直属サブクラス
SynthesizingMethodParameter
メソッドパラメーターの仕様をカプセル化するヘルパークラス。つまり、
Method
SE または Constructor
SE に加えて、宣言されたジェネリクス型のパラメーターインデックスとネストされた型インデックス。渡すための仕様オブジェクトとして有用です。4.2 の時点で、属性エイリアスを使用してアノテーションを合成する SynthesizingMethodParameter
サブクラスが利用可能です。そのサブクラスは、特に Web およびメッセージエンドポイントの処理に使用されます。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller, Rob Harrop, Andy Clement, Sam Brannen, Sebastien Deleuze, Phillip Webb
- 関連事項:
コンストラクターのサマリー
コンストラクター説明MethodParameter
(ConstructorSE<?> constructor, int parameterIndex) ネストレベル 1 で、指定されたコンストラクターの新しい MethodParameter を作成します。MethodParameter
(ConstructorSE<?> constructor, int parameterIndex, int nestingLevel) 指定されたコンストラクターの新しい MethodParameter を作成します。MethodParameter
(MethodSE method, int parameterIndex) ネストレベル 1 で、指定されたメソッドの新しいMethodParameter
を作成します。MethodParameter
(MethodSE method, int parameterIndex, int nestingLevel) 指定されたメソッドの新しいMethodParameter
を作成します。MethodParameter
(MethodParameter original) コピーコンストラクター。元のオブジェクトと同じメタデータとキャッシュ状態に基づいて、独立した MethodParameter オブジェクトを作成します。メソッドのサマリー
修飾子と型メソッド説明protected <A extends AnnotationSE>
AadaptAnnotation
(A annotation) 呼び出し元に返す前に特定のアノテーションインスタンスを後処理するテンプレートメソッド。protected AnnotationSE[]
adaptAnnotationArray
(AnnotationSE[] annotations) 呼び出し元に返す前に特定のアノテーション配列を後処理するテンプレートメソッド。clone()
void
使用すべきではありません。boolean
protected static int
findParameterIndex
(ParameterSE parameter) static MethodParameter
forExecutable
(ExecutableSE executable, int parameterIndex) 指定されたメソッドまたはコンストラクターの新しい MethodParameter を作成します。static MethodParameter
forFieldAwareConstructor
(ConstructorSE<?> ctor, int parameterIndex, StringSE fieldName) たとえば、データクラスまたはレコード型で、指定されたフィールド対応コンストラクターの新しい MethodParameter を作成します。static MethodParameter
forMethodOrConstructor
(ObjectSE methodOrConstructor, int parameterIndex) 使用すべきではありません。static MethodParameter
forParameter
(ParameterSE parameter) 指定されたパラメーター記述子の新しい MethodParameter を作成します。ラップされたアノテーション付き要素を返します。ラップされたコンストラクターがある場合はそれを返します。ClassSE<?>
このメソッドパラメーターの包含クラスを返します。ClassSE<?>
基になるメソッドまたはコンストラクターを宣言するクラスを返します。ラップされた実行可能ファイルを返します。メソッド / コンストラクターパラメーターのジェネリクス型を返します。ラップされたメンバーを返します。ラップされたメソッドがあれば返します。<A extends AnnotationSE>
AgetMethodAnnotation
(ClassSE<A> annotationType) 可能な場合、指定された型のメソッド / コンストラクターアノテーションを返します。ターゲットメソッド / コンストラクター自体に関連付けられているアノテーションを返します。メソッド / コンストラクターパラメーターのネストされたジェネリクス型を返します。ClassSE<?>
メソッド / コンストラクターパラメーターのネストされた型を返します。int
対象型のネストレベルを返します (通常は 1。たとえば、リストのリストの場合、1 はネストされたリストを示し、2 はネストされたリストの要素を示します)。メソッド / コンストラクターパラメーターのParameter
SE 記述子を返します。<A extends AnnotationSE>
AgetParameterAnnotation
(ClassSE<A> annotationType) 使用可能な場合、指定された型のパラメーターアノテーションを返します。特定のメソッド / コンストラクターパラメーターに関連付けられているアノテーションを返します。int
メソッド / コンストラクターパラメーターのインデックスを返します。メソッド / コンストラクターのパラメーターの名前を返します。ClassSE<?>
メソッド / コンストラクターのパラメーターの型を返します。現在のネストレベルの型インデックスを返します。getTypeIndexForLevel
(int nestingLevel) 指定されたネストレベルの型インデックスを返します。int
hashCode()
<A extends AnnotationSE>
booleanhasMethodAnnotation
(ClassSE<A> annotationType) メソッド / コンストラクターに指定された型のアノテーションが付けられているかどうかを返します。<A extends AnnotationSE>
booleanhasParameterAnnotation
(ClassSE<A> annotationType) 指定されたアノテーション型でパラメーターが宣言されているかどうかを返します。boolean
パラメーターに少なくとも 1 つのアノテーションがある場合はtrue
を返し、ない場合はfalse
を返します。void
使用すべきではありません。5.2 以降、nested(Integer)
を推奨void
initParameterNameDiscovery
(ParameterNameDiscoverer parameterNameDiscoverer) このメソッドパラメーターのパラメーター名の検出を初期化します。boolean
このメソッドが不要なパラメーターを示しているかどうかを返します: Java 8 のOptional
SE の形式、パラメーターレベルのNullable
アノテーション(JSR-305 または FindBugs のアノテーションセットなど)のいずれかの形式、または言語レベルの nullable Kotlin の型宣言またはContinuation
パラメーター。nested()
このMethodParameter
のバリアントを返します。これは、同じパラメーターを指しますが、ネストレベルが 1 つ深くなります。このMethodParameter
のバリアントを返します。これは、同じパラメーターを指しますが、ネストレベルが 1 つ深くなります。Optional
SE 宣言の場合、同じパラメーターを指しますが、ネストレベルが 1 つ深いこのMethodParameter
のバリアントを返します。void
setTypeIndexForCurrentLevel
(int typeIndex) 使用すべきではありません。5.2 以降、withTypeIndex(int)
を推奨toString()
withContainingClass
(ClassSE<?> containingClass) 指定された包含クラスを参照するこのMethodParameter
のバリアントを返します。withTypeIndex
(int typeIndex) 現在のレベルの型を指定された値に設定して、このMethodParameter
のバリアントを返します。
コンストラクターの詳細
MethodParameter
ネストレベル 1 で、指定されたメソッドの新しいMethodParameter
を作成します。- パラメーター:
method
- パラメーターを指定するメソッドparameterIndex
- パラメーターのインデックス: メソッドの戻り値の型の場合は -1。最初のメソッドパラメーターの場合は 0。2 番目のメソッドパラメーターなどの場合は 1
MethodParameter
指定されたメソッドの新しいMethodParameter
を作成します。- パラメーター:
method
- パラメーターを指定するメソッドparameterIndex
- パラメーターのインデックス: メソッドの戻り値の型の場合は -1。最初のメソッドパラメーターの場合は 0。2 番目のメソッドパラメーターなどの場合は 1nestingLevel
- ターゲット型のネストレベル (通常は 1 です。たとえば、リストのリストの場合、1 はネストされたリストを示し、2 はネストされたリストの要素を示します。)
MethodParameter
ネストレベル 1 で、指定されたコンストラクターの新しい MethodParameter を作成します。- パラメーター:
constructor
- パラメーターを指定するコンストラクターparameterIndex
- パラメーターのインデックス
MethodParameter
指定されたコンストラクターの新しい MethodParameter を作成します。- パラメーター:
constructor
- パラメーターを指定するコンストラクターparameterIndex
- パラメーターのインデックスnestingLevel
- ターゲット型のネストレベル (通常は 1 です。たとえば、リストのリストの場合、1 はネストされたリストを示し、2 はネストされたリストの要素を示します。)
MethodParameter
コピーコンストラクター。元のオブジェクトと同じメタデータとキャッシュ状態に基づいて、独立した MethodParameter オブジェクトを作成します。- パラメーター:
original
- コピー元の MethodParameter オブジェクト
メソッドの詳細
getMethod
ラップされたメソッドがあれば返します。メモ: Method または Constructor のいずれかを使用できます。
- 戻り値:
- メソッド、または存在しない場合は
null
getConstructor
ラップされたコンストラクターがある場合はそれを返します。メモ: Method または Constructor のいずれかを使用できます。
- 戻り値:
- コンストラクター、または存在しない場合は
null
getDeclaringClass
基になるメソッドまたはコンストラクターを宣言するクラスを返します。getMember
ラップされたメンバーを返します。- 戻り値:
- メンバーとしてのメソッドまたはコンストラクター
getAnnotatedElement
ラップされたアノテーション付き要素を返します。メモ: このメソッドは、メソッド / コンストラクター自体で(つまり、パラメーターレベルではなく、メソッド / コンストラクターレベルで)宣言されたアノテーションを公開します。
AnnotatedElement
SE をパラメーターレベルで取得するには、getParameter()
を使用します。- 戻り値:
- AnnotatedElement としてのメソッドまたはコンストラクター
getExecutable
ラップされた実行可能ファイルを返します。- 戻り値:
- メソッドまたはコンストラクターを実行可能ファイルとして
- 導入:
- 5.0
getParameter
メソッド / コンストラクターパラメーターのParameter
SE 記述子を返します。- 導入:
- 5.0
getParameterIndex
public int getParameterIndex()メソッド / コンストラクターパラメーターのインデックスを返します。- 戻り値:
- パラメーターインデックス (-1 戻り型の場合)
increaseNestingLevel
使用すべきではありません。5.2 以降、nested(Integer)
を推奨このパラメーターのネストレベルを上げます。- 関連事項:
decreaseNestingLevel
使用すべきではありません。5.2 は元の MethodParameter を保持し、ネストが必要な場合はnested(Integer)
を使用するためこのパラメーターのネストレベルを下げます。- 関連事項:
getNestingLevel
public int getNestingLevel()対象型のネストレベルを返します (通常は 1。たとえば、リストのリストの場合、1 はネストされたリストを示し、2 はネストされたリストの要素を示します)。withTypeIndex
現在のレベルの型を指定された値に設定して、このMethodParameter
のバリアントを返します。- パラメーター:
typeIndex
- 新しい型のインデックス- 導入:
- 5.2
setTypeIndexForCurrentLevel
使用すべきではありません。5.2 以降、withTypeIndex(int)
を推奨現在のネストレベルの型インデックスを設定します。- パラメーター:
typeIndex
- 対応する型インデックス (または、デフォルトの型インデックスの場合はnull
)- 関連事項:
getTypeIndexForCurrentLevel
現在のネストレベルの型インデックスを返します。- 戻り値:
- 対応する型インデックス、または指定されていない場合は
null
(デフォルトの型インデックスを示す) - 関連事項:
getTypeIndexForLevel
指定されたネストレベルの型インデックスを返します。- パラメーター:
nestingLevel
- チェックするネストレベル- 戻り値:
- 対応する型インデックス、または指定されていない場合は
null
(デフォルトの型インデックスを示す)
nested
このMethodParameter
のバリアントを返します。これは、同じパラメーターを指しますが、ネストレベルが 1 つ深くなります。- 導入:
- 4.3
nested
このMethodParameter
のバリアントを返します。これは、同じパラメーターを指しますが、ネストレベルが 1 つ深くなります。- パラメーター:
typeIndex
- 新しいネストレベルの型インデックス- 導入:
- 5.2
isOptional
public boolean isOptional()このメソッドが不要なパラメーターを示しているかどうかを返します: Java 8 のOptional
SE の形式、パラメーターレベルのNullable
アノテーション(JSR-305 または FindBugs のアノテーションセットなど)のいずれかの形式、または言語レベルの nullable Kotlin の型宣言またはContinuation
パラメーター。- 導入:
- 4.3
nestedIfOptional
Optional
SE 宣言の場合、同じパラメーターを指しますが、ネストレベルが 1 つ深いこのMethodParameter
のバリアントを返します。- 導入:
- 4.3
- 関連事項:
withContainingClass
指定された包含クラスを参照するこのMethodParameter
のバリアントを返します。- パラメーター:
containingClass
- 特定の包含クラス (宣言クラスのサブクラスになる可能性があります。たとえば、型変数を置き換えるなど。)- 導入:
- 5.2
- 関連事項:
getContainingClass
このメソッドパラメーターの包含クラスを返します。- 戻り値:
- 特定の包含クラス(潜在的に宣言クラスのサブクラス)、または単に宣言クラス自体
- 関連事項:
getParameterType
メソッド / コンストラクターのパラメーターの型を返します。- 戻り値:
- パラメーター型 (非
null
)
getGenericParameterType
メソッド / コンストラクターパラメーターのジェネリクス型を返します。- 戻り値:
- パラメーター型 (非
null
) - 導入:
- 3.0
getNestedParameterType
メソッド / コンストラクターパラメーターのネストされた型を返します。- 戻り値:
- パラメーター型 (非
null
) - 導入:
- 3.1
- 関連事項:
getNestedGenericParameterType
メソッド / コンストラクターパラメーターのネストされたジェネリクス型を返します。- 戻り値:
- パラメーター型 (非
null
) - 導入:
- 4.2
- 関連事項:
getMethodAnnotations
ターゲットメソッド / コンストラクター自体に関連付けられているアノテーションを返します。getMethodAnnotation
可能な場合、指定された型のメソッド / コンストラクターアノテーションを返します。- パラメーター:
annotationType
- 検索するアノテーション型- 戻り値:
- アノテーションオブジェクト、または見つからない場合は
null
hasMethodAnnotation
メソッド / コンストラクターに指定された型のアノテーションが付けられているかどうかを返します。- パラメーター:
annotationType
- 検索するアノテーション型- 導入:
- 4.3
- 関連事項:
getParameterAnnotations
特定のメソッド / コンストラクターパラメーターに関連付けられているアノテーションを返します。hasParameterAnnotations
public boolean hasParameterAnnotations()パラメーターに少なくとも 1 つのアノテーションがある場合はtrue
を返し、ない場合はfalse
を返します。getParameterAnnotation
使用可能な場合、指定された型のパラメーターアノテーションを返します。- パラメーター:
annotationType
- 検索するアノテーション型- 戻り値:
- アノテーションオブジェクト、または見つからない場合は
null
hasParameterAnnotation
指定されたアノテーション型でパラメーターが宣言されているかどうかを返します。- パラメーター:
annotationType
- 検索するアノテーション型- 関連事項:
initParameterNameDiscovery
このメソッドパラメーターのパラメーター名の検出を初期化します。このメソッドは、実際にはこの時点でパラメーター名を取得しようとしません。アプリケーションが
getParameterName()
を呼び出したときにディスカバリが発生するようにします(もしあれば)。getParameterName
メソッド / コンストラクターのパラメーターの名前を返します。- 戻り値:
- パラメーター名 (クラスファイルにパラメーター名のメタデータが含まれていない場合、または
ParameterNameDiscoverer
が始まるように設定されていない場合は、null
になります。)
adaptAnnotation
呼び出し元に返す前に特定のアノテーションインスタンスを後処理するテンプレートメソッド。デフォルトの実装は、指定されたアノテーションをそのまま返すだけです。
- パラメーター:
annotation
- 返されるアノテーション- 戻り値:
- 後処理されたアノテーション (または単に元のもの)
- 導入:
- 4.2
adaptAnnotationArray
呼び出し元に返す前に特定のアノテーション配列を後処理するテンプレートメソッド。デフォルトの実装は、指定されたアノテーション配列をそのまま返すだけです。
- パラメーター:
annotations
- 返されようとしているアノテーション配列- 戻り値:
- 後処理されたアノテーション配列 (または単に元のもの)
- 導入:
- 4.2
equals
hashCode
public int hashCode()toString
clone
forMethodOrConstructor
@DeprecatedSE public static MethodParameter forMethodOrConstructor(ObjectSE methodOrConstructor, int parameterIndex) 使用すべきではありません。指定されたメソッドまたはコンストラクターの新しい MethodParameter を作成します。これは、メソッドまたはコンストラクターの参照が一般的な方法で処理されるシナリオの便利なファクトリメソッドです。
- パラメーター:
methodOrConstructor
- パラメーターを指定するメソッドまたはコンストラクターparameterIndex
- パラメーターのインデックス- 戻り値:
- 対応する MethodParameter インスタンス
forExecutable
指定されたメソッドまたはコンストラクターの新しい MethodParameter を作成します。これは、メソッドまたはコンストラクターの参照が一般的な方法で処理されるシナリオの便利なファクトリメソッドです。
- パラメーター:
executable
- パラメーターを指定するメソッドまたはコンストラクターparameterIndex
- パラメーターのインデックス- 戻り値:
- 対応する MethodParameter インスタンス
- 導入:
- 5.0
forParameter
指定されたパラメーター記述子の新しい MethodParameter を作成します。これは、Java 8
Parameter
SE 記述子がすでに利用可能なシナリオの便利なファクトリメソッドです。- パラメーター:
parameter
- パラメーター記述子- 戻り値:
- 対応する MethodParameter インスタンス
- 導入:
- 5.0
findParameterIndex
forFieldAwareConstructor
public static MethodParameter forFieldAwareConstructor(ConstructorSE<?> ctor, int parameterIndex, StringSE fieldName) たとえば、データクラスまたはレコード型で、指定されたフィールド対応コンストラクターの新しい MethodParameter を作成します。フィールド対応メソッドパラメーターは、フィールド名がパラメーター名と一致する限り、フィールドアノテーションも検出します。
- パラメーター:
ctor
- パラメーターを指定するコンストラクターparameterIndex
- パラメーターのインデックスfieldName
- コンストラクターのパラメーター名と一致する、基になるフィールドの名前- 戻り値:
- 対応する MethodParameter インスタンス
- 導入:
- 6.1
nested(Integer)
を使用するため