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 Detail

      • 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.
      • 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.