Class WFNode

java.lang.Object
byps.BValueClass
de.elo.ix.client.ValueClass
de.elo.ix.client.WFNode
All Implemented Interfaces:
Serializable

public class WFNode extends ValueClass implements Serializable
Objects of this class represent a workflow node.
See Also:
  • Field Details

    • allowActivate

      protected boolean allowActivate
      Can this node be activated? A script can set this value to prevent the activation of the node. This member is valid for all node types.
    • comment

      protected String comment
      Comment text for the node. This member is valid for all node types.
    • delayDays

      protected int delayDays
      An active person node (Activate is set) might be displayed to the user delayed by this number of days. Only valid for person nodes.
    • department2

      protected int department2
      A group ID to constrain access to the node. Only members of this group are allowed to see and process the node. Only valid for person nodes.
    • designDepartment

      protected int designDepartment

      A group ID or user ID that was originally assigned in the designer.

      • Only valid for person nodes.
      • If a template is checked in, designDepartment is always set to userName respectively userId.
      • If a new active workflow is checked in, it it is always set to userName respectively userId.
      • If an existing active workflow is checked in, the checked in value is saved
    • enterDateIso

      protected String enterDateIso
      The node was activated on this date. This member is valid for all node types.
    • exitDateIso

      protected String exitDateIso
      The node was exited/completed on this date. This member is valid for all node types.
    • flags

      protected int flags
      Control flags for the node, a combination of WFNodeC.FLAG_* constants. For start nodes (TYPE_BEGINNODE), the flags should be specified in WFDiagram.flags. To ensure compatibility with older client programs, the WFNode.flags of the start node are or-ed with the WFDiagram.flags. This member is valid for all node types.
      See Also:
    • id

      protected int id
      Node ID. This member is valid for all node types.
    • inUseDateIso

      protected String inUseDateIso
      The date when the node was last used(activated or completed). This member is valid for all node types.
    • isNext

      protected int isNext
      The activation state of the node. This member is valid for all node types.
    • moveCyclePosX

      protected int moveCyclePosX
      If a cycle is re-entered, the nodes in the cycle are duplicated. The copied nodes will be placed in the designer moved by this value to the right. If this value is 0, the nodes are moved 60 points right and 20 points up. This member is valid for all node types.
    • name

      protected String name
      The node description (work instruction). This member is valid for all node types.
    • nbOfDonesToExit

      protected int nbOfDonesToExit
      The number of predecessor nodes that must be processed to forward this collector node. A value of -1 means that all predecessor nodes must be processed. If set to 0, the collect node switches when it is activated regardless of the state of the predecessor nodes. This member is only valid for collect nodes.
    • onEnter

      protected String onEnter
      A script or plugin name that is called, if a workflow node is entered. In order to capture this workflow event in JavaScript, store a script file that defines a function named onEnterNode in a sub-folder of "Indexserver Scripting Base/_ALL" or "Indexserver Scripting Base/instancename".
       
       function onEnterNode(ci, userId, workflow, nodeId) {
         // ci       ... ClientInfo object of the user that forwards the workflow.
         // userId   ... The calling user's ID (Integer)
         // workflow ... WFDiagram object
         // nodeId   ... The activated node ID (Integer)
       ...
       }
       
       
      See Indexserver Programming Manual for more information.

      If onEnter starts with a plugin's Bundle-SymbolicName, the event is delegated to function onEnterWorkflowNode of a WorkflowNodeEvents object. Such object is created by WorkflowNodeEventsFactory.create implemented in the plugin. Optionally, a path can be appended to the Bundle-SymbolicName which is passed to WorkflowNodeEventsFactory.create. This path has to start with a forward slash. E.g. onEnter="com.partner.wfevents/invoice-solution".

      This member is valid for all node types.
    • onExit

      protected String onExit
      A script or plugin name that is called, if a workflow node is exited. In order to capture this workflow event in JavaScript, store a script file that defines a function named onExitNode in a sub-folder of "Indexserver Scripting Base/_ALL" or "Indexserver Scripting Base/instancename".
       
       function onExitNode(ci, userId, workflow, nodeId) {
         // ci       ... ClientInfo object of the user that forwards the workflow.
         // userId   ... The calling user's ID (Integer)
         // workflow ... WFDiagram object
         // nodeId   ... The deactivated node ID (Integer)
       ...
       }
       
       
      See Indexserver Programming Manual for more information.

      If onExit starts with a plugin's Bundle-SymbolicName, the event is delegated to function WorkflowNodeEvents.onExitWorkflowNode(de.elo.ix.client.IXServerEventsContext, de.elo.ix.client.WFDiagram, int) of a WorkflowNodeEvents object returned from a call to WorkflowNodeEventsFactory.create(de.elo.ix.client.IXServerEventsContext, java.lang.String). Optionally, a path can be appended to the Bundle-SymbolicName which is passed to WorkflowNodeEventsFactory.create(de.elo.ix.client.IXServerEventsContext, java.lang.String). This path has to start with a forward slash. E.g. onEnter="com.partner.wfevents/invoice-solution".

      This member is valid for all node types.
    • onEnterHandleRollback

      protected String onEnterHandleRollback
      A script or plugin name that is called when an error occurs inside a workflow script. All onEnterHandleRollback scripts, from one person node to the next person node, are stored in a temporary queue and all will get executed if an error inside a script occurs. The onEnterHandleRollBack script is not meant for dealing with an error in the onEnter Script, the script will only get stored in the temporary queue if the onEnter script was executed without any issues.

      In order to capture this workflow event in JavaScript, store a script file that defines a function named onEnterHandleRollbackNode in a sub-folder of "Indexserver Scripting Base/_ALL" or "Indexserver Scripting Base/instancename".

       
       function onEnterHandleRollbackNode(ci, userId, workflow, nodeId) {
         // ci       ... ClientInfo object of the user that forwards the workflow.
         // userId   ... The calling user's ID (Integer)
         // workflow ... WFDiagram object
         // nodeId   ... The deactivated node ID (Integer)
       ...
       }
       
       
      See Indexserver Programming Manual for more information.

      If onEnterHandleRollback starts with a plugin's Bundle-SymbolicName, the event is delegated to function WorkflowNodeEvents.onEnterHandleRollbackWorkflowNode(IXServerEventsContext, WFDiagram, int) of a WorkflowNodeEvents object returned from a call to WorkflowNodeEventsFactory.create(de.elo.ix.client.IXServerEventsContext, java.lang.String). Optionally, a path can be appended to the Bundle-SymbolicName which is passed to WorkflowNodeEventsFactory.create(de.elo.ix.client.IXServerEventsContext, java.lang.String). This path has to start with a forward slash. E.g. onEnterHandleRollback="com.partner.wfevents/invoice-solution".

      This member is valid for all node types.
      Since:
      21.02.000.005
    • onExitHandleRollback

      protected String onExitHandleRollback
      A script or plugin name that is called when an error occurs inside a workflow script. All onExitHandleRollback scripts, from one person node to the next person node, are stored in a temporary queue and all will get executed if an error inside a script occurs. The onExitHandleRollback script is not meant for dealing with an error in the onExit Script, the script will only get stored in the temporary queue if the onExit script was executed without any issues.

      In order to capture this workflow event in JavaScript, store a script file that defines a function named onExitHandleRollbackNode in a sub-folder of "Indexserver Scripting Base/_ALL" or "Indexserver Scripting Base/instancename".

       
       function onExitHandleRollbackNode(ci, userId, workflow, nodeId) {
         // ci       ... ClientInfo object of the user that forwards the workflow.
         // userId   ... The calling user's ID (Integer)
         // workflow ... WFDiagram object
         // nodeId   ... The deactivated node ID (Integer)
       ...
       }
       
       
      See Indexserver Programming Manual for more information.

      If onExitHandleRollback starts with a plugin's Bundle-SymbolicName, the event is delegated to function WorkflowNodeEvents.onExitHandleRollbackWorkflowNode(de.elo.ix.client.IXServerEventsContext, de.elo.ix.client.WFDiagram, int) of a WorkflowNodeEvents object returned from a call to WorkflowNodeEventsFactory.create(de.elo.ix.client.IXServerEventsContext, java.lang.String). Optionally, a path can be appended to the Bundle-SymbolicName which is passed to WorkflowNodeEventsFactory.create(de.elo.ix.client.IXServerEventsContext, java.lang.String). This path has to start with a forward slash. E.g. onExitHandleRollback="com.partner.wfevents/invoice-solution".

      This member is valid for all node types.
      Since:
      21.02.000.005
    • posX

      protected int posX
      The X position in the designer view. This member is valid for all node types.
    • posY

      protected int posY
      The Y position in the designer view. This member is valid for all node types.
    • tag

      protected int tag
      reserved. DB column: wf_tag
    • timeLimit

      protected int timeLimit
      The time-limit to process the node. Measured in minutes. This member is only valid for person nodes.
    • timeLimitIso

      protected String timeLimitIso
      After this date the node exceeds the time-limit for processing. This member is only valid for person nodes. Read-only.
    • type

      protected int type
      The node type. This member is set to one of the TYPE_* constants in WFNodeC.
      See Also:
    • userId

      protected int userId
      This user has to edit the node. This member is only valid for person nodes.
    • userName

      protected String userName
      The name of the user that has the ID userId This member is only valid for person nodes.
      See Also:
    • userTerminate

      protected String userTerminate
      The ID of the user who has forwarded the node. Not valid for template workflows. This member is only valid for person nodes.
    • yesNoCondition

      protected String yesNoCondition
      A value depending on the type of the node.

      WFNodeC.TYPE_IFNODE: test condition. Numeric values must be formatted according to the servers locale. Date values of AspectLineC.TYPE_ISO_DATE_ONLY or AspectLineC.TYPE_ISO_DATE_TIME must be given as ISO date values in timezone UTC.

      WFNodeC.TYPE_SPLITNODE: sets the workflow status to this value.

      WFNodeC.getTYPE_BEGINNODE(): contains workflow status.

      WFNodeC.TYPE_CYCLE: condition that evaluates true to leave the cycle.

    • delayDateIso

      protected String delayDateIso
      The node is displayed to the user at this date. This date is computed by enterDateIso + delayDays. This member is only valid for person nodes. Read-only.
    • overTimeLimit

      protected boolean overTimeLimit
      True, if the node exceeds the time limit. This member is only valid for person nodes in active or finished workflows. Read-only.
      Since:
      6.00.098
      See Also:
    • userDelayDateIso

      protected String userDelayDateIso
      The workflow node is deferred until this date. This member is only valid for person nodes in active or finished workflows. ISO date format.
      Since:
      7.00.000.000
    • processOnServerId

      protected String processOnServerId
      Server ID (resp. replication branch). This member is only valid for nodes of type WFNodeC.TYPE_SET_SERVER_ID. and should be set to the name of a existing ReplSetName.name. After node is processed, updates value in WFDiagram.processOnServerId and stops processing. Further Workflow processing will be halted and only continued after replication on the server with the given ID.
      Since:
      7.00.000.015
      See Also:
    • timeLimitEscalations

      protected WFTimeLimit[] timeLimitEscalations
      Additional definitions for time limits. This member is only valid for person nodes.
      Since:
      7.00.000.016
      See Also:
    • objKeyNames

      protected String[] objKeyNames
      Group names of index values (DocMaskLine.key resp. ObjKey.name) for which an edit box is to be displayed when forwarding a person node. This member is only valid for person nodes.
      Since:
      7.00.000.021
      See Also:
    • scriptNames

      protected String[] scriptNames
      Script names used as action scripts in buttons when forwarding a person node. Script files for the Windows CLIENT have to be named as ELOWF_ + scriptNames[.]. This member is only valid for person nodes.
      Since:
      7.00.000.021
    • iconId

      protected String iconId
      Object-GUID of an icon file that is displayed in the designer.
      Since:
      7.00.040.012
      See Also:
    • formSpec

      protected String formSpec
      Multipurpose field.

      If the node is a collect node (type=WFNodeC.TYPE_COLLECTNODE), formSpec contains a comma separated list of node IDs. This nodes are deactivated when the collect node forwards the workflow. In addition to a list of IDs, the value of WFNodeC.DEACTIVATE_ALL_PREDS causes to deactivate all predecessor nodes.

      In case of a person node (WFNodeC.TYPE_PERSONNODE), formSpec can contain proprietary encoded information about a workflow form.

      Since:
      7.00.040.012
    • nameTranslationKey

      protected String nameTranslationKey
      Translation-keyword for name.
      Since:
      9.00.018.005
    • commentTranslationKey

      protected String commentTranslationKey
      Translation-keyword for comment.
      Since:
      9.00.018.005
    • label

      protected String label
      Display name by forwarding.
      Since:
      9.00.022.019
    • properties

      protected String properties
      Node properties. Maximum byte size of this string in UTF-8 encoding is constrained to FileDataC.MAX_BLOB_LENGTH.
      Since:
      9.00.022.018
    • departmentGroup

      protected int departmentGroup
      Grouping of nodes for function takeWorkFlowNode. A non-zero value binds nodes with the same value to a group of nodes that is evaluated in IXServicePortIF.takeWorkFlowNode(ClientInfo, int, int, String, int, LockZ). The function takeWorkFlowNodes takes - in addition to the given node - all nodes with the same group assignment specified by this member. This member is only used as a marker and is not interpreted as a group or user ID.
      Since:
      9.00.030.006
    • subFlowId

      protected int subFlowId
      Id of the active sub-workflow. Only valid for TYPE_CALL_SUB_WORKFLOW.
      Since:
      9.00.030.022
    • retVal

      @Deprecated protected int retVal
      Deprecated.
      Use #returnValue
      Return value of an end node. Only valid for TYPE_END.
      Since:
      9.00.030.022
    • returnValue

      protected String returnValue
      Return value of a sub-workflow. The value defines the name of the successor node of the call-node WFNodeC.TYPE_CALL_SUB_WORKFLOW that will be activated when the sub-workflow returns. If the sub-workflow returns a node name that does not exist in the main workflow, a new person node is inserted between the call-node and its successors. This new node is named as the return value and is assigned to the workflow owner.
      Since:
      9.99.009.003
    • labelTranslationKey

      protected String labelTranslationKey
      Translation-keyword for label.
      Since:
      9.00.030.021
    • subTemplateId

      protected int subTemplateId
      ID, GUID or name of the sub-workflow template.
      Since:
      9.99.009.004
    • prio

      protected int prio
      Node priortiy: 0...high, 1...medium, 2...low. Only valid for person nodes, type==WFNodeC.TYPE_PERSONNODE. The user assigned to the person node can change this value by conn.ix().forwardWorkflowNode():
       
        WFEditNode editNode = conn.ix().beginForwardWorkflowNode(flowId, nodeId, null, LockC.NO);
        WFNode activeNode = editNode.getNode();
        activeNode.setPrio(activeNode.getPrio()-1); // One level higher.
        ForwardWorkflowNodeInfo fwdInfo = new ForwardWorkflowNodeInfo();
        fwdInfo.setNode(activeNode);
        conn.ix().forwardWorkflowNode(wfActive.getId(), activeNode.getId(), fwdInfo, LockC.NO);
        
       
       
      Since:
      9.99.009.005
      See Also:
  • Constructor Details

    • WFNode

      public WFNode()
    • WFNode

      public WFNode(WFNode rhs)
  • Method Details

    • isAllowActivate

      public boolean isAllowActivate()
    • setAllowActivate

      public void setAllowActivate(boolean allowActivate)
    • getComment

      public String getComment()
    • setComment

      public void setComment(String comment)
    • getDelayDays

      public int getDelayDays()
    • setDelayDays

      public void setDelayDays(int delayDays)
    • getDepartment2

      public int getDepartment2()
    • setDepartment2

      public void setDepartment2(int department2)
    • getDesignDepartment

      public int getDesignDepartment()
    • setDesignDepartment

      public void setDesignDepartment(int designDepartment)
    • getEnterDateIso

      public String getEnterDateIso()
    • setEnterDateIso

      public void setEnterDateIso(String enterDateIso)
    • getExitDateIso

      public String getExitDateIso()
    • setExitDateIso

      public void setExitDateIso(String exitDateIso)
    • getFlags

      public int getFlags()
    • setFlags

      public void setFlags(int flags)
    • getId

      public int getId()
    • setId

      public void setId(int id)
    • getInUseDateIso

      public String getInUseDateIso()
    • setInUseDateIso

      public void setInUseDateIso(String inUseDateIso)
    • getIsNext

      public int getIsNext()
    • setIsNext

      public void setIsNext(int isNext)
    • getMoveCyclePosX

      public int getMoveCyclePosX()
    • setMoveCyclePosX

      public void setMoveCyclePosX(int moveCyclePosX)
    • getName

      public String getName()
    • setName

      public void setName(String name)
    • getNbOfDonesToExit

      public int getNbOfDonesToExit()
    • setNbOfDonesToExit

      public void setNbOfDonesToExit(int nbOfDonesToExit)
    • getOnEnter

      public String getOnEnter()
    • setOnEnter

      public void setOnEnter(String onEnter)
    • getOnExit

      public String getOnExit()
    • setOnExit

      public void setOnExit(String onExit)
    • getOnEnterHandleRollback

      public String getOnEnterHandleRollback()
    • setOnEnterHandleRollback

      public void setOnEnterHandleRollback(String onEnterHandleRollback)
    • getOnExitHandleRollback

      public String getOnExitHandleRollback()
    • setOnExitHandleRollback

      public void setOnExitHandleRollback(String onExitHandleRollback)
    • getPosX

      public int getPosX()
    • setPosX

      public void setPosX(int posX)
    • getPosY

      public int getPosY()
    • setPosY

      public void setPosY(int posY)
    • getTag

      public int getTag()
    • setTag

      public void setTag(int tag)
    • getTimeLimit

      public int getTimeLimit()
    • setTimeLimit

      public void setTimeLimit(int timeLimit)
    • getTimeLimitIso

      public String getTimeLimitIso()
    • setTimeLimitIso

      public void setTimeLimitIso(String timeLimitIso)
    • getType

      public int getType()
    • setType

      public void setType(int type)
    • getUserId

      public int getUserId()
    • setUserId

      public void setUserId(int userId)
    • getUserName

      public String getUserName()
    • setUserName

      public void setUserName(String userName)
    • getUserTerminate

      public String getUserTerminate()
    • setUserTerminate

      public void setUserTerminate(String userTerminate)
    • getYesNoCondition

      public String getYesNoCondition()
    • setYesNoCondition

      public void setYesNoCondition(String yesNoCondition)
    • getDelayDateIso

      public String getDelayDateIso()
    • setDelayDateIso

      public void setDelayDateIso(String delayDateIso)
    • isOverTimeLimit

      public boolean isOverTimeLimit()
    • setOverTimeLimit

      public void setOverTimeLimit(boolean overTimeLimit)
    • getUserDelayDateIso

      public String getUserDelayDateIso()
    • setUserDelayDateIso

      public void setUserDelayDateIso(String userDelayDateIso)
    • getProcessOnServerId

      public String getProcessOnServerId()
    • setProcessOnServerId

      public void setProcessOnServerId(String processOnServerId)
    • getTimeLimitEscalations

      public WFTimeLimit[] getTimeLimitEscalations()
    • setTimeLimitEscalations

      public void setTimeLimitEscalations(WFTimeLimit[] timeLimitEscalation)
    • getObjKeyNames

      public String[] getObjKeyNames()
    • setObjKeyNames

      public void setObjKeyNames(String[] okeyNames)
    • getScriptNames

      public String[] getScriptNames()
    • setScriptNames

      public void setScriptNames(String[] scriptNames)
    • getIconId

      public String getIconId()
    • setIconId

      public void setIconId(String iconId)
    • getFormSpec

      public String getFormSpec()
    • setFormSpec

      public void setFormSpec(String formSpec)
    • getNameTranslationKey

      public String getNameTranslationKey()
    • setNameTranslationKey

      public void setNameTranslationKey(String nameTranslationKey)
    • getCommentTranslationKey

      public String getCommentTranslationKey()
    • setCommentTranslationKey

      public void setCommentTranslationKey(String commentTranslationKey)
    • getLabel

      public String getLabel()
    • setLabel

      public void setLabel(String label)
    • getProperties

      public String getProperties()
    • setProperties

      public void setProperties(String properties)
    • getDepartmentGroup

      public int getDepartmentGroup()
    • setDepartmentGroup

      public void setDepartmentGroup(int departmentGroup)
    • getSubFlowId

      public int getSubFlowId()
    • setSubFlowId

      public void setSubFlowId(int subFlowId)
    • getRetVal

      @Deprecated public int getRetVal()
      Deprecated.
      Returns:
      reserved
    • setRetVal

      @Deprecated public void setRetVal(int retVal)
      Deprecated.
      Parameters:
      retVal - reserved
    • getReturnValue

      public String getReturnValue()
    • setReturnValue

      public void setReturnValue(String returnValue)
    • getLabelTranslationKey

      public String getLabelTranslationKey()
    • setLabelTranslationKey

      public void setLabelTranslationKey(String labelTranslationKey)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getSubTemplateId

      public int getSubTemplateId()
    • setSubTemplateId

      public void setSubTemplateId(int n)
    • getPrio

      public int getPrio()
    • setPrio

      public void setPrio(int prio)