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.

### 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()` Returns whether this property is a child list property (instance of `ChildListPropertyDescriptor`.
`boolean` `isChildProperty()` Returns whether this property is a child property (instance of `ChildPropertyDescriptor`.
`boolean` `isSimpleProperty()` Returns whether this property is a simple property (instance of `SimplePropertyDescriptor`.
`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`

### 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()

Returns whether this property is a simple property (instance of `SimplePropertyDescriptor`.

Returns:
  `true` if this is a simple property, and `false` otherwise

#### isChildProperty

    public final boolean isChildProperty()

Returns whether this property is a child property (instance of `ChildPropertyDescriptor`.

Returns:
  `true` if this is a child property, and `false` otherwise

#### isChildListProperty

    public final boolean isChildListProperty()

Returns whether this property is a child list property (instance of `ChildListPropertyDescriptor`.

Returns:
  `true` if this is a child list property, and `false` otherwise

#### toString

    public java.lang.String toString()

Returns a string suitable for debug purposes.

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