Interface IPromptServiceHandlerRegistry
public interface IPromptServiceHandlerRegistry
Low-level registry for
prompt service handlers. Lets you register, resolve and
unregister handlers. Prompt service handler implementations can be provided in the following ways:
- By explicitly registering them with this registry via
registerHandler(scope, handler). - By making a prompt service handler implementation available via the CDI, with the
application scope. - By installing a prompt service plugin (
IPluginPromptServicethat provides a prompt service handler implementation.
- Since:
- 8.5.0
-
Method Summary
Modifier and TypeMethodDescriptionfindAllHandlers(PromptScope scope) Returns all registered handlers for the given scope.findAllHandlers(UUID tenant) Returns all registered handlers for the given tenant scope.voidregisterHandler(UUID tenant, IPromptServiceHandler<?, ?> handler) Registers a prompt service type within a given tenant scope.resolveHandler(PromptScope scope, String type) Finds the handler for the given prompt service type within the given scope.resolveHandler(UUID tenant, String type) Finds the handler for the given prompt service type within the given tenant scope.resolvePlugin(UUID tenant, String type) Attempts to find the plugin that provides the prompt service handler for the given type within the given tenant scope.voidunregisterHandler(UUID tenant, String type) Unregisters a prompt service type from a given tenant scope that was previously registered withregisterType(tenant, handler).voidunregisterHandlers(UUID tenant) Unregisters all prompt service types from a given tenant scope that were previously registered withregisterType(tenant, handler).
-
Method Details
-
findAllHandlers
Returns all registered handlers for the given tenant scope. This includes handlers registered viaregisterType(tenant, handler)as well as handlers provided by plugins.- Parameters:
tenant- The tenant scope for which to retrieve all handlers, or null to retrieve all global handlers.- Returns:
- An iterable over all registered handlers for the given tenant scope.
-
findAllHandlers
Returns all registered handlers for the given scope. This includes handlers registered viaregisterType(tenant, handler)as well as handlers provided by plugins.- Parameters:
scope- The scope for which to retrieve all handlers, or null to retrieve all global handlers.- Returns:
- An iterable over all registered handlers for the given tenant scope.
-
registerHandler
Registers a prompt service type within a given tenant scope. When the scope is null, the type is registered globally and is available in all tenant scopes. If a type with the same ID was already registered in the given scope, it is replaced with the new handler.- Parameters:
tenant- The tenant scope in which to register the type, or null to register it globally.handler- The handler that implements the prompt service type. If null, the registration is removed.
-
resolveHandler
Finds the handler for the given prompt service type within the given tenant scope.This method considers various handler sources, such as handlers registered via
registerType(tenant, handler)or handlers provided by plugins.When no handler is found in the given tenant scope, returns the handler registered in the global scope, if any.
- Parameters:
tenant- The tenant scope in which to search for the handler, or null to search in the global scope.type- The type ID of the prompt service whose handler to find.- Returns:
- The handler for the given type in the given tenant scope, or null if no such handler exists.
-
resolveHandler
Finds the handler for the given prompt service type within the given scope.This method considers various handler sources, such as handlers registered via
registerType(tenant, handler)or handlers provided by plugins.When no handler is found in the given tenant scope, returns the handler registered in the global scope, if any.
- Parameters:
scope- The scope in which to search for the handler.type- The type ID of the prompt service whose handler to find.- Returns:
- The handler for the given type in the given tenant scope, or null if no such handler exists.
-
resolvePlugin
Attempts to find the plugin that provides the prompt service handler for the given type within the given tenant scope. Returns null when no such handler exists, or it is not provided by a plugin.- Parameters:
tenant- The tenant scope in which to search for the handler, or null to search in the global scope.type- The type ID of the prompt service whose handler to find.- Returns:
- The plugin ID that provides the handler for the given type in the given tenant scope, or null if no such handler exists, or it is not provided by a plugin.
-
unregisterHandler
Unregisters a prompt service type from a given tenant scope that was previously registered withregisterType(tenant, handler).- Parameters:
tenant- The tenant scope from which to unregister the type, or null to unregister it globally.type- The type ID of the prompt service to unregister.
-
unregisterHandlers
Unregisters all prompt service types from a given tenant scope that were previously registered withregisterType(tenant, handler).- Parameters:
tenant- The tenant scope from which to unregister all types, or null to unregister all global types.
-