Interface IBusinessCase

All Superinterfaces:
IAdditionalPropertyable, ICase, INoteable

public interface IBusinessCase extends ICase

Every process that is started is a case. A case belongs to a IBusinessCase. Use method ICase.getBusinessCase() to get the business case a case belongs to.

If a process is triggered or signaled or started inside the context of an existing business case then it's case is automatically attached to the existing business case. Use method subCases() to get the cases that are attached to a business case.

Implementation Details:

If a process is started and no IBusinessCase is available then the started case acts as (sub) case and as business case. As soon as a second case is attached to the IBusinessCase the initial case is copied and the copy acts now as business case whereas the initial case acts only as sub case now.

The ICase interface defines the functionality all cases (business or sub cases) have. This interface extends the ICase interface with methods that are only available for business cases.

Since:
6.5
API:
This is a public API.
  • Method Details

    • subCases

      ISubCases subCases()
      Gets the sub cases that belong to this business case.
      Returns:
      all (sub) cases of this business case
      Since:
      6.5
      API:
      This public API is available in IvyScript and Java. It has the visibility ADVANCED.
    • getState

      CaseState getState()
      Gets the state of the business case. A business case is in state CaseState.RUNNING while any of its sub case is in state CaseState.CREATED or CaseState.RUNNING. It changes to state CaseState.DONE as soon as its last sub case changes to state CaseState.DONE. It changes to state CaseState.DESTROYED as soon as its last sub case changes to state CaseState.DESTROYED.
      Specified by:
      getState in interface ICase
      Returns:
      state of the case
      See Also:
      API:
      This public API is available in IvyScript and Java. It has the visibility ADVANCED.
      Security:
      SESSION OWNS CaseReadState PERMISSION OR OWNS CaseReadState@SYSTEM PERMISSION
    • getWorkingTime

      Duration getWorkingTime()
      The working time of a business case is the sum of all working times of all tasks of all sub cases.
      Specified by:
      getWorkingTime in interface ICase
      Returns:
      Working time as Duration.
      Returns null for the following situations:
      • no task has been parked or completed
      • the case has been completed before the working time feature was introduced.
      See Also:
      API:
      This public API is available in IvyScript and Java. It has the visibility EXPERT.
    • destroy

      void destroy()
      Destroys this business case and all sub cases that belong to business case. Destroys also all tasks that belong to any of the sub cases of the business case.
      Specified by:
      destroy in interface ICase
      See Also:
      API:
      This public API is available in IvyScript and Java. It has the visibility EXPERT.
      Security:
      SESSION OWNS CaseDestroy PERMISSION OR OWNS CaseDestroy@SYSTEM PERMISSION
    • getStage

      BusinessCaseStage getStage()
      Returns the BusinessCaseStage of this IBusinessCase. The BusinessCaseStage provides locale specific information like the name of a BusinessCaseStage, as defined in the CMS. Never null.
      Returns:
      the current BusinessCaseStage, corresponding to the current stage id
      Since:
      6.6
      API:
      This public API is available in IvyScript and Java. It has the visibility ADVANCED.
    • getStageId

      StageId getStageId()
      Returns the id of the current stage of this IBusinessCase. Never null.
      Returns:
      id of the current stage
      Since:
      6.6
      API:
      This public API is available in IvyScript and Java. It has the visibility ADVANCED.
    • setStageId

      void setStageId(String stageId)
      Sets the current stage of this IBusinessCase to the given stage id.
      Parameters:
      stageId - id of the stage
      Since:
      6.6
      API:
      This public API is available in IvyScript and Java. It has the visibility ADVANCED.
    • setStageId

      void setStageId(StageId stageId)
      Sets the current stage of this IBusinessCase to the given stage id.
      Parameters:
      stageId - id of the stage
      Since:
      6.7
      API:
      This public API is available in IvyScript and Java. It has the visibility ADVANCED.
    • getStartedFrom

      IWebStartable getStartedFrom()
      Gets the web startable that started the case. It can be a process start or a CaseMap start. It can return startables that are not startable anymore because a project is not released on the engine anymore.
      Returns:
      web startable the case was started with
      Since:
      9.3
      API:
      This public API is available in IvyScript and Java. It has the visibility ADVANCED.