psdi.workflow

Class WFSubProcess

  • All Implemented Interfaces:
    java.rmi.Remote, MboConstants, MboRemote, MaxRemoteProxy, WFNodeDetailRemote, WFSubProcessRemote


    public class WFSubProcess
    extends WFNodeDetail
    implements WFSubProcessRemote
    Mbo to represent WFSubProcess object.

    This is a system level object.

    The key attributes for this object are NodeId, ProcessName and ProcessRev.

    The attributes in this object are as follows:

    Attribute NameDescription
    NodeIdThe Node that this sub process information is related to.
    ProcessNameThe Process that this sub process node is contained in.
    ProcessRevProcess revision (of the main process).
    SubProcessNameThe identifier of the sub-Process that is included in this process.
    • Constructor Detail

      • WFSubProcess

        public WFSubProcess(MboSet ms)
                     throws java.rmi.RemoteException
        Throws:
        java.rmi.RemoteException
    • Method Detail

      • getProcess

        public WFProcessRemote getProcess()
                                   throws MXException,
                                          java.rmi.RemoteException
        Get the process referenced by this subprocess node.
        Returns:
        The WFProcess that's acting as the sub-process.
        Throws:
        MXException
        java.rmi.RemoteException
      • getEnabledWFProcess

        public WFProcess getEnabledWFProcess()
                                      throws java.rmi.RemoteException,
                                             MXException
        Returns the enabled revision of the sub-process specified by this node. Called while validating the process. This is used to record the revision of sub-processes enabled when the owing process is activated.
        Throws:
        java.rmi.RemoteException
        MXException
      • buildSubProcessList

        public void buildSubProcessList(java.util.Hashtable h)
                                 throws java.rmi.RemoteException,
                                        MXException
        Build list of processes used by the sub-process, so we can create a revision list of all the processes used by the owning process.
        Parameters:
        h - The hashtable to store the ProcessName & ProcessRev info in.
        Throws:
        java.rmi.RemoteException
        MXException
      • wfValidate

        public void wfValidate(java.util.Vector errs,
                               java.util.Hashtable hinfo)
                        throws MXException,
                               java.rmi.RemoteException
        Validate the subprocess node.
        Specified by:
        wfValidate in class WFNodeDetail
        Parameters:
        errs - A vector of MXExceptions where there are problems in the process. Any errors found will be added to this list.
        hinfo - A hashtable of information that is passed throughout the validation process
        Throws:
        MXException
        java.rmi.RemoteException
      • canTakePositive

        public boolean canTakePositive()
                                throws MXException,
                                       java.rmi.RemoteException
        Determines whether this node can take a positive action. subprocess nodes may have one positive action.
        Specified by:
        canTakePositive in class WFNodeDetail
        Returns:
        Returns true if this node has no positive actions already.
        Throws:
        MXException
        java.rmi.RemoteException
      • canTakeNegative

        public boolean canTakeNegative()
                                throws MXException,
                                       java.rmi.RemoteException
        Determines whether this node can take a negative action. subprocess nodes may have one negative action.
        Specified by:
        canTakeNegative in class WFNodeDetail
        Returns:
        Returns false.
        Throws:
        MXException
        java.rmi.RemoteException
      • addedAction

        public void addedAction(boolean wasPositive)
                         throws MXException,
                                java.rmi.RemoteException
        Task, Condition, and Subprocess nodes can only originate one action of each type, so this method clears the owning node's Take* flag corresponding to the parameter.
        Specified by:
        addedAction in class WFNodeDetail
        Parameters:
        wasPositive - Was a positive action added?
        Throws:
        MXException
        java.rmi.RemoteException
      • removedAction

        public void removedAction(boolean wasPositive)
                           throws MXException,
                                  java.rmi.RemoteException
        Task, Condition, and Subprocess nodes can only originate one action of each type, so when they lose one, they can take another. This method sets the owning node's Take* flag corresponding to the parameter.
        Specified by:
        removedAction in class WFNodeDetail
        Parameters:
        wasPositive - Was a positive action added?
        Throws:
        MXException
        java.rmi.RemoteException