パッケージ jakarta.validation
インターフェース Path.Node
- すべての既知のサブインターフェース:
Path.BeanNode
、Path.ConstructorNode
、Path.ContainerElementNode
、Path.CrossParameterNode
、Path.MethodNode
、Path.ParameterNode
、Path.PropertyNode
、Path.ReturnValueNode
- 含まれているインターフェース:
- Path
public static interface Path.Node
ナビゲーションパスの要素を表します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 <T extends Path.Node>
Tas(ClassSE<T> nodeType)
このノードの型を指定された型に絞り込みます。IntegerSE
getIndex()
ObjectSE
getKey()
ElementKind
getKind()
ノードによって表される要素の種類。StringSE
getName()
ノードが表す要素の名前を返します。エンティティ / Bean を表すリーフノードの場合はnull
。boolean
isInIterable()
StringSE
toString()
このノードの人間が読める表現を返します。
メソッドの詳細
getName
StringSE getName()
ノードが表す要素の名前を返します。- エンティティ / Bean を表すリーフノードの場合は
null
。特に、ルートオブジェクトを表すノード。 - プロパティのプロパティ名。
- メソッドのメソッド名。
- コンストラクターのコンストラクターを宣言する型の非修飾名。
- メソッドまたはコンストラクターパラメーターの
ParameterNameProvider
によって定義された名前のパラメーター。 - メソッドまたはコンストラクターのクロスパラメーターのリテラル
<cross-parameter>
。 - メソッドまたはコンストラクターの戻り値のリテラル
<return value>
。 - コンテナー要素の
ValueExtractor
によって定義されたノード名。具体的には、リストに格納されている要素のリテラル<list element>
、Iterable
に格納されている要素のリテラル<iterable element>
、Map
に格納されているキーのリテラル<map key>
、およびMap
に格納されている値のリテラル<map value>
です。
- 戻り値:
- ノードが表す要素の名前
- エンティティ / Bean を表すリーフノードの場合は
isInIterable
boolean isInIterable()
- 戻り値:
- ノードが
Iterable
、Map
、配列などの複数値コンテナーに含まれるオブジェクトを表す場合はtrue
、それ以外の場合はfalse
getIndex
IntegerSE getIndex()
- 戻り値:
- 配列、
List
、インデックス付きアクセスをサポートするその他のコンテナーに含まれている場合はノードが配置されるインデックス、それ以外の場合はnull
getKey
ObjectSE getKey()
- 戻り値:
Map
またはキー付きアクセスをサポートするその他のコンテナーに含まれている場合はノードが配置されるキー、それ以外の場合はnull
getKind
ElementKind getKind()
ノードによって表される要素の種類。ElementKind
とそのNode
サブ型の間には次の関連があります。ElementKind.BEAN
:Path.BeanNode
ElementKind.PROPERTY
:Path.PropertyNode
ElementKind.METHOD
:Path.MethodNode
ElementKind.CONSTRUCTOR
:Path.ConstructorNode
ElementKind.PARAMETER
:Path.ParameterNode
ElementKind.CROSS_PARAMETER
:Path.CrossParameterNode
ElementKind.RETURN_VALUE
:Path.ReturnValueNode
ElementKind.CONTAINER_ELEMENT
:Path.ContainerElementNode
これは、
Node
型を絞り込み、ノード固有の情報にアクセスできます。switch(node.getKind() { case METHOD: name = node.getName(); params = node.as(MethodNode.class).getParameterTypes(); case PARAMETER: index = node.as(ParameterNode.class).getParameterIndex(); [...] }
- 戻り値:
ElementKind
- 導入:
- 1.1
as
<T extends Path.Node> T as(ClassSE<T> nodeType)
このノードの型を指定された型に絞り込みます。getKind()
を呼び出して、適切な型を事前に確認する必要があります。- 型パラメーター:
T
- 絞り込む型- パラメーター:
nodeType
- 絞り込む記述子型を表すクラスオブジェクト- 戻り値:
- このノードは、指定された型に絞り込まれました。
- 例外:
ClassCastExceptionSE
- このノードが型T
に割り当てられない場合- 導入:
- 1.1