Class AbstractWorkflowEventProvider

java.lang.Object
org.keycloak.models.workflow.AbstractWorkflowEventProvider
All Implemented Interfaces:
WorkflowEventProvider, Provider
Direct Known Subclasses:
ClientAuthenticatedWorkflowEventProvider, ClientCreatedWorkflowEventProvider, UserAuthenticatedWorkflowEventProvider, UserCreatedWorkflowEventProvider, UserFedIdentityAddedWorkflowEventProvider, UserFedIdentityRemovedWorkflowEventProvider, UserGroupMembershipAddedWorkflowEventProvider, UserGroupMembershipRemovedWorkflowEventProvider, UserRoleGrantedWorkflowEventProvider, UserRoleRevokedWorkflowEventProvider

public abstract class AbstractWorkflowEventProvider extends Object implements WorkflowEventProvider
Utility class to simplify implementation of WorkflowEventProvider interface, providing default implementations for most methods.

Subclasses need to implement only the WorkflowEventProvider.getSupportedResourceType() method and the relevant supports methods. If the provider supports ProviderEvents, they also need to implement the resolveResourceId(org.keycloak.provider.ProviderEvent) method because there is no common way to resolve resource IDs from provider events, so that logic is provider-specific.
  • Field Details

    • providerId

      protected final String providerId
    • configParameter

      protected final String configParameter
    • session

      protected final KeycloakSession session
  • Constructor Details

    • AbstractWorkflowEventProvider

      public AbstractWorkflowEventProvider(KeycloakSession session, String configParameter, String providerId)
  • Method Details

    • create

      public WorkflowEvent create(Event event)
      Description copied from interface: WorkflowEventProvider
      Creates a WorkflowEvent from a user Event.
      Specified by:
      create in interface WorkflowEventProvider
      Parameters:
      event - the user event to convert
      Returns:
      a WorkflowEvent representing the given event, or null if the event is not supported
    • create

      public WorkflowEvent create(AdminEvent adminEvent)
      Description copied from interface: WorkflowEventProvider
      Creates a WorkflowEvent from an AdminEvent.
      Specified by:
      create in interface WorkflowEventProvider
      Parameters:
      adminEvent - the admin event to convert
      Returns:
      a WorkflowEvent representing the given admin event, or null if the event is not supported
    • create

      public WorkflowEvent create(ProviderEvent providerEvent)
      Description copied from interface: WorkflowEventProvider
      Creates a WorkflowEvent from a ProviderEvent.
      Specified by:
      create in interface WorkflowEventProvider
      Parameters:
      providerEvent - the provider event to convert
      Returns:
      a WorkflowEvent representing the given provider event, or null if the event is not supported
    • evaluate

      public boolean evaluate(WorkflowExecutionContext context)
      Description copied from interface: WorkflowEventProvider
      Evaluates whether the event in the workflow execution context matches this provider's criteria.

      Implementations should inspect the workflow event in the provided context and return true when the event matches the provider's specific conditions.
      Specified by:
      evaluate in interface WorkflowEventProvider
      Parameters:
      context - the execution context for the workflow evaluation
      Returns:
      true if the event matches the criteria, false otherwise
    • supports

      public boolean supports(Event event)
      Description copied from interface: WorkflowEventProvider
      Determines whether this provider supports the given user Event.
      Specified by:
      supports in interface WorkflowEventProvider
      Parameters:
      event - the user event to check
      Returns:
      true if the event is supported, false otherwise
    • supports

      public boolean supports(AdminEvent adminEvent)
      Description copied from interface: WorkflowEventProvider
      Determines whether this provider supports the given AdminEvent.
      Specified by:
      supports in interface WorkflowEventProvider
      Parameters:
      adminEvent - the admin event to check
      Returns:
      true if the event is supported, false otherwise
    • supports

      public boolean supports(ProviderEvent providerEvent)
      Description copied from interface: WorkflowEventProvider
      Determines whether this provider supports the given ProviderEvent.
      Specified by:
      supports in interface WorkflowEventProvider
      Parameters:
      providerEvent - the provider event to check
      Returns:
      true if the event is supported, false otherwise
    • resolveResourceId

      protected String resolveResourceId(ProviderEvent providerEvent)
      Resolves the resource ID from the given ProviderEvent.
      Parameters:
      providerEvent - the provider event
      Returns:
      the resolved resource ID, or null if it cannot be resolved