Package com.mendix.core.actionmanagement
Class ActionListener<T extends ICoreAction<?>>
- java.lang.Object
-
- com.mendix.core.actionmanagement.ActionListener<T>
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
UserActionListener
public abstract class ActionListener<T extends ICoreAction<?>> extends java.lang.Object implements java.lang.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 Summary
Constructors Constructor Description ActionListener(java.lang.Class<T> targetClass)
Creates ActionListener with targetClass.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addAfterEvent(java.lang.String classOrActionName)
Registers the specified action as an after event handler.<R> void
addAfterEvent(java.util.function.Consumer<IMendixObject> consumer)
Registers the specified function as an after event handler.void
addBeforeEvent(java.lang.String classOrActionName)
Registers the specified action as a before event handler.void
addBeforeEvent(java.lang.String classOrActionName, boolean raiseExceptionOnFalse)
Registers the specified action as a before event handler.<R> void
addBeforeEvent(java.util.function.Consumer<IMendixObject> consumer, boolean raiseExceptionOnFalse)
Registers the specified function as a before event handler.void
addReplaceEvent(java.lang.String classOrActionName)
Registers the specified action as a replace event handler.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.ActionListener<T>
clone()
java.util.List<EventActionInfo>
getAfter()
Returns all registered after event handlers.java.util.List<EventActionInfo>
getBefore()
Returns all registered before event handlers.java.lang.String
getReplace()
Returns the registered replace event handler (if any).java.lang.Class<T>
getTargetClass()
Returns the type of action this listener listens to.void
setTargetClass(java.lang.Class<T> targetClass)
Sets the type of action this listener listens to to the specified target class.
-
-
-
Constructor Detail
-
ActionListener
public ActionListener(java.lang.Class<T> targetClass)
Creates ActionListener with targetClass.- Parameters:
targetClass
- the type of action this listener listens to
-
-
Method Detail
-
getTargetClass
public final java.lang.Class<T> getTargetClass()
Returns the type of action this listener listens to.- Returns:
- the target class
-
setTargetClass
public final void setTargetClass(java.lang.Class<T> targetClass)
Sets the type of action this listener listens to to the specified target class.- Parameters:
targetClass
- the target class to set
-
addBeforeEvent
public final void addBeforeEvent(java.lang.String classOrActionName)
Registers the specified action as a before event handler.- Parameters:
classOrActionName
- the action to register
-
addBeforeEvent
public final <R> void addBeforeEvent(java.util.function.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 registerraiseExceptionOnFalse
- indicates whether to throw an exception if the function returns false
-
addBeforeEvent
public final void addBeforeEvent(java.lang.String classOrActionName, boolean raiseExceptionOnFalse)
Registers the specified action as a before event handler.- Parameters:
classOrActionName
- the action to registerraiseExceptionOnFalse
- indicates whether to throw an exception if the action returns false
-
addAfterEvent
public final void addAfterEvent(java.lang.String classOrActionName)
Registers the specified action as an after event handler.- Parameters:
classOrActionName
- the action to register
-
addAfterEvent
public final <R> void addAfterEvent(java.util.function.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(java.lang.String classOrActionName)
Registers the specified action as a replace event handler.- Parameters:
classOrActionName
- the action to register
-
getAfter
public final java.util.List<EventActionInfo> getAfter()
Returns all registered after event handlers.- Returns:
- the event handlers
-
getBefore
public final java.util.List<EventActionInfo> getBefore()
Returns all registered before event handlers.- Returns:
- the event handlers
-
getReplace
public final java.lang.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
public ActionListener<T> clone() throws java.lang.CloneNotSupportedException
- Overrides:
clone
in classjava.lang.Object
- Throws:
java.lang.CloneNotSupportedException
-
-