Package javax.validation
Interface Path.Node
- All Known Subinterfaces:
Path.BeanNode,Path.ConstructorNode,Path.CrossParameterNode,Path.MethodNode,Path.ParameterNode,Path.PropertyNode,Path.ReturnValueNode
- Enclosing interface:
- Path
public static interface Path.Node
Represents an element of a navigation path.
-
Method Summary
Modifier and TypeMethodDescription<T extends Path.Node>
TNarrows the type of this node down to the given type.getIndex()getKey()getKind()The kind of element represented by the node.getName()Returns the name of the element which the node represents:nullif it is a leaf node which represents an entity / bean.boolean
-
Method Details
-
getName
String getName()Returns the name of the element which the node represents:nullif it is a leaf node which represents an entity / bean. In particular, the node representing the root object.- The property name for a property.
- The method name for a method.
- The unqualified name of the type declaring the constructor for a constructor.
- The parameter named as defined by the
ParameterNameProviderfor a method or constructor parameter. - The literal
<cross-parameter>for a method or constructor cross-parameter. - The literal
<return value>for a method or constructor return value.
- Returns:
- name of the element which the node represents
-
isInIterable
boolean isInIterable()- Returns:
trueif the node represents an object contained in anIterableor in aMap,falseotherwise
-
getIndex
Integer getIndex()- Returns:
- the index the node is placed in if contained in an array or
List;nullotherwise
-
getKey
Object getKey()- Returns:
- the key the node is placed in if contained in a
Map,nullotherwise
-
getKind
ElementKind getKind()The kind of element represented by the node. The following relationship between anElementKindand itsNodesubtype exists:ElementKind.BEAN:Path.BeanNodeElementKind.PROPERTY:Path.PropertyNodeElementKind.METHOD:Path.MethodNodeElementKind.CONSTRUCTOR:Path.ConstructorNodeElementKind.PARAMETER:Path.ParameterNodeElementKind.CROSS_PARAMETER:Path.CrossParameterNodeElementKind.RETURN_VALUE:Path.ReturnValueNode
Nodetype and access node specific information:switch(node.getKind() { case METHOD: name = node.getName(); params = node.as(MethodNode.class).getParameterTypes(); case PARAMETER: index = node.as(ParameterNode.class).getParameterIndex(); [...] }- Returns:
- the
ElementKind - Since:
- 1.1
-
as
Narrows the type of this node down to the given type. The appropriate type should be checked before by callinggetKind().- Type Parameters:
T- the type to narrow down to- Parameters:
nodeType- class object representing the descriptor type to narrow down to to- Returns:
- this node narrowed down to the given type.
- Throws:
ClassCastException- If this node is not assignable to the typeT- Since:
- 1.1
-