### *** This interface provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.events.broker.flowengine

# Interface ProcessNodeHandlerInterface

All Superinterfaces:
  `Remote`, `ResponseHandlerInterface`

@SASScope("ALL") @BinaryCompatibilityOnly public interface ProcessNodeHandlerInterface extends ResponseHandlerInterface
Interface to the runtime flowengine for propagating messages from one process node to another.

For more information about the runtime flowengine, refer to its package description.

## Usage

Process node user code will communicate to the runtime flow engine through this interface in order to propagate messages to other nodes in a process flow.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getOwningBroker()`
  Process nodes can obtain the broker that is executing the process flow to which it is associated.
  `void`
  `propagate(String name, MessageInterface output)`
  Process nodes "plug-ins" propagate their output in a process flow by by specifying the name of the output and the `message` they wish to propagate.

  ### Methods inherited from interface com.sas.services.events.broker.flowengine.ResponseHandlerInterface

  `isResponseRequired, log, setResponse, setResponse, setResponse`

- ## Method Details

  - ### propagate

    void propagate(String name, MessageInterface output) throws InvalidOutputException, RemoteException
    Process nodes "plug-ins" propagate their output in a process flow by by specifying the name of the output and the `message` they wish to propagate.
    Parameters:
      `name` - name of output.
      `output` - message to propagate.
    Throws:
      `InvalidOutputException` - If name of message or message itself is invalid.
      `RemoteException`
    See Also:
      - `MessageInterface`

  - ### getOwningBroker

    Object getOwningBroker() throws RemoteException
    Process nodes can obtain the broker that is executing the process flow to which it is associated. The returned object should be cast to either a `EventBrokerServiceInterface` if it is desired to fire a new event from the processing node or a `ListenerRegisterInterface` if it desired to listen for a new event.
    Returns:
      owning broker.
    Throws:
      `RemoteException`