Interface IWorkflowElementRegistry<TEntity extends IWorkflowElementEntity,TElement extends IWorkflowElementTypeProviding,THandler extends IElementHandler<?,TEntity>,TPlugin extends IFCPlugin>

Type Parameters:
TEntity - Type of the workflow element entity.
TElement - Type of the generic workflow element.
THandler - Type of the workflow element handler.
TPlugin - Type of the plugin for the workflow element.
All Known Subinterfaces:
IWorkflowNodeRegistry, IWorkflowTriggerRegistry

public interface IWorkflowElementRegistry<TEntity extends IWorkflowElementEntity,TElement extends IWorkflowElementTypeProviding,THandler extends IElementHandler<?,TEntity>,TPlugin extends IFCPlugin>
Registry for all workflow element handler. Each workflow element type is associated with a handler, which contains the logic specific to that type. Provides static methods to access the available handlers, including handlers from plugin.
Since:
7.0.0
Author:
XIMA MEDIA GmbH
  • Method Details

    • getAllKnown

      Collection<THandler> getAllKnown(Mandant client)
      Parameters:
      client - The current client for which to retrieve the handler. Used for resolving client-specific workflow element plugins. If you do not care about client-specific plugins, this may be null.
      Returns:
      A collection of all element handlers known to the system, including built-in handler and plugin handlers.
    • getHandler

      @Nullable THandler getHandler(Mandant client, String elementType)
      Parameters:
      client - The current client for which to retrieve the handler. Used for resolving client-specific workflow element plugins. If you do not care about client-specific plugins, this may be null.
      elementType - The workflow element type for which to retrieve the handler.
      Returns:
      The handler for the given element type, or null when no such handler could be located by the system.
    • getHandler

      @Nullable THandler getHandler(Mandant client, TElement element)
      Parameters:
      client - The current client for which to retrieve the handler. Used for resolving client-specific workflow element plugins. If you do not care about client-specific plugins, this may be null.
      element - The workflow element for which to retrieve the handler.
      Returns:
      The handler for the given element, or null when no such handler could be located by the system.
    • getHandler

      @Nullable THandler getHandler(Mandant client, TEntity entity)
      Parameters:
      client - The current client for which to retrieve the handler. Used for resolving client-specific workflow element plugins. If you do not care about client-specific plugins, this may be null.
      entity - The workflow element entity for which to retrieve the handler.
      Returns:
      The handler for the given element, or null when no such handler could be located by the system.
    • getHandlerPlugin

      @Nullable TPlugin getHandlerPlugin(Mandant client, String elementType)
      Parameters:
      client - The current client for which to retrieve the handler. Used for resolving client-specific workflow element plugins. If you do not care about client-specific plugins, this may be null.
      elementType - Type of the workflow element.
      Returns:
      The plugin for handling the given type of workflow element, or null when no such plugin exists.
    • registerBuiltin

      void registerBuiltin(String elementType, THandler handler)
      Registers a workflow element handler for a built-in element type. This method should NOT be used by plugins.
      Parameters:
      elementType - Type of the workflow element for which to register the given handler.
      handler - The handler to register for the given type.
    • unregisterAllBuiltins

      Collection<THandler> unregisterAllBuiltins()
      Unregisters all built-in handler that were registered by registerBuiltin(String, IElementHandler).
      Returns:
      All handlers that were unregistered.
    • unregisterBuiltin

      THandler unregisterBuiltin(String elementType)
      Unregisters a built-in handler that was registered by registerBuiltin(String, IElementHandler).
      Parameters:
      elementType - Type of the workflow element for which to deregister the handler.
      Returns:
      The handler that was unregistered, null if none was.