Package org.eclipse.jdt.core.dom

# Class ChildListPropertyDescriptor

java.lang.Object
org.eclipse.jdt.core.dom.StructuralPropertyDescriptor
org.eclipse.jdt.core.dom.ChildListPropertyDescriptor

public final class ChildListPropertyDescriptor extends StructuralPropertyDescriptor
Descriptor for a child list property of an AST node. A child list property is one whose value is a list of `ASTNode`.

Since:
  3.0
See Also:
  - `ASTNode.getStructuralProperty(StructuralPropertyDescriptor)`
Restriction:
  This class is not intended to be instantiated by clients.

## Method Summary

Modifier and Type
Method
Description
`final boolean`
`cycleRisk()`
Returns whether this property is vulnerable to cycles.
`final Class`
`getElementType()`
Returns the element type of this list property.

### Methods inherited from class org.eclipse.jdt.core.dom.StructuralPropertyDescriptor

`getId, getNodeClass, isChildListProperty, isChildProperty, isSimpleProperty, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Method Details

### getElementType

public final Class getElementType()
Returns the element type of this list property.

For example, for a node type like CompilationUnit, the "imports" property returns `ImportDeclaration.class`.

Returns:
  the element type of the property

### cycleRisk

public final boolean cycleRisk()
Returns whether this property is vulnerable to cycles.

A property is vulnerable to cycles if a node of the owning type (that is, the type that owns this property) could legally appear in the AST subtree below this property. For example, the body property of a `MethodDeclaration` node admits a body which might include statement that embeds another `MethodDeclaration` node. On the other hand, the name property of a MethodDeclaration node admits only names, and thereby excludes another MethodDeclaration node.

Returns:
  `true` if cycles are possible, and `false` if cycles are impossible