Package org.kie.api.fluent

## Interface NodeBuilder<T extends NodeBuilder<T,​P>,​P extends NodeContainerBuilder<P,​?>>

- Type Parameters:
    `T` - concrete node instance
    `P` - container parent node
  All Known Subinterfaces:
    `ActionNodeBuilder<T>`, `BoundaryEventNodeBuilder<T>`, `CompositeNodeBuilder<T>`, `DynamicNodeBuilder<T>`, `EndNodeBuilder<T>`, `EventNodeBuilder<T>`, `FaultNodeBuilder<T>`, `ForEachNodeBuilder<T>`, `HumanTaskNodeBuilder<T>`, `JoinNodeBuilder<T>`, `MilestoneNodeBuilder<T>`, `NodeContainerBuilder<T,​P>`, `ProcessBuilder`, `RuleSetNodeBuilder<T>`, `SplitNodeBuilder<T>`, `StartNodeBuilder<T>`, `SubProcessNodeBuilder<T>`, `TimerNodeBuilder<T>`, `WorkItemNodeBuilder<T>`

      public interface NodeBuilder<T extends NodeBuilder<T,​P>,​P extends NodeContainerBuilder<P,​?>>

  Contains common operations for all nodes, basically naming, metadata and definition completion.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `P` | `done()` | Method to notify that definition of this node is done
    `T` | `name​(java.lang.String name)` |
    `T` | `setMetadata​(java.lang.String key, java.lang.Object value)` |

- - ### Method Detail

    - #### done

          P done()

      Method to notify that definition of this node is done
      Returns:
        container parent node

    - #### name

          T name​(java.lang.String name)

    - #### setMetadata

          T setMetadata​(java.lang.String key,
                        java.lang.Object value)