Class ProcessCaseDelegate

java.lang.Object
com.aquima.interactions.process.wrapper.ProcessCaseDelegate
All Implemented Interfaces:
IProcessCase
Direct Known Subclasses:
ReadonlyProcessCase

public abstract class ProcessCaseDelegate extends Object implements IProcessCase
Utility class to allow for easy wrapping of a process engine implementation. This an internal class.
Since:
7.1
Author:
Jon van Leuven
  • Constructor Details

    • ProcessCaseDelegate

      protected ProcessCaseDelegate(IProcessCase processCase)
  • Method Details

    • 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.
    • getInstanceModel

      public ICaseDataInstance getInstanceModel(long instanceId)
      Specified by:
      getInstanceModel in interface IProcessCase
    • addInstance

      public void addInstance(ICaseDataInstance instanceModel)
      Specified by:
      addInstance in interface IProcessCase
    • removeInstance

      public void removeInstance(ICaseDataInstance instanceModel)
      Specified by:
      removeInstance in interface IProcessCase
    • getInternalCaseProfile

      public IProfile getInternalCaseProfile(CaseDataChangeListener processCaseDataListener)
      Specified by:
      getInternalCaseProfile in interface IProcessCase
    • clearInternalCaseDataCache

      public void clearInternalCaseDataCache()
      Specified by:
      clearInternalCaseDataCache in interface IProcessCase
    • 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.
    • getCaseProfile

      public IProfile getCaseProfile()
      Description copied from interface: IProcessCase
      This method returns a read-only object containing the case profile. The case profile is updated after each process step that has been executed.
      Specified by:
      getCaseProfile in interface IProcessCase
      Returns:
      Object containing the case profile.
    • getCaseProfile

      public IProfile getCaseProfile(CaseDataChangeListener caseDataChangeListener)
      Description copied from interface: IProcessCase
      This method returns a read-only object containing the case profile. The case profile is updated after each process step that has been executed.
      Specified by:
      getCaseProfile in interface IProcessCase
      Parameters:
      caseDataChangeListener - profile changeListener for retrieving case-data set to the caseProfile
      Returns:
      Object containing the case profile.
    • 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.
    • unlock

      public void unlock()
      Specified by:
      unlock in interface IProcessCase
    • getProcessCase

      public IProcessCase getProcessCase()
    • getDisplayName

      public IMultilingualText getDisplayName()
      Specified by:
      getDisplayName in interface IProcessCase
      Returns:
      the display name or null if there is none