public static interface Path.Node
| Modifier and Type | Method and Description |
|---|---|
<T extends Path.Node> |
as(Class<T> nodeType)
Narrows the type of this node down to the given type.
|
Integer |
getIndex() |
Object |
getKey() |
ElementKind |
getKind()
The kind of element represented by the node.
|
String |
getName()
Returns the name of the element which the node represents:
null if it is a leaf node which represents an entity / bean. |
boolean |
isInIterable() |
String getName()
null if it is a leaf node which represents an entity / bean.
In particular, the node representing the root object.ParameterNameProvider
for a method or constructor parameter.<cross-parameter> for a method or constructor
cross-parameter.<return value> for a method or constructor return
value.boolean isInIterable()
true if the node represents an object contained in an
Iterable or in a Map, false otherwiseInteger getIndex()
List; null otherwiseObject getKey()
Map,
null otherwiseElementKind getKind()
ElementKind and its Node subtype exists:
ElementKind.BEAN: Path.BeanNodeElementKind.PROPERTY: Path.PropertyNodeElementKind.METHOD: Path.MethodNodeElementKind.CONSTRUCTOR: Path.ConstructorNodeElementKind.PARAMETER: Path.ParameterNodeElementKind.CROSS_PARAMETER: Path.CrossParameterNodeElementKind.RETURN_VALUE: Path.ReturnValueNodeNode type 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();
[...]
}
ElementKind<T extends Path.Node> T as(Class<T> nodeType)
getKind().T - the type to narrow down tonodeType - class object representing the descriptor type to narrow down to
toClassCastException - If this node is not assignable to the type TCopyright © 1996-2015, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.