org.eclipse.wst.jsdt.core.dom

## Class StructuralPropertyDescriptor

- java.lang.Object
- - org.eclipse.wst.jsdt.core.dom.StructuralPropertyDescriptor

Direct Known Subclasses:
  ChildListPropertyDescriptor, ChildPropertyDescriptor, SimplePropertyDescriptor

    public abstract class StructuralPropertyDescriptor
    extends java.lang.Object

Abstract base class for property descriptors of AST nodes. There are three kinds of properties:

- simple properties (`SimplePropertyDescriptor`) - properties where the value is a primitive (int, boolean) or simple (String, InfixExprsssion.Operator) type other than an AST node; for example, the identifier of a `SimpleName`
- child properties (`ChildPropertyDescriptor`) - properties whose value is another AST node; for example, the name of a `FunctionDeclaration`
- child list properties (`ChildListPropertyDescriptor`) - properties where the value is a list of AST nodes; for example, the statements of a `Block`

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Property Summary

All Methods Instance Methods Concrete Methods
`boolean` `isChildList` Gets the value of the property childListProperty.
`boolean` `isChild` Gets the value of the property childProperty.
`boolean` `isSimple` Gets the value of the property simpleProperty.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getId()` Returns the id of this property.
`java.lang.Class` `getNodeClass()` Returns the AST node type that owns this property.
`boolean` `isChildListProperty()` Gets the value of the property childListProperty.
`boolean` `isChildProperty()` Gets the value of the property childProperty.
`boolean` `isSimpleProperty()` Gets the value of the property simpleProperty.
`java.lang.String` `toString()` Returns a string suitable for debug purposes.

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

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

### Property Detail

#### isSimple

    public final boolean isSimpleProperty

Gets the value of the property simpleProperty.

#### isChild

    public final boolean isChildProperty

Gets the value of the property childProperty.

#### isChildList

    public final boolean isChildListProperty

Gets the value of the property childListProperty.

### Method Detail

#### getId

    public final java.lang.String getId()

Returns the id of this property.

Returns:
  the property id

#### getNodeClass

    public final java.lang.Class getNodeClass()

Returns the AST node type that owns this property.

For example, for all properties of the node type TypeDeclaration, this method returns `TypeDeclaration.class`.

Returns:
  the node type that owns this property

#### isSimpleProperty

    public final boolean isSimpleProperty()

Gets the value of the property simpleProperty.

#### isChildProperty

    public final boolean isChildProperty()

Gets the value of the property childProperty.

#### isChildListProperty

    public final boolean isChildListProperty()

Gets the value of the property childListProperty.

#### toString

    public java.lang.String toString()

Returns a string suitable for debug purposes.

Overrides:
  `toString` in class `java.lang.Object`
Returns: