Package com.documentum.fc.client

# Interface IDfActivity

All Superinterfaces:
  `IDfPersistentObject`, `IDfSysObject`, `IDfTypedObject`

public interface IDfActivity extends IDfSysObject
This interface provides functions to access objects of dm_activity type.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `EXEC_SUBTYPE_DEFAULT`
  `static final int`
  `EXEC_SUBTYPE_INBOUND`
  `static final int`
  `EXEC_SUBTYPE_INBOUND_INITIATE`
  `static final int`
  `EXEC_SUBTYPE_MANUAL_INITIATE`
  `static final int`
  `PACKAGE_CAN_BE_EMPTY`
  Flag bit used to indicate that this package can be empty at the end of this activity.
  `static final int`
  `PACKAGE_IS_VISIBLE`
  Flag bit used to indicate that this package is visible to this activity.
  `static final String`
  `PORT_TYPE_EXCEPTION`
  `static final String`
  `PORT_TYPE_INPUT`
  `static final String`
  `PORT_TYPE_OUTPUT`
  `static final String`
  `PORT_TYPE_REVERT`
  `static final String`
  `USE_CONDITION_PERFORMER`

  ### Fields inherited from interface com.documentum.fc.client.IDfPersistentObject

  `CURRENCY_CHECK_ALWAYS, CURRENCY_CHECK_FIRST_ACCESS, CURRENCY_CHECK_NEVER, CURRENCY_CHECK_ONCE_PER_SCOPE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addConditionRouteCase(String routeCaseIdentifier, IDfList conditions, IDfList outputPorts)`
  Adds a route case to the activity.
  `void`
  `addPackageInfo(String portName, String packageName, String packageType, IDfId packageId, String packageLabel, String packageOperation)`
  Adds a package definition to a port in the activity.
  `void`
  `addPackageInfoEx(String portName, String packageName, String packageType, IDfId packageId, String packageLabel, String packageOperation, int packageFlag)`
  Adds a package definition to a port in the activity.
  `void`
  `addPackageInfoEx(String portName, String packageName, String packageType, IDfId packageId, String packageLabel, String packageOperation, int packageFlag, int packageReportFlag)`
  Adds a package definition to a port in the activity.
  `void`
  `addPerformerCondition(String conditionName, String condition, IDfList performers)`
  Adds a performer case to the activity.
  `void`
  `addPort(String portName, String portType)`
  Adds a port to the activity.
  `void`
  `addPostTimerAction(IDfId action, int minutes)`
  Establishes a timer at the end of the series.
  `void`
  `addPreTimerAction(IDfId action, int minutes)`
  Establishes a timer at the end of the series.
  `void`
  `addRouteCase(String routeCaseIdentifier, String condition, IDfList outputPorts)`
  Adds a route case to the activity.
  `int`
  `getConditionCount()`
  Returns the number of routing conditions in the activity.
  `IDfId`
  `getConditionId()`
  Returns the object ID of the repository object that stores the route case conditions.
  `String`
  `getConditionName(int index)`
  Returns the name of a route case.
  `String`
  `getConditionPort(int index)`
  Returns the output ports associated with a specified route case.
  `IDfList`
  `getConditions(String routeCaseIdentifier)`
  Returns the list (or list of lists) of transition condition definitions for the named route case.
  `int`
  `getControlFlag()`
  Returns the control flag attribute of the activity.
  `String`
  `getDefinitionState()`
  Returns the state of the activity definition.
  `int`
  `getExecErrHandling()`
  Returns information about how the activity's runtime instance handles execution failure.
  `IDfId`
  `getExecMethodId()`
  Returns the object ID of the method object that executes the activity's actions.
  `int`
  `getExecRetryInterval()`
  Returns the retry interval if the method execution fails for the activity
  `int`
  `getExecRetryMax()`
  Returns the maximum retry number if the method execution fails for the activity
  `int`
  `getExecSubtype()`
  Returns the exec_subtype attribute of the activity.
  `int`
  `getExecTimeOut()`
  Returns the time-out period, in seconds, for the method that executes the activity's actions.
  `int`
  `getExecType()`
  Returns the execution type of the activity.
  `int`
  `getPackageCount()`
  Returns the number of packages associated with the activity.
  `int`
  `getPackageFlag(int index)`
  Returns the flag of a specified package.
  `IDfId`
  `getPackageId(int index)`
  Returns the object ID of a specified package.
  `String`
  `getPackageLabel(int index)`
  Returns the version label associated with the package.
  `String`
  `getPackageName(int index)`
  Returns the name of a specified package.
  `String`
  `getPackageOperation(int index)`
  Returns information about the operation to be performed on a specified package.
  `int`
  `getPackageReportFlag(int index)`
  Returns the report flag of a specified package.
  `IDfCollection`
  `getPackagesMetaData()`
  Returns a query result collection containing the following attributes:
  `String`
  `getPackageType(int index)`
  Returns the type of a specified package.
  `int`
  `getPerfCondIndex(String condName)`
  Returns the index position of the corresponding condition in the expression object for the given performer condition.
  `String`
  `getPerformerCondition(String condtionName)`
  For the given condition name, return the corresponding performer condition.
  `int`
  `getPerformerConditionCount()`
  Returns the number of performer conditions in the activity.
  `IDfId`
  `getPerformerConditionId()`
  Returns the object ID of the repository object that stores the performer conditions.
  `String`
  `getPerformerConditionName(int index)`
  Returns the name of a performer condition.
  `IDfList`
  `getPerformerConditionNames()`
  Return a String list that contains the name of the performer conditions.
  `String`
  `getPerformerConditionUser(int index)`
  Returns the user associated with a specified performer condition.
  `int`
  `getPerformerFlag()`
  Indicates whether the activity's performer can delegate or extend the activity.
  `String`
  `getPerformerName()`
  Returns the name of the user or group intended to perform the activity.
  `int`
  `getPerformerNameCount()`
  Returns the number of values the performer name attribute has.
  `IDfList`
  `getPerformers(String conditionName)`
  For the given condition name, return a String list of performers used for this condition.
  `int`
  `getPerformerType()`
  Returns the kind of user who can perform the activity.
  `int`
  `getPortCount()`
  Returns the number of ports in the activity.
  `String`
  `getPortName(int index)`
  Returns the name of a specified port.
  `String`
  `getPortType(int index)`
  Returns the type of a specified port.
  `int`
  `getPostTimer()`
  Returns the post-timer value defined for the activity.
  `IDfId`
  `getPostTimerAction(int index)`
  Returns the ID of a timer action object at the given index within a timer series.
  `int`
  `getPostTimerCount()`
  Returns the number of timer actions within the series.
  `int`
  `getPostTimerIncrement(int index)`
  Returns the interval in minutes that must pass before the timer is fired.
  `int`
  `getPreTimer()`
  Returns the pre-timer value for the activity.
  `IDfId`
  `getPreTimerAction(int index)`
  Returns the ID of a timer action object at the given index within a timer series.
  `int`
  `getPreTimerCount()`
  Returns the number of timer actions within the series.
  `int`
  `getPreTimerIncrement(int index)`
  Returns the interval in minutes that must pass before the timer is fired.
  `String`
  `getRepeatingPerformerName(int index)`
  Returns the performer name attribute at the specified index.
  `String`
  `getResolvePackageName()`
  Returns the package name used to resolve performer aliasing.
  `int`
  `getResolveType()`
  Returns the performer aliasing resolve type of the activity.
  `String`
  `getRouteCaseCondition(String RouteCaseIdentifier)`
  Returns the route case condition of the given route case identifier.
  `IDfList`
  `getRouteCaseIdentifiers()`
  Returns a String list that contains the name of the route case identifiers.
  `IDfList`
  `getRouteCasePorts(String RouteCaseIdentifier)`
  Returns a String list that contains the output ports of the given route case identifier.
  `boolean`
  `getSignoffRequired()`
  Indicates whether the activity requires a sign off.
  `String`
  `getTaskSubject()`
  Returns a subject for the task inbox item, the subject will be constructed at the creation time of the inbox item
  `int`
  `getTransitionEvalCount()`
  Returns the number of completed tasks that are required to trigger the next activities.
  `int`
  `getTransitionFlag()`
  Returns when and how to trigger the selected outgoing paths when activity is manual transition
  `int`
  `getTransitionMaxOutputCount()`
  Returns the maximum number of output ports user can select at runtime when activity is manual transition
  `int`
  `getTransitionType()`
  Returns the type of transition defined for the activity.
  `String`
  `getTriggerEvent()`
  Returns the expected event type that can trigger the activity.
  `int`
  `getTriggerThreshold()`
  Returns the number of input ports in the activity that must be triggered to start the activity.
  `boolean`
  `hasCompatibilityRouteCases()`
  Indicates whether or not this activity supports compatibility (pre-5.3) route cases.
  `void`
  `install()`
  Installs a validated activity.
  `void`
  `invalidate()`
  Moves a validated activity to the draft state.
  `boolean`
  `isExecSaveResults()`
  Indicates whether the results of the activity's actions are saved to a document.
  `boolean`
  `isPostTimerRepeatLastAction()`
  Indicates if the final timer in the series should repeat.
  `boolean`
  `isPreTimerRepeatLastAction()`
  Indicates if the final timer in the series should repeat.
  `boolean`
  `isPrivate()`
  Indicates whether the activity is a public or private activity.
  `boolean`
  `isRepeatableInvoke()`
  Indicates whether the activity can be invoked multiple times when the workflow is running.
  `IDfAttributeValueCondition`
  `newAttributeValueCondition()`
  Factory method for attribute value transition conditions.
  `IDfXPathCondition`
  `newXPathCondition()`
  Factory method for XPath transition conditions.
  `void`
  `removePackageInfo(String portName, String packageName)`
  Removes a package definition from the activity.
  `void`
  `removePerformerCondition(String conditionName)`
  Removes a route case from the activity.
  `void`
  `removePort(String portName)`
  Removes a port from the activity.
  `void`
  `removePostTimers()`
  Removes all pre-timers from this activity.
  `void`
  `removePreTimers()`
  Removes all pre-timers from this activity.
  `void`
  `removeRouteCase(String routeCaseIdentifier)`
  Removes a route case from the activity.
  `void`
  `setControlFlag(int flag)`
  Sets the control flag attribute of the activity.
  `void`
  `setExecErrHandling(int execErrHandling)`
  Sets the failure-handling protocol for the activity's execution.
  `void`
  `setExecMethodId(IDfId execMethodId)`
  Identifies the method that executes the activity's actions.
  `void`
  `setExecRetryInterval(int execRetryInterval)`
  Sets the retry interval if the activity's execution fails.
  `void`
  `setExecRetryMax(int execRetryMax)`
  Sets the maximum retry number if the activity's execution fails.
  `void`
  `setExecSaveResults(boolean execSaveResults)`
  Defines whether to save the results of an automatic activity execution.
  `void`
  `setExecSubtype(int subType)`
  Defines the activity's exec_subtype.
  `void`
  `setExecTimeOut(int execTimeOut)`
  Sets the time-out period for the method that executes the activity's actions.
  `void`
  `setExecType(int execType)`
  Defines the activity's execution type as manual or automatic.
  `void`
  `setPerformerFlag(int performerFlag)`
  Defines whether the activity's performer can delegate or extend the activity.
  `void`
  `setPerformerName(String performerName)`
  Defines the user or group you want to perform the activity.
  `void`
  `setPerformerType(int performerType)`
  Defines who can perform the activity.
  `void`
  `setPostTimer(int postTimer)`
  Defines the expected maximum number of hours to complete the activity.
  `void`
  `setPostTimerRepeatLastAction(boolean repeatLast)`
  Sets an indicator for whether or not the final timer in a series should repeat.
  `void`
  `setPreTimer(int preTimer)`
  Sets the pre-timer interval for the activity.
  `void`
  `setPreTimerRepeatLastAction(boolean repeatLast)`
  Sets an indicator for whether or not the final timer in a series should repeat.
  `void`
  `setPrivate(boolean isPrivate)`
  Defines the activity as public or private.
  `void`
  `setRepeatableInvoke(boolean repeatableInvoke)`
  Defines whether the activity can be invoked multiple times when the workflow is running.
  `void`
  `setRepeatingPerformerName(int index, String name)`
  Sets the performer name attribute at a specified index.
  `void`
  `setResolvePackageName(String resolvePkgName)`
  Sets the package name used to resolve performer aliasing.
  `void`
  `setResolveType(int resolveType)`
  Sets the performer aliasing resolve type of the activity.
  `void`
  `setSignoffRequired(boolean signoffRequired)`
  Defines whether the activity requires a sign off.
  `void`
  `setTaskSubject(String name)`
  Set a subject for the task inbox item, the subject will be constructed at the creation time of the inbox item
  `void`
  `setTransitionEvalCount(int count)`
  Set the number of completed tasks that are required to trigger the next activities.
  `void`
  `setTransitionFlag(int flag)`
  Together with the transition eval count, set when and how to trigger the selected outgoing paths when activity is manual transition
  `void`
  `setTransitionMaxOutputCount(int count)`
  Set the maximum number of output ports user can select at runtime when activity is manual transition
  `void`
  `setTransitionType(int transitionType)`
  Defines the transition type for the activity.
  `void`
  `setTriggerEvent(String triggerEvent)`
  Sets the event type that is expected to trigger the activity.
  `void`
  `setTriggerThreshold(int triggerThreshold)`
  Defines the trigger threshold for the activity.
  `void`
  `uninstall()`
  Uninstalls an activity.
  `void`
  `validate()`
  Validates the package definitions associated with the activity.

  ### Methods inherited from interface com.documentum.fc.client.IDfPersistentObject

  `addChildRelative, addParentRelative, apiExec, apiGet, apiSet, destroy, fetch, fetchWithCaching, getAttrAssistance, getAttrAssistanceWithValues, getAttrAsstDependencies, getChildRelatives, getParentRelatives, getPartition, getType, getValidator, getVStamp, getWidgetType, isDeleted, isDirty, isInstanceOf, isNew, isReplica, lock, lockEx, registerEvent, removeChildRelative, removeParentRelative, revert, save, setPartition, signoff, unRegisterEvent, unRegisterEventEx, validateAllRules, validateAttrRules, validateAttrRulesWithValue, validateAttrRulesWithValues, validateObjRules, validateObjRulesWithValues`

  ### Methods inherited from interface com.documentum.fc.client.IDfSysObject

  `addDigitalSignature, addESignature, addNote, addReference, addRendition, addRenditionEx, addRenditionEx2, addRenditionEx3, appendContent, appendContentEx, appendFile, appendFileEx, appendPart, areAttributesModifiable, assemble, asVirtualDocument, attachPolicy, bindFile, branch, cancelCheckout, cancelCheckoutEx, cancelScheduledDemote, cancelScheduledPromote, cancelScheduledResume, cancelScheduledSuspend, canDemote, canPromote, canResume, canSuspend, checkin, checkinEx, checkout, checkoutEx, demote, destroyAllVersions, detachPolicy, disassemble, freeze, getAccessDate, getAccessorApplicationPermit, getAccessorCount, getAccessorName, getAccessorPermit, getAccessorPermitType, getAccessorXPermit, getAccessorXPermitNames, getACL, getACLDomain, getACLName, getAclRefValid, getAcsRequests, getAliasSet, getAliasSetId, getAntecedentId, getApplicationType, getAssembledFromId, getAuthors, getAuthorsCount, getBranchCount, getCabinetId, getChronicleId, getCollectionForContent, getCollectionForContentEx2, getCollectionForContentEx3, getCollectionForContentEx4, getComponentId, getComponentIdCount, getCompoundArchitecture, getContainId, getContainIdCount, getContent, getContentAvailability, getContentEx, getContentEx2, getContentEx3, getContentsId, getContentSize, getContentSize, getContentState, getContentStateCount, getContentType, getCreationDate, getCreatorName, getCurrentState, getCurrentStateName, getDirectDescendant, getDoubleContentAttr, getExceptionStateName, getFile, getFileEx, getFileEx2, getFolderId, getFolderIdCount, getFormat, getFrozenAssemblyCount, getFullText, getGroupName, getGroupPermit, getHasEvents, getHasFolder, getHasFrozenAssembly, getImplicitVersionLabel, getKeywords, getKeywordsCount, getLatestFlag, getLinkCount, getLinkHighCount, getLocations, getLockDate, getLockMachine, getLockOwner, getLogEntry, getMasterDocbase, getModifier, getModifyDate, getNextStateName, getObjectName, getOtherFileSize, getOwnerName, getOwnerPermit, getPageCount, getPath, getPathEx, getPathEx2, getPermissions, getPermit, getPermitEx, getPolicyId, getPolicyName, getPreviousStateName, getReferenceCount, getRemoteId, getRenditions, getResolutionLabel, getResumeState, getResumeStateName, getRetainerCount, getRetainerId, getRetainUntilDate, getRetentionDate, getRouters, getSpecialApp, getStatus, getStorageType, getStringContentAttr, getSubject, getTimeContentAttr, getTitle, getTypeName, getVdmPath, getVdmPathDQL, getVersionLabel, getVersionLabelCount, getVersionLabels, getVersionPolicy, getVersions, getWorkflows, getWorldPermit, getXPermit, getXPermitList, getXPermitNames, grant, grantPermit, hasPermission, insertContent, insertContentEx, insertFile, insertFileEx, insertPart, isArchived, isCheckedOut, isCheckedOutBy, isContentTransferCapabilityEnabled, isFrozen, isHidden, isImmutable, isLinkResolved, isPublic, isReference, isSuspended, isVirtualDocument, link, mark, mount, print, promote, prune, queue, refreshReference, removeContent, removeNote, removePart, removeRendition, removeRenditionEx, removeRenditionEx2, resolveAlias, resume, revertACL, revoke, revokePermit, saveAsNew, saveLock, scheduleDemote, schedulePromote, scheduleResume, scheduleSuspend, setACL, setACLDomain, setACLName, setApplicationType, setArchived, setAuthors, setCompoundArchitecture, setContent, setContentEx, setContentEx2, setContentType, setDoubleContentAttribute, setFile, setFileEx, setFullText, setGroupName, setGroupPermit, setHidden, setIsVirtualDocument, setKeywords, setLinkResolved, setLogEntry, setObjectName, setOwnerName, setOwnerPermit, setPath, setResolutionLabel, setSpecialApp, setStatus, setStorageType, setStringContentAttribute, setSubject, setTimeContentAttribute, setTitle, setWorldPermit, suspend, unfreeze, unlink, unmark, updatePart, updatePartEx, useACL, verifyESignature`

  ### Methods inherited from interface com.documentum.fc.client.IDfTypedObject

  `appendBoolean, appendDouble, appendId, appendInt, appendString, appendTime, appendValue, dump, enumAttrs, findAttrIndex, findBoolean, findDouble, findId, findInt, findString, findTime, findValue, getAllRepeatingStrings, getAttr, getAttrCount, getAttrDataType, getBoolean, getDouble, getId, getInt, getLong, getObjectId, getObjectSession, getOriginalSession, getRepeatingBoolean, getRepeatingDouble, getRepeatingId, getRepeatingInt, getRepeatingLong, getRepeatingString, getRepeatingTime, getRepeatingValue, getSession, getSessionManager, getString, getTime, getValue, getValueAt, getValueCount, hasAttr, insertBoolean, insertDouble, insertId, insertInt, insertString, insertTime, insertValue, isAttrRepeating, isNull, remove, removeAll, setBoolean, setDouble, setId, setInt, setNull, setRepeatingBoolean, setRepeatingDouble, setRepeatingId, setRepeatingInt, setRepeatingString, setRepeatingTime, setRepeatingValue, setSessionManager, setString, setTime, setValue, truncate`

