Class InternalCoreAction<R>

java.lang.Object
com.mendix.core.actionmanagement.internal.InternalCoreAction<R>
Type Parameters:
R - the result type of the action
All Implemented Interfaces:
ICoreAction<R>, Callable<R>
Direct Known Subclasses:
CoreAction

public abstract class InternalCoreAction<R> extends Object implements ICoreAction<R>
Provides the (internal) interface to an action that can be executed. This is an internal class that is not to be used and may change any time.
  • Constructor Details

    • InternalCoreAction

      public InternalCoreAction(CoreActionHandler handler)
      Creates an action with a handler.
      Parameters:
      handler - the action handler for executing the action
  • Method Details

    • getContext

      public IContext getContext()
      Description copied from interface: ICoreAction
      Returns the context of the action.
      Specified by:
      getContext in interface ICoreAction<R>
      Returns:
      the context for executing the action
    • setContext

      public void setContext(IContext context)
      Description copied from interface: ICoreAction
      Sets the context for the action to execute in.
      Specified by:
      setContext in interface ICoreAction<R>
      Parameters:
      context - the context for executing the action
    • execute

      public abstract R execute() throws Exception
      Executes the action and returns the result.
      Returns:
      the execution result
      Throws:
      Exception - when executing the action failed
    • call

      public R call()
      Description copied from interface: ICoreAction
      Invokes the action handler for this action.
      Specified by:
      call in interface Callable<R>
      Specified by:
      call in interface ICoreAction<R>
      Returns:
      the execution result
    • addDatavalidationFeedback

      public void addDatavalidationFeedback(IMendixIdentifier id, Map<String,String> errorFields)
      Adds validation feedback to this action.
      Parameters:
      id - the identifier of the Mendix object that was validated
      errorFields - the validation messages by attribute name
    • addDataValidationFeedback

      public void addDataValidationFeedback(DataValidationInfo dvInfo)
      Adds validation feedback to this action.
      Parameters:
      dvInfo - the validation feedback details
    • handleConcurrentExecution

      public void handleConcurrentExecution() throws UserException, CoreException
      Throws a concurrent execution exception.
      Throws:
      UserException - always
      CoreException
    • getEventObjects

      public List<IMendixObject> getEventObjects()
      Description copied from interface: ICoreAction
      Returns the event objects of this action.
      Specified by:
      getEventObjects in interface ICoreAction<R>
      Returns:
      the Mendix objects
    • setEventObjects

      public void setEventObjects(List<IMendixObject> eventObjects)
      Sets the event objects of this action.
      Parameters:
      eventObjects - the event objects to set
    • getMetaInfo

      public com.mendix.thirdparty.org.json.JSONObject getMetaInfo()
      Description copied from interface: ICoreAction
      Returns the meta-info of this action, containing additional details about the action.

      The contents will differ depending on the type of action.

      Specified by:
      getMetaInfo in interface ICoreAction<R>
      Returns:
      the meta-info
    • setMetaInfo

      public void setMetaInfo(com.mendix.thirdparty.org.json.JSONObject metaInfo)
      Sets the meta-info of this action.
      Parameters:
      metaInfo - the meta-info to set
    • getActionName

      public String getActionName()
      Description copied from interface: ICoreAction
      Returns the name of this action.
      Specified by:
      getActionName in interface ICoreAction<R>
      Returns:
      the action name
    • setActionName

      public void setActionName(String actionName)
      Sets the name of this action.
      Parameters:
      actionName - the name to set
    • getException

      public Exception getException()
      Returns the exception that was set for this action (if any).
      Returns:
      the exception if it was set; null otherwise
    • setException

      public void setException(Exception exception)
      Sets the specified exception for this action.
      Parameters:
      exception - the exception to set
    • getState

      public ActionState getState()
      Returns the state of this action (if any).
      Returns:
      the action state if it was set; null otherwise
    • setState

      public void setState(ActionState state)
      Sets the state of this action.
      Parameters:
      state - the state to set
    • setAllowsConcurrentExecution

      public void setAllowsConcurrentExecution(Boolean enabled)
      Sets whether this action allows concurrent execution.

      If concurrent execution is not allowed, handleConcurrentExecution() will be called if this action is called concurrently with itself.

      Parameters:
      enabled - true if concurrent execution is allowed; false otherwise
    • getClonedContext

      public IContext getClonedContext(IMendixIdentifier currentIdentifier, List<IMendixIdentifier> constraint)
      Returns a copy of the context of this action with the specified identifier and context objects.
      Parameters:
      currentIdentifier - the identifier to set on the copied context; if null, the existing identifier is not overwritten
      constraint - the context objects to set on the copied context; if null, the existing objects are not overwritten
    • clone

      public InternalCoreAction<R> clone()
      Returns a clone of this action.
      Overrides:
      clone in class Object
      Returns:
      the cloned action