Package org.kie.api.runtime.manager

## Interface RegisterableItemsFactory

-     public interface RegisterableItemsFactory

  Factory that is used by `RuntimeManager` to configure `RuntimeEngine` (especially KieSession) with various registerable items:
  - Work item handlers
  - Process event listeners
  - Agenda event listeners
  - Working memory event listeners
  Implementations of this interface shall decide what shall be registered for given `RuntimeEngine`. If there are any needs to be bound handlers or listeners to eny parts of runtime engine these can be obtained:
  - KieSession
  - TaskService
  Although it's possible to get individual instance from runtime engine it's recommended to use `RuntimeEngine` instance instead to allow most flexible behavior.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<AgendaEventListener>` | `getAgendaEventListeners​(RuntimeEngine runtime)` | Returns new instances of `AgendaEventListener` that will be registered on `RuntimeEngine`
    `Map<String,​Object>` | `getGlobals​(RuntimeEngine runtime)` | Returns globals that shall be registered on `KieSession`.
    `List<ProcessEventListener>` | `getProcessEventListeners​(RuntimeEngine runtime)` | Returns new instances of `ProcessEventListener` that will be registered on `RuntimeEngine`
    `List<RuleRuntimeEventListener>` | `getRuleRuntimeEventListeners​(RuntimeEngine runtime)` | Returns new instances of `RuleRuntimeEventListener` that will be registered on `RuntimeEngine`
    `List<TaskLifeCycleEventListener>` | `getTaskListeners()` |
    `Map<String,​WorkItemHandler>` | `getWorkItemHandlers​(RuntimeEngine runtime)` | Returns new instances of `WorkItemHandler` that will be registered on `RuntimeEngine`

- - ### Method Detail

    - #### getWorkItemHandlers

          Map<String,​WorkItemHandler> getWorkItemHandlers​(RuntimeEngine runtime)

      Returns new instances of `WorkItemHandler` that will be registered on `RuntimeEngine`
      Parameters:
        `runtime` - provides `RuntimeEngine` in case handler need to make use of it internally
      Returns:
        map of handlers to be registered - in case of no handlers empty map shall be returned.

    - #### getProcessEventListeners

          List<ProcessEventListener> getProcessEventListeners​(RuntimeEngine runtime)

      Returns new instances of `ProcessEventListener` that will be registered on `RuntimeEngine`
      Parameters:
        `runtime` - provides `RuntimeEngine` in case listeners need to make use of it internally
      Returns:
        list of listeners to be registered - in case of no listeners empty list shall be returned.

    - #### getAgendaEventListeners

          List<AgendaEventListener> getAgendaEventListeners​(RuntimeEngine runtime)

      Returns new instances of `AgendaEventListener` that will be registered on `RuntimeEngine`
      Parameters:
        `runtime` - provides `RuntimeEngine` in case listeners need to make use of it internally
      Returns:
        list of listeners to be registered - in case of no listeners empty list shall be returned.

    - #### getRuleRuntimeEventListeners

          List<RuleRuntimeEventListener> getRuleRuntimeEventListeners​(RuntimeEngine runtime)

      Returns new instances of `RuleRuntimeEventListener` that will be registered on `RuntimeEngine`
      Parameters:
        `runtime` - provides `RuntimeEngine` in case listeners need to make use of it internally
      Returns:
        list of listeners to be registered - in case of no listeners empty list shall be returned.

    - #### getGlobals

          Map<String,​Object> getGlobals​(RuntimeEngine runtime)

      Returns globals that shall be registered on `KieSession`.
      Parameters:
        `runtime` - provides `RuntimeEngine` in case globals need to make use of it internally
      Returns:
        map of globals to be registered - in case of no globals empty map shall be returned.

    - #### getTaskListeners

          List<TaskLifeCycleEventListener> getTaskListeners()

      Returns:
        new instances of `TaskLifeCycleEventListener` that will be registered on `RuntimeEngine`.