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 Summary
Modifier and TypeMethodDescriptiongetAllKnown
(Mandant client) getHandler
(Mandant client, String elementType) getHandler
(Mandant client, TElement element) getHandler
(Mandant client, TEntity entity) getHandlerPlugin
(Mandant client, String elementType) void
registerBuiltin
(String elementType, THandler handler) Registers a workflow element handler for a built-in element type.Unregisters all built-in handler that were registered byregisterBuiltin(String, IElementHandler)
.unregisterBuiltin
(String elementType) Unregisters a built-in handler that was registered byregisterBuiltin(String, IElementHandler)
.
-
Method Details
-
getAllKnown
- 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 benull
.- Returns:
- A collection of all element handlers known to the system, including built-in handler and plugin handlers.
-
getHandler
- 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 benull
.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
- 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 benull
.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
- 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 benull
.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
- 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 benull
.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
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 byregisterBuiltin(String, IElementHandler)
.- Returns:
- All handlers that were unregistered.
-
unregisterBuiltin
Unregisters a built-in handler that was registered byregisterBuiltin(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.
-