com.ibm.openpages.api.workflow

Interface IWFProcessDefinition

  • All Superinterfaces:
    java.lang.Cloneable


    public interface IWFProcessDefinition
    extends java.lang.Cloneable

    Represents workflow process definition.

    Lifecycle of process definition - When a process definition is created, the state of the definition is initially on WFProcessDefinitionState.draft. Users are not able to start the workflow until the process definition is published by IWorkflowService.publishProcessDefinition(Id). The published process definition is immutable and every published process definition is versioned. When a process definition is updated by IWorkflowService.updateProcessDefinition(IWFProcessDefinition), it creates new draft version behind the scene ( or update the draft version if a draft already exists ). When you publish a process definition, the draft content of the definition becomes published one, and previous published one is marked WFProcessDefinitionState.expired. You can still fetch specific expired version content by IWorkflowService.getProcessDefinitionByVersionId(Id) and inflight workflow/process instance remains on the original version of process definition.

    The process is instantiated by an object creation ( when the type is {@link WFProcessDefinitionType#create ), or by user operation/API call against existing object, and the behavior of the process is defined here.

    Since:
    8.0.0.2
    • Method Detail

      • getId

        Id getId()
        Returns unique identifier of the process definition
        Returns:
      • getVersionId

        Id getVersionId()
        Returns version id of the process definition. It is incremented when the process definition is published.
        Returns:
      • getVersionNumber

        int getVersionNumber()
        Returns version number of the process definition. It is incremented when the process definition is published.
        Returns:
      • getLatestVersionNumber

        int getLatestVersionNumber()
        Returns version number of the latest process definition.
        Returns:
      • getName

        java.lang.String getName()
        Returns name of the process definition
        Returns:
      • getNameLabel

        java.lang.String getNameLabel()
        Returns the localized name label of the process definition for the user session
        Returns:
        the localized name label as a string
      • getNameLabels

        java.util.List<ILabel> getNameLabels()
        Returns the process definition name labels for all locales
        Returns:
        ILabel the process definition name label
      • setNameLabels

        void setNameLabels(java.util.List<ILabel> nameLabels)
        Sets the list of process definition name labels
        Parameters:
        nameLabels - the list of ILabel
      • setSchedJobDetail

        void setSchedJobDetail(ISchedJobDetail schedJobDetail)
      • setType

        void setType(WFProcessDefinitionType type)
        Sets the type of the process definition. Cannot be null.
        Parameters:
        type -
      • getObjectType

        java.lang.String getObjectType()
        Returns the object type name.
        Returns:
      • getAttributes

        java.util.Map<java.lang.String,java.lang.Object> getAttributes()
        Returns the map of process attributes. The process attributes can be used by the transition/activity actions.
        Returns:
      • setAttributes

        void setAttributes(java.util.Map<java.lang.String,java.lang.Object> attributes)
        Sets the map of process attributes.
        Parameters:
        attributes -
      • getAttribute

        java.lang.Object getAttribute(java.lang.String name)
        Returns the process attribute by a name string.
        Parameters:
        name -
        Returns:
      • setAttribute

        void setAttribute(java.lang.String name,
                          java.lang.Object value)
        Sets the process attribute by a name string.
        Parameters:
        name -
        value -
      • getCondition

        IWFConditionEval getCondition()
        Returns the workflow condition. The condition is evaluated to determine whether to start the workflow during an object creation. It is applicable when the process definition type is WFProcessDefinitionType.create.
        Returns:
      • setCondition

        void setCondition(IWFConditionEval condition)
        Sets the workflow condition.
      • isAutomated

        boolean isAutomated()
        Returns if the workflow is automated.
        Returns:
      • setAutomated

        void setAutomated(boolean isAutomated)
        Sets this as an automated workflow which can only contain automated stages.
        Parameters:
        isAutomated -
      • isEnabled

        boolean isEnabled()
        Returns if the process definition is enabled or not. The process can be instanciated only when it is enabled.
        Returns:
      • setEnabled

        void setEnabled(boolean isEnabled)
        Enables or disables the process definition.
        Parameters:
        isEnabled -
      • getModifiedDate

        java.util.Date getModifiedDate()
        Returns the last modified date
        Returns:
      • getModifiedBy

        java.lang.String getModifiedBy()
        Returns the user name who last modified the process definition
        Returns:
      • getCreatedDate

        java.util.Date getCreatedDate()
        Returns the creation date
        Returns:
      • getCreatedBy

        java.lang.String getCreatedBy()
        Returns the user name who created the process definition
        Returns:
      • isExecuteAsSystem

        boolean isExecuteAsSystem()
        Returns whether the workflow should be run as a system user
        Returns:
      • setExecuteAsSystem

        void setExecuteAsSystem(boolean executeAsSystem)
        Sets whether the workflow should be run as a system user
        Parameters:
        executeAsSystem -
      • getActivities

        java.util.List<IWFActivity> getActivities()
        Returns the list of activities. Refer IWFActivity
        Returns:
      • setActivities

        void setActivities(java.util.List<IWFActivity> activities)
        Sets the list of activities.
        Parameters:
        activities -
      • getActivity

        IWFActivity getActivity(java.lang.String name)
        Returns the activity by the activity name. Returns null when there is no matching activity.
      • getActivity

        IWFActivity getActivity(Id id)
        Returns the activity by the activity ID. Returns null when there is no matching activity.
        Parameters:
        id -
        Returns:
      • getStartActivity

        IWFActivity getStartActivity()
        Returns the starting activity.
        Returns:
      • addActivity

        void addActivity(IWFActivity activity)
        Adds an activity
        Parameters:
        activity -
      • removeActivity

        void removeActivity(java.lang.String name)
        Removes an activity by name
        Parameters:
        name -
      • isObjectInstanceReadOnly

        boolean isObjectInstanceReadOnly()
        Returns if the process definition is read only. Use the cloned instance for updating.
        Returns:

Licensed Materials - Property of IBM
OpenPages with Watson (PID: 5725-D51)
© Copyright IBM Corporation 2013, 2021. All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.