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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Collection<THandler>
getAllKnown(Mandant client)
THandler
getHandler(Mandant client, String elementType)
THandler
getHandler(Mandant client, TElement element)
THandler
getHandler(Mandant client, TEntity entity)
TPlugin
getHandlerPlugin(Mandant client, String elementType)
void
registerBuiltin(String elementType, THandler handler)
Registers a workflow element handler for a built-in element type.Collection<THandler>
unregisterAllBuiltins()
Unregisters all built-in handler that were registered byregisterBuiltin(String, IElementHandler)
.THandler
unregisterBuiltin(String elementType)
Unregisters a built-in handler that was registered byregisterBuiltin(String, IElementHandler)
.
-
-
-
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 benull
.- 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 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
@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 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
@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 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
@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 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
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 byregisterBuiltin(String, IElementHandler)
.- Returns:
- All handlers that were unregistered.
-
unregisterBuiltin
THandler unregisterBuiltin(String elementType)
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.
-
-