Package org.jbpm.workflow.core.impl

## Class NodeImpl

- java.lang.Object
- - org.jbpm.workflow.core.impl.NodeImpl

- All Implemented Interfaces:
    `Serializable`, `Contextable`, `ContextResolver`, `Node`, `org.kie.api.definition.process.Node`
  Direct Known Subclasses:
    `CompositeNode.CompositeNodeEnd`, `CompositeNode.CompositeNodeStart`, `ExtendedNodeImpl`, `Join`, `Split`

      public abstract class NodeImpl
      extends Object
      implements Node, Serializable, ContextResolver

  Default implementation of a node.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<ConnectionRef,​Constraint>` | `constraints` |
    `protected static NodeImpl[]` | `EMPTY_NODE_ARRAY` |

    - ### Fields inherited from interface org.jbpm.workflow.core.Node

      `CONNECTION_DEFAULT_TYPE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `` | `NodeImpl()` |
    `protected` | `NodeImpl​(org.kie.api.definition.process.NodeType nodeType)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addConstraint​(ConnectionRef connectionRef, Constraint constraint)` |
    `void` | `addIncomingConnection​(String type, org.kie.api.definition.process.Connection connection)` |
    `void` | `addOutgoingConnection​(String type, org.kie.api.definition.process.Connection connection)` |
    `void` | `clearIncomingConnection()` |
    `void` | `clearOutgoingConnection()` |
    `Constraint` | `getConstraint​(org.kie.api.definition.process.Connection connection)` |
    `Map<ConnectionRef,​Constraint>` | `getConstraints()` |
    `Context` | `getContext​(String contextId)` |
    `List<org.kie.api.definition.process.Connection>` | `getDefaultIncomingConnections()` | Helper method for nodes that have multiple default incoming connections
    `List<org.kie.api.definition.process.Connection>` | `getDefaultOutgoingConnections()` | Helper method for nodes that have multiple default outgoing connections
    `org.kie.api.definition.process.Connection` | `getFrom()` | Helper method for nodes that have at most one default incoming connection
    `long` | `getId()` |
    `Map<String,​List<org.kie.api.definition.process.Connection>>` | `getIncomingConnections()` |
    `List<org.kie.api.definition.process.Connection>` | `getIncomingConnections​(String type)` |
    `Map<String,​Object>` | `getMetaData()` |
    `Object` | `getMetaData​(String name)` |
    `String` | `getName()` |
    `org.kie.api.definition.process.NodeContainer` | `getNodeContainer()` |
    `org.kie.api.definition.process.NodeType` | `getNodeType()` |
    `String` | `getNodeUniqueId()` |
    `Map<String,​List<org.kie.api.definition.process.Connection>>` | `getOutgoingConnections()` |
    `List<org.kie.api.definition.process.Connection>` | `getOutgoingConnections​(String type)` |
    `org.kie.api.definition.process.Connection` | `getTo()` | Helper method for nodes that have at most one default outgoing connection
    `String` | `getUniqueId()` |
    `Constraint` | `internalGetConstraint​(ConnectionRef ref)` |
    `void` | `removeIncomingConnection​(String type, org.kie.api.definition.process.Connection connection)` |
    `void` | `removeOutgoingConnection​(String type, org.kie.api.definition.process.Connection connection)` |
    `Context` | `resolveContext​(String contextId, Object param)` |
    `void` | `setConstraint​(org.kie.api.definition.process.Connection connection, Constraint constraint)` |
    `void` | `setContext​(String contextId, Context context)` |
    `void` | `setId​(long id)` | Method for setting the id of the node
    `void` | `setMetaData​(String name, Object value)` |
    `void` | `setMetaData​(Map<String,​Object> metaData)` |
    `void` | `setName​(String name)` | Method for setting the name of the node
    `void` | `setNodeContainer​(org.kie.api.definition.process.NodeContainer nodeContainer)` |
    `protected void` | `setNodeType​(org.kie.api.definition.process.NodeType nodeType)` |
    `void` | `validateAddIncomingConnection​(String type, org.kie.api.definition.process.Connection connection)` |
    `void` | `validateAddOutgoingConnection​(String type, org.kie.api.definition.process.Connection connection)` |
    `void` | `validateRemoveIncomingConnection​(String type, org.kie.api.definition.process.Connection connection)` |
    `void` | `validateRemoveOutgoingConnection​(String type, org.kie.api.definition.process.Connection connection)` |

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

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

