Class GroovyActionDispatcher

java.lang.Object
org.apache.unomi.groovy.actions.GroovyActionDispatcher
All Implemented Interfaces:
ActionDispatcher

public class GroovyActionDispatcher extends Object implements ActionDispatcher
High-performance ActionDispatcher for pre-compiled Groovy scripts. Executes scripts without GroovyShell overhead using isolated instances.
  • Constructor Details

    • GroovyActionDispatcher

      public GroovyActionDispatcher()
  • Method Details

    • setMetricsService

      public void setMetricsService(MetricsService metricsService)
    • setGroovyActionsService

      public void setGroovyActionsService(GroovyActionsService groovyActionsService)
    • setDefinitionsService

      public void setDefinitionsService(DefinitionsService definitionsService)
    • setActionExecutorDispatcher

      public void setActionExecutorDispatcher(ActionExecutorDispatcher actionExecutorDispatcher)
    • getPrefix

      public String getPrefix()
      Description copied from interface: ActionDispatcher
      Retrieves the prefix that this dispatcher recognizes and that is used in the actionTypeId. For example to dispatch to a GroovyActionDispatcher, the prefix could be : "groovy". Then when you want to refer to a Groovy action type you could do something like this: "groovy:myGroovyAction". Prefixes MUST be globally unique. Not sanity check is done on this so please be careful!
      Specified by:
      getPrefix in interface ActionDispatcher
      Returns:
      a string containing the unique
    • execute

      public Integer execute(Action action, Event event, String actionName)
      Description copied from interface: ActionDispatcher
      This method is responsible of executing the action logic, so it will probably dispatch to an underlying engine such as a scripting engine or any other type. This makes it possible for example to implement actions in Groovy or even Javascript.
      Specified by:
      execute in interface ActionDispatcher
      Parameters:
      action - the Action to execute
      event - the Event that triggered the action
      actionName - the name of the action to execute that is after the prefix in the action type
      Returns:
      an integer status corresponding to what happened as defined by public constants of EventService