Class ActionListener<T extends ICoreAction<?>>

java.lang.Object
com.mendix.core.actionmanagement.ActionListener<T>
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
UserActionListener

public abstract class ActionListener<T extends ICoreAction<?>> extends Object implements Cloneable
Abstract ActionListener
T is the type of ICoreAction this listener listens to. If the check method returns true, the actions defined in before, concurrent and after will be executed.
  • Constructor Details

    • ActionListener

      public ActionListener(Class<T> targetClass)
      Creates ActionListener with targetClass.
      Parameters:
      targetClass - the type of action this listener listens to
  • Method Details

    • getTargetClass

      public final Class<T> getTargetClass()
      Returns the type of action this listener listens to.
      Returns:
      the target class
    • setTargetClass

      @Deprecated public final void setTargetClass(Class<T> targetClass)
      Deprecated.
      since 9.23. Use constructor to specify target class.
      Sets the type of action this listener listens to the specified target class.
      Parameters:
      targetClass - the target class to set
    • addBeforeEvent

      public final void addBeforeEvent(String classOrActionName)
      Registers the specified action as a before event handler.
      Parameters:
      classOrActionName - the action to register
    • addBeforeEvent

      public final <R> void addBeforeEvent(Consumer<IMendixObject> consumer, boolean raiseExceptionOnFalse)
      Registers the specified function as a before event handler.
      Type Parameters:
      R - result type of the action, which must be Boolean
      Parameters:
      consumer - the function to register
      raiseExceptionOnFalse - indicates whether to throw an exception if the function returns false
    • addBeforeEvent

      public final void addBeforeEvent(String classOrActionName, boolean raiseExceptionOnFalse)
      Registers the specified action as a before event handler.
      Parameters:
      classOrActionName - the action to register
      raiseExceptionOnFalse - indicates whether to throw an exception if the action returns false
    • addAfterEvent

      public final void addAfterEvent(String classOrActionName)
      Registers the specified action as an after event handler.
      Parameters:
      classOrActionName - the action to register
    • addAfterEvent

      public final <R> void addAfterEvent(Consumer<IMendixObject> consumer)
      Registers the specified function as an after event handler.
      Type Parameters:
      R - result type of the action, which should typically be Object because the result is ignored
      Parameters:
      consumer - the function to register
    • addReplaceEvent

      public final void addReplaceEvent(String classOrActionName)
      Registers the specified action as a replace event handler.
      Parameters:
      classOrActionName - the action to register
    • getAfter

      public final List<EventActionInfo> getAfter()
      Returns all registered after event handlers.
      Returns:
      the event handlers
    • getBefore

      public final List<EventActionInfo> getBefore()
      Returns all registered before event handlers.
      Returns:
      the event handlers
    • getReplace

      public final String getReplace()
      Returns the registered replace event handler (if any).
      Returns:
      the replace handler if it was set; null otherwise
    • check

      public abstract boolean check(T action)
      Checks if this Listener's events must be fired
      If an action of type T is executed in the Core this function is called with that action as parameter.
      If this method returns true, the before/concurrent/after actions of this ActionListener will be executed too.
      Parameters:
      action - the action to check
      Returns:
      true if this Listener's events must be fired if action is executed
    • clone

      Deprecated.
      since 9.24. Use createClone() instead.
      Create a clone.
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • createClone

      public ActionListener<T> createClone()
      Create a clone.
      Currently, this is implemented in terms of clone(). When deprecated clone() method is removed, this implementation will be removed and subclasses will need to provide their own implementation.