- - ### Field Detail

    - #### EMPTY_NODE_ARRAY

          protected static final NodeImpl[] EMPTY_NODE_ARRAY

    - #### constraints

          protected Map<ConnectionRef,​Constraint> constraints

  - ### Constructor Detail

    - #### NodeImpl

          public NodeImpl()

    - #### NodeImpl

          protected NodeImpl​(org.kie.api.definition.process.NodeType nodeType)

  - ### Method Detail

    - #### getId

          public long getId()

      Specified by:
        `getId` in interface `org.kie.api.definition.process.Node`

    - #### getNodeType

          public org.kie.api.definition.process.NodeType getNodeType()

      Specified by:
        `getNodeType` in interface `org.kie.api.definition.process.Node`

    - #### setNodeType

          protected void setNodeType​(org.kie.api.definition.process.NodeType nodeType)

    - #### getNodeUniqueId

          public String getNodeUniqueId()

      Specified by:
        `getNodeUniqueId` in interface `org.kie.api.definition.process.Node`

    - #### getUniqueId

          public String getUniqueId()

      Specified by:
        `getUniqueId` in interface `Node`

    - #### setId

          public void setId​(long id)

      Description copied from interface: `Node`
      Method for setting the id of the node
      Specified by:
        `setId` in interface `Node`
      Parameters:
        `id` - the id of the node

    - #### getName

          public String getName()

      Specified by:
        `getName` in interface `org.kie.api.definition.process.Node`

    - #### setName

          public void setName​(String name)

      Description copied from interface: `Node`
      Method for setting the name of the node
      Specified by:
        `setName` in interface `Node`
      Parameters:
        `name` - the name of the node

    - #### getIncomingConnections

          public Map<String,​List<org.kie.api.definition.process.Connection>> getIncomingConnections()

      Specified by:
        `getIncomingConnections` in interface `org.kie.api.definition.process.Node`

    - #### getOutgoingConnections

          public Map<String,​List<org.kie.api.definition.process.Connection>> getOutgoingConnections()

      Specified by:
        `getOutgoingConnections` in interface `org.kie.api.definition.process.Node`

    - #### addIncomingConnection

          public void addIncomingConnection​(String type,
                                            org.kie.api.definition.process.Connection connection)

      Specified by:
        `addIncomingConnection` in interface `Node`

    - #### validateAddIncomingConnection

          public void validateAddIncomingConnection​(String type,
                                                    org.kie.api.definition.process.Connection connection)

    - #### getIncomingConnections

          public List<org.kie.api.definition.process.Connection> getIncomingConnections​(String type)

      Specified by:
        `getIncomingConnections` in interface `org.kie.api.definition.process.Node`

    - #### addOutgoingConnection

          public void addOutgoingConnection​(String type,
                                            org.kie.api.definition.process.Connection connection)

      Specified by:
        `addOutgoingConnection` in interface `Node`

    - #### validateAddOutgoingConnection

          public void validateAddOutgoingConnection​(String type,
                                                    org.kie.api.definition.process.Connection connection)

    - #### getOutgoingConnections

          public List<org.kie.api.definition.process.Connection> getOutgoingConnections​(String type)

      Specified by:
        `getOutgoingConnections` in interface `org.kie.api.definition.process.Node`

    - #### removeIncomingConnection

          public void removeIncomingConnection​(String type,
                                               org.kie.api.definition.process.Connection connection)

      Specified by:
        `removeIncomingConnection` in interface `Node`

    - #### clearIncomingConnection

          public void clearIncomingConnection()

    - #### clearOutgoingConnection

          public void clearOutgoingConnection()

    - #### validateRemoveIncomingConnection

          public void validateRemoveIncomingConnection​(String type,
                                                       org.kie.api.definition.process.Connection connection)

    - #### removeOutgoingConnection

          public void removeOutgoingConnection​(String type,
                                               org.kie.api.definition.process.Connection connection)

      Specified by:
        `removeOutgoingConnection` in interface `Node`

    - #### validateRemoveOutgoingConnection

          public void validateRemoveOutgoingConnection​(String type,
                                                       org.kie.api.definition.process.Connection connection)

    - #### getFrom

          public org.kie.api.definition.process.Connection getFrom()

      Helper method for nodes that have at most one default incoming connection

    - #### getTo

          public org.kie.api.definition.process.Connection getTo()

      Helper method for nodes that have at most one default outgoing connection

    - #### getDefaultIncomingConnections

          public List<org.kie.api.definition.process.Connection> getDefaultIncomingConnections()

      Helper method for nodes that have multiple default incoming connections

    - #### getDefaultOutgoingConnections

          public List<org.kie.api.definition.process.Connection> getDefaultOutgoingConnections()

      Helper method for nodes that have multiple default outgoing connections

    - #### getNodeContainer

          public org.kie.api.definition.process.NodeContainer getNodeContainer()

      Specified by:
        `getNodeContainer` in interface `org.kie.api.definition.process.Node`

    - #### setNodeContainer

          public void setNodeContainer​(org.kie.api.definition.process.NodeContainer nodeContainer)

      Specified by:
        `setNodeContainer` in interface `Node`

    - #### setContext

          public void setContext​(String contextId,
                                 Context context)

      Specified by:
        `setContext` in interface `Contextable`

    - #### getContext

          public Context getContext​(String contextId)

      Specified by:
        `getContext` in interface `Contextable`

    - #### resolveContext

          public Context resolveContext​(String contextId,
                                        Object param)

      Specified by:
        `resolveContext` in interface `ContextResolver`

    - #### setMetaData

          public void setMetaData​(String name,
                                  Object value)

      Specified by:
        `setMetaData` in interface `Node`

    - #### getMetaData

          public Object getMetaData​(String name)

    - #### getMetaData

          public Map<String,​Object> getMetaData()

      Specified by:
        `getMetaData` in interface `org.kie.api.definition.process.Node`

    - #### setMetaData

          public void setMetaData​(Map<String,​Object> metaData)

    - #### getConstraint

          public Constraint getConstraint​(org.kie.api.definition.process.Connection connection)

    - #### internalGetConstraint

          public Constraint internalGetConstraint​(ConnectionRef ref)

    - #### setConstraint

          public void setConstraint​(org.kie.api.definition.process.Connection connection,
                                    Constraint constraint)

    - #### addConstraint

          public void addConstraint​(ConnectionRef connectionRef,
                                    Constraint constraint)

    - #### getConstraints

          public Map<ConnectionRef,​Constraint> getConstraints()