Class ProcessCase

  • All Implemented Interfaces:
    IProcessCase

    public final class ProcessCase
    extends Object
    implements IProcessCase
    Class exposing process engine functionality for a case.
    Since:
    7.1
    Author:
    Jon van Leuven
    • Method Detail

      • createTask

        public IProcessTask createTask​(IUserData userData,
                                       String taskName,
                                       DateTimeValue startDate,
                                       String[] roles)
        Description copied from interface: IProcessCase
        This method may be used to create a new task for this case. The newly created task will not be part of any existing process, but defined as a loose task similar to an ad-hoc task.
        Specified by:
        createTask in interface IProcessCase
        Parameters:
        userData - Object containing information about the current user.
        taskName - The name or the description of the task.
        startDate - The time at which the task should become active.
        roles - The roles that are required to execute the task.
        Returns:
        Object representing the newly created task.
      • getAvailableTasks

        public IProcessTask[] getAvailableTasks​(IUserData userData)
        Description copied from interface: IProcessCase
        This method will returns an array containing all the process tasks that may be executed for the current case. If the current case is locked, or no process steps are available, the method will return an empty array. The returned process steps are bound to the user they are requested for.
        Specified by:
        getAvailableTasks in interface IProcessCase
        Parameters:
        userData - Object containing information about the current user.
        Returns:
        Array containing the process steps that may be executed by the supplied user.
      • getId

        public long getId()
        Description copied from interface: IProcessCase
        This method returns the unique ID of the process case. The ID of the case is generated at the moment the case is created.
        Specified by:
        getId in interface IProcessCase
        Returns:
        The unique ID of the case.
      • getName

        public String getName()
        Description copied from interface: IProcessCase
        This method returns the name of the of the case. As the name is optional, this method may return a null value.
        Specified by:
        getName in interface IProcessCase
        Returns:
        The name of the case.
      • getCreationDate

        public DateTimeValue getCreationDate()
        Description copied from interface: IProcessCase
        This method returns the creation date of the case.
        Specified by:
        getCreationDate in interface IProcessCase
        Returns:
        The creation date of the case, never null
      • getStatus

        public CaseStatusType getStatus()
        Description copied from interface: IProcessCase
        This method returns the status of the case, never null
        Specified by:
        getStatus in interface IProcessCase
        Returns:
        The status of the case
      • isLocked

        public boolean isLocked()
        Description copied from interface: IProcessCase
        This method returns a boolean indicating if the case is locked. A case will be locked as soon as a task is started for the case, and the lock will be released again when the task has been completed or aborted. Cases that are locked will not return any available process steps.
        Specified by:
        isLocked in interface IProcessCase
        Returns:
        Boolean indicating if the case is locked.
      • getInstanceModel

        protected ICaseDataInstance getInstanceModel​(long instanceId)
      • removeInstance

        protected void removeInstance​(ICaseDataInstance instanceModel)
      • clearInternalCaseDataCache

        public void clearInternalCaseDataCache()