- ## Field Details

  - ### EXEC_SUBTYPE_DEFAULT

    static final int EXEC_SUBTYPE_DEFAULT
    See Also:
      - Constant Field Values

  - ### EXEC_SUBTYPE_INBOUND

    static final int EXEC_SUBTYPE_INBOUND
    See Also:
      - Constant Field Values

  - ### EXEC_SUBTYPE_INBOUND_INITIATE

    static final int EXEC_SUBTYPE_INBOUND_INITIATE
    See Also:
      - Constant Field Values

  - ### EXEC_SUBTYPE_MANUAL_INITIATE

    static final int EXEC_SUBTYPE_MANUAL_INITIATE
    See Also:
      - Constant Field Values

  - ### PORT_TYPE_INPUT

    static final String PORT_TYPE_INPUT
    See Also:
      - Constant Field Values

  - ### PORT_TYPE_OUTPUT

    static final String PORT_TYPE_OUTPUT
    See Also:
      - Constant Field Values

  - ### PORT_TYPE_REVERT

    static final String PORT_TYPE_REVERT
    See Also:
      - Constant Field Values

  - ### PORT_TYPE_EXCEPTION

    static final String PORT_TYPE_EXCEPTION
    See Also:
      - Constant Field Values

  - ### USE_CONDITION_PERFORMER

    static final String USE_CONDITION_PERFORMER
    See Also:
      - Constant Field Values

  - ### PACKAGE_IS_VISIBLE

    static final int PACKAGE_IS_VISIBLE
    Flag bit used to indicate that this package is visible to this activity.
    See Also:
      - Constant Field Values

  - ### PACKAGE_CAN_BE_EMPTY

    static final int PACKAGE_CAN_BE_EMPTY
    Flag bit used to indicate that this package can be empty at the end of this activity.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### validate

    void validate() throws DfException
    Validates the package definitions associated with the activity.

    Calling `validate` requires Relate permission on the activity or Sysadmin or Superuser privileges. If the method is successful, it sets the activity's state to validated.
    Throws:
      `DfException` - if the server returns an error

  - ### invalidate

    void invalidate() throws DfException
    Moves a validated activity to the draft state.

    Calling `validate` requires Relate permission on the activity or Sysadmin or Superuser privileges.
    Throws:
      `DfException` - if the server returns an error

  - ### install

    void install() throws DfException
    Installs a validated activity.

    Calling `install` requires Relate permission on the activity or Sysadmin or Superuser privileges. If the method is successful, it sets the activity's state to installed.
    Throws:
      `DfException` - if the server returns an error

  - ### uninstall

    void uninstall() throws DfException
    Uninstalls an activity.

    `uninstall` moves an installed activity back to the validated state. Any running workflows that reference the activity are halted. Any installed process definitions that include the activity are set to the uninstalled state.

    Calling `uninstall` requires Relate permission on the activity or Sysadmin or Superuser privileges.
    Throws:
      `DfException` - if the server returns an error

  - ### addPort

    void addPort(String portName, String portType) throws DfException
    Adds a port to the activity.

    Ports are the means by which a package moves from one activity to another in a workflow. Each port in an activity must have a unique name.

    The activity must be in the draft or validated state to add a port. If the activity is in the validated state, adding a port sets the activity back to the draft state.

    After you add a port, use `addPackageInfo(java.lang.String, java.lang.String, java.lang.String, com.documentum.fc.common.IDfId, java.lang.String, java.lang.String)` or `addPackageInfoEx(java.lang.String, java.lang.String, java.lang.String, com.documentum.fc.common.IDfId, java.lang.String, java.lang.String, int)` to add a package definition to the port.

    For more information about workflows and defining activities, refer to Server Fundamentals.
    Parameters:
      `portName` - a name for the new port. The name must be unique among the port names in the activity.
      `portType` - defines what kind of port this is. Valid values are: INPUT, OUTPUT, and REVERT.
    Throws:
      `DfException` - if the server returns an error

  - ### removePort

    void removePort(String portName) throws DfException
    Removes a port from the activity.

    Ports are the means by which a package moves from one activity to another in a workflow. Each port in an activity has a unique name.

    The activity must be in the draft or validated state to remove a port. If the activity is in the validated state, removing a port sets the activity back to the draft state.

    For more information about workflows and activities, refer to Server Fundamentals.
    Parameters:
      `portName` - the name of the port you want to remove.
    Throws:
      `DfException` - if the server returns an error

  - ### addPackageInfo

    void addPackageInfo(String portName, String packageName, String packageType, IDfId packageId, String packageLabel, String packageOperation) throws DfException
    Adds a package definition to a port in the activity.

    A package definition represents an object that the activity handles.

    The activity must be in the draft or validated state to add a package definition to one of its ports. If the activity is in the validated state, adding a package definition sets the activity back to the draft state.

    The port identified in `portName` must exist in the activity.

    The package definition must be compatible with the definition of the package defined for the port to which the port specified in `portName` is linked. For example, if `portName` represents an output port, the definition must be compatible with the input port to which `portName` is linked. Refer to Content Server Fundamentals for details about package compatability.

    This method sets the r_package_flag attribute to 1, meaning the package is visible and cannot be empty. If you want to set the behavior controlled by this attribute differently, use `addPackageInfoEx(java.lang.String, java.lang.String, java.lang.String, com.documentum.fc.common.IDfId, java.lang.String, java.lang.String, int)`. For more information about packages and activities, refer to Server Fundamentals.
    Parameters:
      `portName` - name of the port to which you are adding the package
      `packageName` - name of the package. This must be unique among the packages defined in the activity.
      `packageType` - the object type of the package
      `packageId` - an IDfID object that contains the package's object ID. If you don't provide a version label in the `packageLabel` parameter, the object identified by the object ID is bound to the port. If you include the `packageLabel` parameter, the method searches the version tree to which the object belongs and binds the version with the specified label to the port.
      `packageLabel` - the version label of the package. This is an optional argument. If you include this argument, the method binds the specified version of the package to the port. If you don't include this argument, the version identified by `packageId` is bound to the port.
      `packageOperation` - identifies the application that will be used to perform the actions associated with the activity. This argument is intended primarily for automatic activities.
    Throws:
      `DfException` - if the server returns an error

  - ### removePackageInfo

    void removePackageInfo(String portName, String packageName) throws DfException
    Removes a package definition from the activity.

    A package definition represents an object that the activity handles. The activity must be in the draft or validated state to remove a package definition. If the activity is in the validated state, removing a package definition sets the activity back to the draft state.

    For more information about packages and activities, refer to Server Fundamentals.
    Parameters:
      `portName` - the name of the port with which the package is associated
      `packageName` - the name of the package
    Throws:
      `DfException` - if the server returns an error

  - ### addRouteCase

    void addRouteCase(String routeCaseIdentifier, String condition, IDfList outputPorts) throws DfException
    Adds a route case to the activity.

    A route case identifies a boolean condition and the output ports associated with that condition. Route cases support activities that have a transition type defined as automatic. When the activity is completed, the conditional logic in the route cases is evaluated and a set of output ports selected as a result.

    The activity must be in the draft or validated state to add a route case. If the activity is in the validated state, adding a route case sets the activity back to the draft state.

    You can use the tokens dm_workflow, dmi_workitem, or dmi_package in the condition to refer to the workflow, work item, or package object. For example:

         String condition = "dm_workflow.object_name='test'";
         act.addRouteCase("routecase1",condition,null);

    If you reference dmi_workitem, Content Server interprets that to mean the work item referenced in the r_last_witem attribute of the workflow. If you reference dmi_package, Content Server uses the first component in the package to resolve the condition. Additionally, when you use dmi_package, the condition can only reference an attribute defined for the object type specified in the package definition. For example, if the package definition specifies dm_sysobject, but the package component is "my_sysObj_subtype", the condition must reference an attribute defined for dm_sysobject. It cannot reference an attribute defined for "my_sysobj_subtype".

    For more information about route cases, refer to Server Fundamentals.
    Parameters:
      `routeCaseIdentifier` - the name of the route case or the keyword `exception` to identify an exception route case.
      `condition` - the boolean condition for the route case. Specify this as `null` if the `routeCaseIdentifier` is `exception` if you want to change the output port list for the existing route case condition.
      `outputPorts` - an IDfList interface that contains the names of the selected output ports. These are the ports that will be selected if the `condition` evaluates to `true`. This can be `null` if you only want to change the condition associated with the route case.
    Throws:
      `DfException` - if the server returns an error

  - ### removeRouteCase

    void removeRouteCase(String routeCaseIdentifier) throws DfException
    Removes a route case from the activity.

    A route case identifies a Boolean condition and the output ports associated with that condition. Route cases support activities that have a transition type defined as automatic. When the activity is completed, the conditional logic in the route cases is evaluated and a set of output ports selected as a result.

    The activity must be in the draft or validated state to remove a route case. If the activity is in the validated state, removing a route case sets the activity back to the draft state.

    For more information about route cases, refer to Server Fundamentals.
    Parameters:
      `routeCaseIdentifier` - the name of the route case. Use the keyword EXCEPTIONAL to remove the exception route case.
    Throws:
      `DfException` - if the server returns an error

  - ### getRouteCaseIdentifiers

    IDfList getRouteCaseIdentifiers() throws DfException
    Returns a String list that contains the name of the route case identifiers. If there is no route case condition setup, returns an empty list.
    Returns:
      a String list that contains the name of the route case identifiers.
    Throws:
      `DfException`

  - ### getRouteCaseCondition

    String getRouteCaseCondition(String RouteCaseIdentifier) throws DfException
    Returns the route case condition of the given route case identifier.
    Parameters:
      `RouteCaseIdentifier` - the name of the route case or the keyword `EXCEPTIONAL` to identify an exception route case.
    Returns:
      the route case condition
    Throws:
      `DfException`

  - ### getRouteCasePorts

    IDfList getRouteCasePorts(String RouteCaseIdentifier) throws DfException
    Returns a String list that contains the output ports of the given route case identifier.
    Parameters:
      `RouteCaseIdentifier` - the name of the route case or the keyword `EXCEPTIONAL` to identify an exception route case.
    Returns:
      a String list
    Throws:
      `DfException`

  - ### isPrivate

    boolean isPrivate() throws DfException
    Indicates whether the activity is a public or private activity.

    A public activity definition is intended for use in workflow definitions (a dm_process object) written by any user. A private definition is intended for use only by the person who created the activity definition. This property is informational only. The server does not enforce the privacy constraint.
    Returns:
      `true` if the activity is private; `false` if the activity if public
    Throws:
      `DfException` - if the server returns an error

  - ### setPrivate

    void setPrivate(boolean isPrivate) throws DfException
    Defines the activity as public or private.

    A public activity definition is intended for use in workflow definitions (a dm_process object) written by any user. A private definition is intended for use only by the person who created the activity definition. This property is informational only. The server does not enforce the privacy constraint. The default is private if you do not explicity set the activity to public.
    Parameters:
      `isPrivate` - set this to `true` to define the activity as private or `false` to define the activity as public.
    Throws:
      `DfException` - if the server returns an error

  - ### getDefinitionState

    String getDefinitionState() throws DfException
    Returns the state of the activity definition.

    An activity has one of three states: draft, validated, and installed. All activities in a workflow definition must be installed before a user can start an instance of the workflow.
    Returns:
      returns draft, validated, or installed
    Throws:
      `DfException` - if the server returns an error

  - ### getTriggerThreshold

    int getTriggerThreshold() throws DfException
    Returns the number of input ports in the activity that must be triggered to start the activity.

    An activity can have one or more input ports. In some cases, a workflow design requires multiple input ports in an activity to receive their packages before the activity can start. The trigger threshold is the minimum number of input ports that must receive their packages to start the activity. For more information about activities and the trigger threshold, refer to Server Fundamentals.
    Returns:
      The minimum number of input ports that must be triggered to start the activity.
    Throws:
      `DfException` - if the server returns an error

  - ### setTriggerThreshold

    void setTriggerThreshold(int triggerThreshold) throws DfException
    Defines the trigger threshold for the activity.

    An activity can have one or more input ports. In some cases, a workflow design requires multiple input ports in an activity to receive their packages before the activity can start. The trigger threshold is the minimum number of input ports that must receive their packages to start the activity. For more information about activities and the trigger threshold, refer to Server Fundamentals.
    Parameters:
      `triggerThreshold` - an integer number from 0 to the total number of input ports in the activity. 0 is only valid for begin-type activities.
    Throws:
      `DfException` - if the server returns an error

  - ### getTriggerEvent

    String getTriggerEvent() throws DfException
    Returns the expected event type that can trigger the activity.

    An activity can be started by a specified event. One triggering event can be defined for an activity (see `setTriggerEvent(java.lang.String)`). If an activity has both a trigger event and a trigger threshold defined, both most be met to start the activity. For more information about triggering thresholds and events, refer to Server Fundamentals.
    Returns:
      The name of the triggering event
    Throws:
      `DfException` - if the server returns an error

  - ### setTriggerEvent

    void setTriggerEvent(String triggerEvent) throws DfException
    Sets the event type that is expected to trigger the activity.

    An activity can be started by a specified event. One triggering event can be defined for an activity. If an activity has both a trigger event and a trigger threshold defined, both most be met to start the activity. For more information about triggering thresholds and events, refer to Server Fundamentals.
    Parameters:
      `triggerEvent` - an event name, in the format dm_eventname; for example, dm_signoff or dm_lock.
    Throws:
      `DfException` - if the server returns an error

  - ### getPreTimer

    int getPreTimer() throws DfException
    Returns the pre-timer value for the activity.

    A pre-timer value defines the maximum expected time interval between the start of the workflow and the start of the activity. If the interval is exceeded, a message is sent to the workflow's supervisor. The interval is expressed in hours.
    Returns:
      The number of hours defined in the pre-timer interval. A value of 0 means the timer is not in use.
    Throws:
      `DfException` - if a server error occurs

  - ### setPreTimer

    void setPreTimer(int preTimer) throws DfException
    Sets the pre-timer interval for the activity.

    A pre-timer value defines the maximum expected time interval between the start of the workflow and the start of the activity. If the interval is exceeded, a message is sent to the workflow's supervisor. The interval is expressed in hours.
    Parameters:
      `preTimer` - an integer value representing the maximum number of expected hours between the start of the workflow and the start of the activity. Setting this to 0 means that the timer is not in use.
    Throws:
      `DfException` - if a server error occurs

  - ### getPostTimer

    int getPostTimer() throws DfException
    Returns the post-timer value defined for the activity.

    The post-timer value defines the expected maximum number of hours to complete the activity. The timer is started when the activity starts. If the activity is not completed within the number of hours defined in the post-timer, a message is sent to the workflow's supervisor.
    Returns:
      The number of hours defined in the post-timer. A value of 0 means the timer is not in use.
    Throws:
      `DfException` - if the server returns an error

  - ### setPostTimer

    void setPostTimer(int postTimer) throws DfException
    Defines the expected maximum number of hours to complete the activity.

    The post-timer value defines the expected maximum number of hours to complete the activity. The timer is started when the activity starts. If the activity is not completed within the number of hours defined in the post-timer, a message is sent to the workflow's supervisor.
    Parameters:
      `postTimer` - an integer reprenting the expected maximum number of hours to complete the activity. Setting this to 0 means that the timer is not in use.
    Throws:
      `DfException` - if the server returns an error

  - ### isRepeatableInvoke

    boolean isRepeatableInvoke() throws DfException
    Indicates whether the activity can be invoked multiple times when the workflow is running.

    Returns:
      `true` if the activity can be invoked multiple times; `false` if the activity can be invoked only once
    Throws:
      `DfException` - if the server returns an error

  - ### setRepeatableInvoke

    void setRepeatableInvoke(boolean repeatableInvoke) throws DfException
    Defines whether the activity can be invoked multiple times when the workflow is running.

    Parameters:
      `repeatableInvoke` - set this to `true` if the activity can be invoked multiple times, or to `false` if the activity can be invoked only once.
    Throws:
      `DfException` - if the server returns an error

  - ### getExecType

    int getExecType() throws DfException
    Returns the execution type of the activity.

    An activity's execution type is either manual or automatic. Manual activities are performed by people. Automatic activities are performed by procedures or applications invoked by dm_method objects. For more information about the execution type, refer to Server Fundamentals.
    Returns:
      0, indicating manual execution, or 1, indicating automatic execution
    Throws:
      `DfException` - if the server returns an error

  - ### setExecType

    void setExecType(int execType) throws DfException
    Defines the activity's execution type as manual or automatic.

    Each activity has some associated actions. These actions can be manually performed, by a person, or automatically performed, using a dm_method object. For more information about manual and automatic execution, refer to Server Fundamentals.
    Parameters:
      `execType` - 0, to define the activity execution as manual; 1, to define the execution as automatic.
    Throws:
      `DfException` - if the server returns an error

  - ### getExecMethodId

    IDfId getExecMethodId() throws DfException
    Returns the object ID of the method object that executes the activity's actions.

    Each activity has some associated actions. These actions can be manually performed, by a user, or automatically performed, using a dm_method object. This method is valid only for automatic activities. To determine if an activity is automatic or manual, use `getExecType()`. For more information about manual and automatic execution, refer to Server Fundamentals.
    Returns:
      An IDfId interface to the method's object ID
    Throws:
      `DfException` - if the server returns an error

  - ### setExecMethodId

    void setExecMethodId(IDfId execMethodId) throws DfException
    Identifies the method that executes the activity's actions.

    If the activity's execution type is defined as automatic, you must specify the method that executes the activity's actions. For more information about automatic execution, refer to Server Fundamentals.
    Parameters:
      `execMethodId` - an IDfId interface to the method's object ID
    Throws:
      `DfException` - if the server returns an error

  - ### isExecSaveResults

    boolean isExecSaveResults() throws DfException
    Indicates whether the results of the activity's actions are saved to a document.

    This method is useful only for automatic activities (activities whose actions are performed by invoking a method). For automatic activities, you can choose to save the results generated by the actions to a document. To retrieve the object ID of the document that contains the results, use `IDfWorkitem.getExecResultId()`.
    Returns:
      `true` if the results are saved to a document; `false` if the results are not saved
    Throws:
      `DfException` - if the server returns an error

  - ### setExecSaveResults

    void setExecSaveResults(boolean execSaveResults) throws DfException
    Defines whether to save the results of an automatic activity execution.

    If the activity's execution is defined as automatic, you can choose to save the results of the execution in a document.
    Parameters:
      `execSaveResults` - set this to `true` if you want to save the results of an automatic activity or to `false` if you don't want to save the results.
    Throws:
      `DfException` - if the server returns an error
    See Also:
      - `IDfWorkitem.getExecResultId()`

  - ### getExecTimeOut

    int getExecTimeOut() throws DfException
    Returns the time-out period, in seconds, for the method that executes the activity's actions.

    This method is only useful for automatic activities. The time-out value defined in the activity is used on the command line when the method is executed and overrides any time-out period defined in the method itself. For more information about about time-out periods for methods, refer to the Server Administrator's Guide.
    Returns:
      The number of seconds in the time-out period
    Throws:
      `DfException` - if the server returns an error

  - ### setExecTimeOut

    void setExecTimeOut(int execTimeOut) throws DfException
    Sets the time-out period for the method that executes the activity's actions.

    This method is only useful for automatic activities. The time-out value defined in the activity is used on the command line when the method is executed and overrides any time-out period defined in the method itself. For more information about time-out periods for methods, refer to the Server Administrator's Guide.
    Parameters:
      `execTimeOut` - the number of seconds in the time-out period
    Throws:
      `DfException` - if the server returns an error

  - ### getExecErrHandling

    int getExecErrHandling() throws DfException
    Returns information about how the activity's runtime instance handles execution failure.

    For more information about activity execution, refer to Server Fundamentals.
    Returns:
      0, meaning the execution failed and stopped; or 1, meaning the execution is marked as failed but proceeds; or 2, meaning the execution failed and the workflow was terminated.
    Throws:
      `DfException` - if the server returns an error

  - ### setExecErrHandling

    void setExecErrHandling(int execErrHandling) throws DfException
    Sets the failure-handling protocol for the activity's execution.

    For more information about activity execution, refer to Server Fundamentals.
    Parameters:
      `execErrHandling` - set this to 0 to stop the execution if failure occurs or to 1 to proceed even if failure occurs
    Throws:
      `DfException` - if the server returns an error

  - ### getExecRetryMax

    int getExecRetryMax() throws DfException
    Returns the maximum retry number if the method execution fails for the activity

    For more information about activity execution, refer to Server Fundamentals.
    Returns:
      The maximum retry number0 if the execution failed.
    Throws:
      `DfException` - if the server returns an error

  - ### setExecRetryMax

    void setExecRetryMax(int execRetryMax) throws DfException
    Sets the maximum retry number if the activity's execution fails.

    For more information about activity execution, refer to Server Fundamentals.
    Parameters:
      `execRetryMax` - set this to 0 if want no retry if execution fails.
    Throws:
      `DfException` - if the server returns an error

  - ### getExecRetryInterval

    int getExecRetryInterval() throws DfException
    Returns the retry interval if the method execution fails for the activity

    For more information about activity execution, refer to Server Fundamentals.
    Returns:
      The retry interval if the execution failed.
    Throws:
      `DfException` - if the server returns an error

  - ### setExecRetryInterval

    void setExecRetryInterval(int execRetryInterval) throws DfException
    Sets the retry interval if the activity's execution fails.

    For more information about activity execution, refer to Server Fundamentals.
    Parameters:
      `execRetryInterval` - set this to 0 if want to retry immediately if execution fails.
    Throws:
      `DfException` - if the server returns an error

  - ### getExecSubtype

    int getExecSubtype() throws DfException
    Returns the exec_subtype attribute of the activity.

    An activity's exec_type is either 0 (outbound) or 1 (inbound). For more information about the execution type, refer to Server Fundamentals.
    Returns:
      IDfActivity.EXEC_SUBTYPE_OUTBOUND indicating outbound activity; or IDfActivity.EXEC_SUBTYPE_INBOUND, indicating inbound activity.
    Throws:
      `DfException` - if the server returns an error

  - ### setExecSubtype

    void setExecSubtype(int subType) throws DfException
    Defines the activity's exec_subtype.

    For more information about regular and fault-handling activity, refer to Server Fundamentals.
    Parameters:
      `subType` - 0, to define the activity as outbound activity; 1, to define the activity as inbound activity.
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerType

    int getPerformerType() throws DfException
    Returns the kind of user who can perform the activity.

    Returns:
      An integer value that corresponds to the user who can perform the activity. Valid values and their correspondences are:

           Value    Meaning
           0        Workflow supervisor
           1        Repository owner
           2        Last performer of previous activity
           3        A user
           4        All members in a group
           5        Any user in a group
           6        Member of a group who has the least workload
           7        One member of a group, selected in round-robin approach

    Throws:
      `DfException` - if the server returns an error

  - ### setPerformerType

    void setPerformerType(int performerType) throws DfException
    Defines who can perform the activity.

    The possible performers of an activity depend on whether the activity is manual or automatic. For a complete explanation of manual and automatic activities and their performers, refer to Server Fundamentals.
    Parameters:
      `performerType` - set this to the integer value that corresponds to who can perform the activity. For manual activities, valid values and their correspondences are:

           Value    Meaning
           0        Workflow supervisor
           1        Repository owner
           2        Last performer of previous activity
           3        A user
           4        All members in a group
           5        Any user in a group
           6        Member of a group who has the least workload
           7        One member of a group, selected in round-robin approach

      For choices 4-7, the group name must be specified in performer_name.
      For automatic activities, valid values and their correspondences are:

           Value    Meaning
           0        Workflow supervisor
           1        Repository owner
           2        Last performer of previous activity
           3        A user

      You must have Superuser privileges to assign values 1-3 for automatic activities.
    Throws:
      `DfException` - if the server returns an error
    See Also:
      - `setPerformerName(java.lang.String)`

  - ### getPerformerName

    String getPerformerName() throws DfException
    Returns the name of the user or group intended to perform the activity.

    For more information about activity performers, refer to Server Fundamentals.
    Returns:
      The name of the user or group intended to perform the activity.
    Throws:
      `DfException` - if the server returns an error

  - ### setPerformerName

    void setPerformerName(String performerName) throws DfException
    Defines the user or group you want to perform the activity.

    This setting, in conjunction with the performer type, determines who can perform the activity. The performer type is set using `setPerformerType(int)`. For information about the relationship of the performer type and performer name, refer to Server Fundamentals.
    Parameters:
      `performerName` - the name of the user or group that you want to perform the activity.
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerFlag

    int getPerformerFlag() throws DfException
    Indicates whether the activity's performer can delegate or extend the activity.

    Delegation allows the activity performer to delegate the generated workitem to another user. Extension allows the activity's performer to add additional performers at run time.

    For more information about delegation and extension, refer to Server Fundamentals.
    Returns:
      An integer value that indicates whether delegation, extension, or some combination of these is allowed. Valid values and their meanings are:

           Value    Meaning
           0        No delegation and no extension
           1        Delegation allowed
           2        Extension allowed
           3        Delegation and extension allowed

    Throws:
      `DfException` - if the server returns an error

  - ### setPerformerFlag

    void setPerformerFlag(int performerFlag) throws DfException
    Defines whether the activity's performer can delegate or extend the activity.

    Delegation allows the activity performer to delegate the generated workitem to another user. Extension allows the activity's performer to add additional performers at run time.

    For more information about delegation and extension, refer to Server Fundamentals.
    Parameters:
      `performerFlag` - set this to the integer value that corresponds to the abilities you want to give the performer. Valid values and their correspondences are:

           Value    Meaning
           0        No delegation and no extension
           1        Delegation allowed
           2        Extension allowed
           3        Delegation and extension allowed

    Throws:
      `DfException` - if the server returns an error

  - ### getTransitionType

    int getTransitionType() throws DfException
    Returns the type of transition defined for the activity.

    The type of transition defined for an activity determines how output ports are selected when the activity is completed.

    For more information, refer to Server Fundamentals.
    Returns:
      An integer that corresponds to the kind of transition. Valid values and their meanings are:

           Value    Meaning
           0        Prescribed
           1        Manual
           2        Automatic

    Throws:
      `DfException` - if the server returns an error

  - ### setTransitionType

    void setTransitionType(int transitionType) throws DfException
    Defines the transition type for the activity.

    The type of transition defined for an activity determines how output ports are selected when the activity is completed. If the transistion type is undefined, the default is `prescribed`, meaning that the package is sent to all output ports.

    For more information, refer to Server Fundamentals.
    Parameters:
      `transitionType` - set this to the integer value that corresponds to the kind of transition you want for the activity. Valid values and their meanings are:

           Value    Meaning
           0        Prescribed - package is forwarded to all output ports
           1        Manual - activity performers choose the output ports
           2        Automatic - route case conditional logic defines output ports

    Throws:
      `DfException` - if the server returns an error

  - ### getConditionId

    IDfId getConditionId() throws DfException
    Returns the object ID of the repository object that stores the route case conditions.

    Route cases define boolean conditions used in automatic activities to select output ports. When the activity completes, the server evaluates the conditions and selects the output ports associated with the first condition that is true.
    Returns:
      IDfId an interface to the object ID of the repository object that stores the route case conditions
    Throws:
      `DfException` - if the server returns an error

  - ### getSignoffRequired

    boolean getSignoffRequired() throws DfException
    Indicates whether the activity requires a sign off.

    Returns:
      `true` if the activity requires a sign off; `false` if it does not
    Throws:
      `DfException` - if the server returns an error

  - ### setSignoffRequired

    void setSignoffRequired(boolean signoffRequired) throws DfException
    Defines whether the activity requires a sign off.

    Parameters:
      `signoffRequired` - set this to `true` to require the activity performer to sign off, or `false` if no sign off is required.
    Throws:
      `DfException` - if the server returns an error

  - ### getPortCount

    int getPortCount() throws DfException
    Returns the number of ports in the activity.

    Ports are the means by which a package is moved from one activity to another. For more information about ports, refer to Server Fundamentals.
    Returns:
      The number of ports in the activity
    Throws:
      `DfException` - if the server returns an error

  - ### getPortName

    String getPortName(int index) throws DfException
    Returns the name of a specified port.

    Port names are stored in a repeating attribute. This method retrieves the name of the port at the specified index position in the attribute. Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPortCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the port name that you want to retrieve
    Returns:
      The name of the port
    Throws:
      `DfException` - if the server returns an error

  - ### getPortType

    String getPortType(int index) throws DfException
    Returns the type of a specified port.

    Port types are stored in a repeating attribute. The port type at any particular index position in the attribute identifies the type of the port in the corresponding index position in the port_name attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPortCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the port whose type you want to retrieve
    Returns:
      The type of the port. One of: INPUT, OUTPUT, or REVERT
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageCount

    int getPackageCount() throws DfException
    Returns the number of packages associated with the activity.

    Packages are the objects on which the activity performs operations. For more information about packages and activities, refer to Server Fundamentals.
    Returns:
      The number of packages
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageName

    String getPackageName(int index) throws DfException
    Returns the name of a specified package.

    Package names are stored in a repeating attribute. This method retrieves the name of the package at the specified index position in the attribute. Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPackageCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the package whose name you want to retrieve
    Returns:
      The name of the package
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageType

    String getPackageType(int index) throws DfException
    Returns the type of a specified package.

    Package types are stored in a repeating attribute. The value at any particular index position in the attribute identifies the type of the package identified in the corresponding index position in the r_package_id attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPackageCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the package whose type you want to retrieve
    Returns:
      The type of the package
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageOperation

    String getPackageOperation(int index) throws DfException
    Returns information about the operation to be performed on a specified package.

    The information is primarily useful for automatic activities. Refer to Server Fundamentals for more information. A package's operation information is stored in a repeating attribute. The information at any particular index position in the attribute is associated with the package defined at the corresponding index position in the r_package_id attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPackageCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the package whose operation information you want to obtain.
    Returns:
      The operation information
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageId

    IDfId getPackageId(int index) throws DfException
    Returns the object ID of a specified package.

    Package IDs are stored in a repeating attribute. This method returns the object ID of a package at a specified index position in that attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPackageCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the package whose ID you want to obtain
    Returns:
      The object ID of the package
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageLabel

    String getPackageLabel(int index) throws DfException
    Returns the version label associated with the package.

    Package version labels are stored in a repeating attribute. This method returns the package label at a specified index position in the attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPackageCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the package in the repeating attributes that store package definitions.
    Returns:
      The version label
    Throws:
      `DfException` - if the server returns an error

  - ### getConditionCount

    int getConditionCount() throws DfException
    Returns the number of routing conditions in the activity.

    Each routing condition in the activity is associated with one route case. The server uses the routing conditions defined in route cases to select output ports for automatic activities. For more information about route cases and automatic activites, refer to Server Fundamentals.
    Returns:
      The number of route cases in the activity
    Throws:
      `DfException` - if the server returns an error

  - ### getConditionName

    String getConditionName(int index) throws DfException
    Returns the name of a route case.

    Route case names are stored in a repeating attribute. This method retrieves the route case name at a specified index position in the attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute.

    You can use `getConditionCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the route case whose name you want to retrieve
    Returns:
      The name of the route case
    Throws:
      `DfException` - if the server returns an error

  - ### getConditionPort

    String getConditionPort(int index) throws DfException
    Returns the output ports associated with a specified route case.

    A route case defines a set of output ports to use if the conditions in the route case's condition are true. Route cases are used by automatic activities. Route cases are added to an activity using `addRouteCase(java.lang.String, java.lang.String, com.documentum.fc.common.IDfList)`.

    The output ports are stored in a repeating attribute. The ports in a particular index position in the attribute are the ports associated with the route case defined at the same index postion in r_condition_name.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute.

    You can use `getConditionCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the route case whose output ports you want to retrieve.
    Returns:
      getConditionPort A list of the output ports, separated by commas
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerConditionCount

    int getPerformerConditionCount() throws DfException
    Returns the number of performer conditions in the activity.

    Each performer condition in the activity is associated with one performer condition. The server uses the performer conditions defined to resolve performers for activities. For more information about performer conditions, refer to Server Fundamentals.
    Returns:
      The number of performer conditions in the activity
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerConditionName

    String getPerformerConditionName(int index) throws DfException
    Returns the name of a performer condition.

    Performer condition names are stored in a repeating attribute. This method retrieves the performer condition name at a specified index position in the attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute.

    You can use `getPerformerConditionCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the performer condition whose name you want to retrieve
    Returns:
      The name of the performer condition
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerConditionId

    IDfId getPerformerConditionId() throws DfException
    Returns the object ID of the repository object that stores the performer conditions.

    Performer conditions define boolean conditions used in automatic activities to select output ports. When the activity completes, the server evaluates the conditions and selects the output ports associated with the first condition that is true.
    Returns:
      IDfId an interface to the object ID of the repository object that stores the route case conditions
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerConditionUser

    String getPerformerConditionUser(int index) throws DfException
    Returns the user associated with a specified performer condition.

    A performer condition defines a set of users to use if the condition is true. Performer conditions are used by automatic activities. Route cases are added to an activity using `addRouteCase(java.lang.String, java.lang.String, com.documentum.fc.common.IDfList)`.

    The output ports are stored in a repeating attribute. The ports in particular index position in the attribute are the ports associated with the route case defined at the same index postion in r_condition_name.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute.

    You can use `getConditionCount()` to retrieve the value of n.
    Parameters:
      `index` - the index position of the route case whose output ports you want to retrieve.
    Returns:
      getConditionPort A list of the output ports, separated by commas
    Throws:
      `DfException` - if the server returns an error

  - ### getResolveType

    int getResolveType() throws DfException
    Returns the performer aliasing resolve type of the activity.

    Returns:
      an integer indicating the performer aliasing resolve type of the activity
    Throws:
      `DfException` - if the server returns an error

  - ### setResolveType

    void setResolveType(int resolveType) throws DfException
    Sets the performer aliasing resolve type of the activity.

    - 0 (Normal/default) - 1 (Package) - 2 (Previous performer and Group)
    Parameters:
      `resolveType` - the resolve type for the performer aliasing of the activity
    Throws:
      `DfException` - if the server returns an error

  - ### getResolvePackageName

    String getResolvePackageName() throws DfException
    Returns the package name used to resolve performer aliasing.

    Returns:
      the package name used to resolve performer aliasing when package is the resolve type for the activity.
    Throws:
      `DfException` - if the server returns an error

  - ### setResolvePackageName

    void setResolvePackageName(String resolvePkgName) throws DfException
    Sets the package name used to resolve performer aliasing.

    Parameters:
      `resolvePkgName` - the package name used to resolve performer aliasing when package is the resolve type for the activity.
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerNameCount

    int getPerformerNameCount() throws DfException
    Returns the number of values the performer name attribute has.

    Returns:
      value count of the attribute performer_name
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getRepeatingPerformerName(int)`
      - `setRepeatingPerformerName(int, java.lang.String)`

  - ### getRepeatingPerformerName

    String getRepeatingPerformerName(int index) throws DfException
    Returns the performer name attribute at the specified index.

    Parameters:
      `index` - Index at which performer_name returns
    Returns:
      performer_name at index
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getPerformerNameCount()`
      - `setRepeatingPerformerName(int, java.lang.String)`

  - ### setRepeatingPerformerName

    void setRepeatingPerformerName(int index, String name) throws DfException
    Sets the performer name attribute at a specified index.

    Parameters:
      `index` - Index at which performer_name is set
      `name` - Name set to performer_name
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getPerformerNameCount()`
      - `getRepeatingPerformerName(int)`

  - ### getControlFlag

    int getControlFlag() throws DfException
    Returns the control flag attribute of the activity.

    Returns:
      an integer indicating the control_flag of the activity
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `setControlFlag(int)`

  - ### setControlFlag

    void setControlFlag(int flag) throws DfException
    Sets the control flag attribute of the activity.

    Parameters:
      `flag` - new control flag value
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getControlFlag()`

  - ### getTransitionMaxOutputCount

    int getTransitionMaxOutputCount() throws DfException
    Returns the maximum number of output ports user can select at runtime when activity is manual transition
    Returns:
      maximum number of output ports user can select at runtime
    Throws:
      `DfException`

  - ### setTransitionMaxOutputCount

    void setTransitionMaxOutputCount(int count) throws DfException
    Set the maximum number of output ports user can select at runtime when activity is manual transition
    Parameters:
      `count` -
    Throws:
      `DfException`

  - ### getTransitionEvalCount

    int getTransitionEvalCount() throws DfException
    Returns the number of completed tasks that are required to trigger the next activities.
    Returns:
      number of completed tasks to trigger the next activities
    Throws:
      `DfException`

  - ### setTransitionEvalCount

    void setTransitionEvalCount(int count) throws DfException
    Set the number of completed tasks that are required to trigger the next activities.
    Parameters:
      `count` -
    Throws:
      `DfException`

  - ### getTransitionFlag

    int getTransitionFlag() throws DfException
    Returns when and how to trigger the selected outgoing paths when activity is manual transition
    Returns:
      when and how to trigger the selected outgoing paths
    Throws:
      `DfException`

  - ### setTransitionFlag

    void setTransitionFlag(int flag) throws DfException
    Together with the transition eval count, set when and how to trigger the selected outgoing paths when activity is manual transition
    Parameters:
      `flag` -
    Throws:
      `DfException`

  - ### getTaskSubject

    String getTaskSubject() throws DfException
    Returns a subject for the task inbox item, the subject will be constructed at the creation time of the inbox item
    Returns:
      subject for the task inbox item
    Throws:
      `DfException`

  - ### setTaskSubject

    void setTaskSubject(String name) throws DfException
    Set a subject for the task inbox item, the subject will be constructed at the creation time of the inbox item
    Parameters:
      `name` -
    Throws:
      `DfException`

  - ### addPackageInfoEx

    void addPackageInfoEx(String portName, String packageName, String packageType, IDfId packageId, String packageLabel, String packageOperation, int packageFlag) throws DfException
    Adds a package definition to a port in the activity.

    A package definition represents an object that the activity handles.

    The activity must be in the draft or validated state to add a package definition to one of its ports. If the activity is in the validated state, adding a package definition sets the activity back to the draft state.

    The package definition must be compatible with the definition of the package defined for the port to which the port specified in `portName` is linked. For example, if `portName` represents an output port, the definition must be compatible with the input port to which `portName` is linked. Refer to Content Server Fundamentals for details about package compatability.

    The port identified in `portName` must exist in the activity.

    Setting the `packageFlag` argument to make the package invisible to this activity has the following behavioral consequences for the package:

    - `removePackage` and `appendNote` cannot be called against an invisible package.
    - The GET_INBOX administration method does not return objects associated with an invisible package.
    - When the text in a task_subject attribute is resolved, references to invisible packages are not resolved.
    - In email templates, references to invisible packages are not resolved.
    Note that Workflow Manager does not recognize the packageFlag setting. Consequently, all packages are visible if workflows are managed using WFM. This method sets the r_package_report_flag attribute to 0, meaning the package will not be reported at workflow runtime. If you want to set the behavior controlled by this attribute differently, use `addPackageInfoEx(java.lang.String, java.lang.String, java.lang.String, com.documentum.fc.common.IDfId, java.lang.String, java.lang.String, int)`. For more information about packages and activities, refer to Server Fundamentals. For more information about packages and activities, refer to Server Fundamentals.
    Parameters:
      `portName` - name of the port to which you are adding the package
      `packageName` - name of the package. This must be unique among the packages defined in the activity.
      `packageType` - the object type of the package
      `packageId` - an IDfID object that contains the package's object ID. If you don't provide a version label in the `packageLabel` parameter, the object identified by the object ID is bound to the port. If you include the `packageLabel` parameter, the method searches the version tree to which the object belongs and binds the version with the specified label to the port.
      `packageLabel` - the version label of the package. This is an optional argument. If you include this argument, the method binds the specified version of the package to the port. If you don't include this argument, the version identified by `packageId` is bound to the port.
      `packageOperation` - identifies the application that will be used to perform the actions associated with the activity. This argument is intended primarily for automatic activities.
      `packageFlag` - identitifes whether this package is visible to this activity and whether this package is allowed to be empty. This is an optional flag. The default is 1, meaning the package is visible but cannot be empty. Valid values are: 0: Not visible, cannot be empty 1: Visible, cannot be empty 2: Not visible, can be empty 3: Visible, can be empty
    Throws:
      `DfException` - if the server returns an error

  - ### addPackageInfoEx

    void addPackageInfoEx(String portName, String packageName, String packageType, IDfId packageId, String packageLabel, String packageOperation, int packageFlag, int packageReportFlag) throws DfException
    Adds a package definition to a port in the activity.

    This method is an exention of the following method: addPackageInfoEx (String portName, String packageName, String packageType, IDfId packageId, String packageLabel, String packageOperation, int packageFlag) The packageReportFlag argument in this method controls whether this package will be reported at workflow runtime. Note that Workflow Manager does not recognize the packageReportFlag setting. Consequently, all packages will not be reported at workflow runtime if workflows are managed using WFM. For more information about packages and activities, refer to Server Fundamentals.
    Parameters:
      `portName` - name of the port to which you are adding the package
      `packageName` - name of the package. This must be unique among the packages defined in the activity.
      `packageType` - the object type of the package
      `packageId` - an IDfID object that contains the package's object ID. If you don't provide a version label in the `packageLabel` parameter, the object identified by the object ID is bound to the port. If you include the `packageLabel` parameter, the method searches the version tree to which the object belongs and binds the version with the specified label to the port.
      `packageLabel` - the version label of the package. This is an optional argument. If you include this argument, the method binds the specified version of the package to the port. If you don't include this argument, the version identified by `packageId` is bound to the port.
      `packageOperation` - identifies the application that will be used to perform the actions associated with the activity. This argument is intended primarily for automatic activities.
      `packageFlag` - identitifes whether this package is visible to this activity and whether this package is allowed to be empty. This is an optional flag. The default is 1, meaning the package is visible but cannot be empty. Valid values are:
      0: Not visible, cannot be empty
      1: Visible, cannot be empty
      2: Not visible, can be empty
      3: Visible, can be empty
      `packageReportFlag` - indicates whether this package will be reported on this activity at workflow runtime. This is an optional flag. The default is false, meaning the package will not be reported on this activity at runtime. Valid values are: 0: Not report 1: Report
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageFlag

    int getPackageFlag(int index) throws DfException
    Returns the flag of a specified package.

    Package flags are stored in a repeating attribute. The value at any particular index position in the attribute identifies the flag of the package identified in the corresponding index position in the r_package_id attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPackageCount()` to retrieve the value of n. The value representations are:

    0: Not visible, can not be empty
    1: Visible, can not be empty
    2: Not visible, can be empty
    3: Visible, can be empty
    Parameters:
      `index` - the index position of the package whose flag you want to retrieve
    Returns:
      The flag of the package
    Throws:
      `DfException` - if the server returns an error

  - ### getPackageReportFlag

    int getPackageReportFlag(int index) throws DfException
    Returns the report flag of a specified package.

    Package flags are stored in a repeating attribute. The value at any particular index position in the attribute identifies the report flag of the package identified in the corresponding index position in the r_package_id attribute.

    Index positions begin at 0 and increment by 1 for each value in the attribute, up to n-1 where n is the total number of values in the attribute. You can use `getPackageCount()` to retrieve the value of n. The value representations are:

    0: Not report
    1: Report
    Parameters:
      `index` - the index position of the package whose flag you want to retrieve
    Returns:
      The flag of the package
    Throws:
      `DfException` - if the server returns an error

  - ### addConditionRouteCase

    void addConditionRouteCase(String routeCaseIdentifier, IDfList conditions, IDfList outputPorts) throws DfException
    Adds a route case to the activity.

    The condition is described by a list of `IDfTransitionCondition`s to be ANDed. Alternatively, the condition comprises a list of lists of `IDfTransitionCondition`s. In this case, the outermost list is considered to be one or more conditions to be ORed, each of which comprises a list of one or more conditions to be ANDed. This effectively provides natural logical precedence, but with no provision for bracketing.````
    Parameters:
      `routeCaseIdentifier` - the name of the route case or the keyword `exceptional` to identify an exception route case.
      `conditions` - a list of IDfTransitionCondition instances that should be ANDed for the route case. Specify this as `null` if the `routeCaseIdentifier` is `exceptional`.
      `outputPorts` - an IDfList interface that contains the names of the selected output ports. These are the ports that will be selected if the `conditions` evaluate to `true`.
    Throws:
      `DfException` - if the server returns an error

  - ### getConditions

    IDfList getConditions(String routeCaseIdentifier) throws DfException
    Returns the list (or list of lists) of transition condition definitions for the named route case.
    Parameters:
      `routeCaseIdentifier` - the name of the route case
    Returns:
      a list of `IDfTransitionCondition`s or a list of `IDfList`s````
    Throws:
      `DfException` - if a server error occurs

  - ### newAttributeValueCondition

    IDfAttributeValueCondition newAttributeValueCondition() throws DfException
    Factory method for attribute value transition conditions.
    Returns:
      an attribute value condition instance
    Throws:
      `DfException` - if the server returns an error

  - ### newXPathCondition

    IDfXPathCondition newXPathCondition() throws DfException
    Factory method for XPath transition conditions.
    Returns:
      an XPath condition instance
    Throws:
      `DfException` - if the server returns an error

  - ### hasCompatibilityRouteCases

    boolean hasCompatibilityRouteCases() throws DfException
    Indicates whether or not this activity supports compatibility (pre-5.3) route cases.
    Returns:
      `true` if the activity supports compatibility route cases, otherwise `false`
    Throws:
      `DfException`

  - ### getPreTimerAction

    IDfId getPreTimerAction(int index) throws DfException
    Returns the ID of a timer action object at the given index within a timer series.
    Parameters:
      `index` - the index of the timer within the timer series
    Returns:
      the ID of the timer action
    Throws:
      `DfException` - if a server error occurs

  - ### getPreTimerIncrement

    int getPreTimerIncrement(int index) throws DfException
    Returns the interval in minutes that must pass before the timer is fired. Increments for the second and subsequent timers within a series are deltas from the time the previous timer in the series was fired.
    Parameters:
      `index` - the index of the timer within the timer series
    Returns:
      the interval, in minutes, that must pass before the timer is fired
    Throws:
      `DfException` - if a server error occurs

  - ### isPreTimerRepeatLastAction

    boolean isPreTimerRepeatLastAction() throws DfException
    Indicates if the final timer in the series should repeat.
    Returns:
      `true` if the final timer within the series should repeat, otherwise `false`
    Throws:
      `DfException` - if a server error occurs

  - ### setPreTimerRepeatLastAction

    void setPreTimerRepeatLastAction(boolean repeatLast) throws DfException
    Sets an indicator for whether or not the final timer in a series should repeat.
    Parameters:
      `repeatLast` - `true` if the final timer within the series should repeat, otherwise `false`
    Throws:
      `DfException` - if a server error occurs

  - ### addPreTimerAction

    void addPreTimerAction(IDfId action, int minutes) throws DfException
    Establishes a timer at the end of the series. Increments for the second and subsequent timers within a series are deltas from the time the previous timer in the series was fired.
    Parameters:
      `action` - the ID of the timer action
      `minutes` - the interval in minutes that must pass before the timer is fired
    Throws:
      `DfException` - if a server error occurs

  - ### removePreTimers

    void removePreTimers() throws DfException
    Removes all pre-timers from this activity.
    Throws:
      `DfException` - if a server error occurs

  - ### getPreTimerCount

    int getPreTimerCount() throws DfException
    Returns the number of timer actions within the series.
    Returns:
      the number of timer actions within the series
    Throws:
      `DfException`

  - ### getPostTimerAction

    IDfId getPostTimerAction(int index) throws DfException
    Returns the ID of a timer action object at the given index within a timer series.
    Parameters:
      `index` - the index of the timer within the timer series
    Returns:
      the ID of the timer action
    Throws:
      `DfException` - if a server error occurs

  - ### getPostTimerIncrement

    int getPostTimerIncrement(int index) throws DfException
    Returns the interval in minutes that must pass before the timer is fired. Increments for the second and subsequent timers within a series are deltas from the time the previous timer in the series was fired.
    Parameters:
      `index` - the index of the timer within the timer series
    Returns:
      the interval in minutes that must pass before the timer is fired
    Throws:
      `DfException` - if a server error occurs

  - ### isPostTimerRepeatLastAction

    boolean isPostTimerRepeatLastAction() throws DfException
    Indicates if the final timer in the series should repeat.
    Returns:
      `true` if the final timer within the series should repeat, otherwise `false`
    Throws:
      `DfException` - if a server error occurs

  - ### setPostTimerRepeatLastAction

    void setPostTimerRepeatLastAction(boolean repeatLast) throws DfException
    Sets an indicator for whether or not the final timer in a series should repeat.
    Parameters:
      `repeatLast` - `true` if the final timer within the series should repeat, otherwise `false`
    Throws:
      `DfException` - if a server error occurs

  - ### addPostTimerAction

    void addPostTimerAction(IDfId action, int minutes) throws DfException
    Establishes a timer at the end of the series. Increments for the second and subsequent timers within a series are deltas from the time the previous timer in the series was fired.
    Parameters:
      `action` - the ID of the timer action
      `minutes` - the interval in minutes that must pass before the timer is fired
    Throws:
      `DfException` - if a server error occurs

  - ### removePostTimers

    void removePostTimers() throws DfException
    Removes all pre-timers from this activity.
    Throws:
      `DfException` - if a server error occurs

  - ### getPostTimerCount

    int getPostTimerCount() throws DfException
    Returns the number of timer actions within the series.
    Returns:
      the number of timer actions within the series
    Throws:
      `DfException`

  - ### addPerformerCondition

    void addPerformerCondition(String conditionName, String condition, IDfList performers) throws DfException
    Adds a performer case to the activity.

    A performer case identifies a boolean condition and the performers associated with that condition. Performer cases support activities that have a transition type defined as automatic. When the activity is completed, the conditional logic in the route cases is evaluated and a set of output ports selected as a result.

    The activity must be in the draft or validated state to add a route case. If the activity is in the validated state, adding a route case sets the activity back to the draft state.

    For more information about route cases, refer to Server Fundamentals.
    Parameters:
      `conditionName` - the name of the route case or the keyword `exception` to identify an exception route case.
      `condition` - the boolean condition for the route case. Specify this as `null` if the `routeCaseIdentifier` is `exception`.
      `performers` - an IDfList interface that contains the names of the selected output ports. These are the ports that will be selected if the `condition` evaluates to `true`.
    Throws:
      `DfException` - if the server returns an error

  - ### removePerformerCondition

    void removePerformerCondition(String conditionName) throws DfException
    Removes a route case from the activity.

    A route case identifies a Boolean condition and the output ports associated with that condition. Route cases support activities that have a transition type defined as automatic. When the activity is completed, the conditional logic in the route cases is evaluated and a set of output ports selected as a result.

    The activity must be in the draft or validated state to remove a route case. If the activity is in the validated state, removing a route case sets the activity back to the draft state.

    For more information about route cases, refer to Server Fundamentals.
    Parameters:
      `conditionName` - the name of the route case
    Throws:
      `DfException` - if the server returns an error

  - ### getPerformerConditionNames

    IDfList getPerformerConditionNames() throws DfException
    Return a String list that contains the name of the performer conditions. If there is no performer condition setup, returns an empty list.
    Returns:
    Throws:
      `DfException`

  - ### getPerformerCondition

    String getPerformerCondition(String condtionName) throws DfException
    For the given condition name, return the corresponding performer condition. Throws exception if the condition name does not exist.
    Parameters:
      `condtionName` -
    Returns:
    Throws:
      `DfException`

  - ### getPerformers

    IDfList getPerformers(String conditionName) throws DfException
    For the given condition name, return a String list of performers used for this condition. Throws exception if the condition name does not exist.
    Parameters:
      `conditionName` -
    Returns:
    Throws:
      `DfException`

  - ### getPackagesMetaData

    IDfCollection getPackagesMetaData() throws DfException
    Returns a query result collection containing the following attributes:

             r_package_name       String
             r_package_type       Int
             r_package_label      String
             r_package_flag       Int

    The collection is the metadata for the packages defined on an OUTPUT port; If there is no output port, it returns meta data of packages defined on an INPUT port.

    Note 1: The function returns an empty collection if there are no packages defined.
    Note 2: The caller of this function is responsible for closing the collection returned.

    Sample code:

             IDfCollection col = activity.getPackagesMetaData();
             try {
                     while (col.next()) {
                          String packageName = col.getString("r_package_name");
                          String packageType = col.getString("r_package_name");
                          String packageLabel = col.getString("r_package_label");
                          String packageFlag = col.getInt("r_package_flag");
                          ... ...
                      }
             finally {
                      if (col != null)
                         col.close()
             }

    Returns:
      an IDfCollection.
    Throws:
      `DfException` - if the query failed or the session has timed out and cannot be reestablished.

  - ### getPerfCondIndex

    int getPerfCondIndex(String condName) throws DfException
    Returns the index position of the corresponding condition in the expression object for the given performer condition.
    Parameters:
      `condName` -
    Returns:
      index position of the condition in the expression condition object
    Throws:
      `DfException`