Interface WorklistItem

  • All Superinterfaces:
    PluginDataContainer, Serializable, UserAttributeContainer
    All Known Subinterfaces:
    AdministrativeWorklistItem, ClientWorklistItem, InternalWorklistItem

    public interface WorklistItem
    extends UserAttributeContainer, PluginDataContainer, Serializable
    Represents a worklist item with common properties of server-side and client-side worklists. This is a meta-interface - objects will typically either be of type ClientWorklistItem for clients or InternalWorklistItem for the server-side. Additionally there are AdministrativeWorklistItems which allow a supervisor to control a worklist item. This is done by manipulating InternalWorklistItems, therefore AdministrativeWorklistItems represent server-side worklist items but on a special client.

    This interface supports several pieces of time information:

    • creation/activation time
    • time of (re-)assignment
    • escalation time
    • due date with respect to the current assignment
    Additionally, delegation and escalation information is provided as well as information on priority and complexity of this worklist item.

    A client worklist item has the same ID as the corresponding internal worklist item. However, a client worklist item only belongs to a single worklist (see IndividualWorklistItemSettings.getWorklistID()) whereas an internal worklist item can be in multiple worklists. An administrative worklist item is a direct representation of an internal worklist item, therefore the same terms apply.

    • Field Detail

      • serialVersionUID

        static final long serialVersionUID
        Generated ID for serialisation.
        See Also:
        Constant Field Values
    • Method Detail

      • getID

        UUID getID()
        The system-wide unique unique ID of this worklist item.
        Returns:
        The globally unique ID of this worklist item.
      • getTitle

        String getTitle()
        The title of this item for displaying purpose - corresponds to the name of the corresponding executable business process.
        Returns:
        The title of the item.
      • getDescription

        String getDescription()
        A description of the worklist item for displaying purpose - corresponds to the description of the corresponding executable business process.
        Returns:
        A description of the worklist item.
      • getProcessType

        String getProcessType()
        Gets the process type corresponding to this worklist item.
        Returns:
        The process type of this worklist item.
      • getProcessTemplateVersion

        String getProcessTemplateVersion()
        Gets the logical version of the process template corresponding to this worklist item. This may be the empty string.
        Returns:
        The logical version of the process template of this worklist item.
      • getProcessTemplateName

        String getProcessTemplateName()
        Gets the name of the process template corresponding to this worklist item.
        Returns:
        The name of the process template of this worklist item.
      • getProcessInstanceName

        String getProcessInstanceName()
        Gets the name of the process instance corresponding to this worklist item.
        Returns:
        The name of the process instance of this worklist item.
      • getActivityReference

        ActivityReference getActivityReference()
        Returns a reference to the activity which should be executed. This reference will be used by the client to determine the runtime of the activity (e.g. ADEPT client runtime or legacy runtime), and by the runtime to execute the activity.
        The activity reference may contain further information on this work item, for instance, information on the corresponding process step.
        Returns:
        A reference to the activity to be executed.
      • getIconID

        UUID getIconID()
        Gets the ID of the icon to display in the worklist representing the underlying activity. With the ID the corresponding icon can be requested from an icon providing service in various sizes and formats.
        The icon ID may be null. In this case the caller has to decide which icon to use for instance by determining it via the activity reference.
        Returns:
        The ID of the icon to display in the worklist representing the underly activity; the corresponding icon may be retrieved in various sizes and formats. This may be null if no icon is specified.
      • getGroupId

        UUID getGroupId()
        Gets the ID of the group this worklist item belongs to. If this item does not belong to a group, null will be returned.
        Returns:
        The ID of the group this worklist item belongs to, null if this item does not belong to a group.
      • getState

        WorklistConstants.WorklistItemState getState()
        Returns the state of the worklist item (e.g. if it is started or available).
        Returns:
        The state of the worklist item.
      • getPriority

        int getPriority()
        Returns the priority of the item as a simple integer. Corresponding named constants are declared in WorklistConstants.Priority
        Returns:
        The priority of the item.
      • getComplexity

        long getComplexity()
        Returns the (estimated) complexity of the item as a simple integer. This may be interpreted by the distribution manager or as hint for the user.
        Returns:
        The complexity of the item.
      • getActivationDate

        long getActivationDate()
        Returns the timestamp when this item has been activated and therefore has become available to worklists. This timestamp never changes, particularly not when delegating or escalating.
        Returns:
        The time when this item has been activated and become available in some worklist.
      • getAssignmentDate

        long getAssignmentDate()
        Returns the timestamp when this item has been assigned to the current user and therefore the current worklist. If this item is reassigned due to delegation or escalation, the timestamp will be reset.
        If 0 is returned, this item has no assignment date.
        Returns:
        The time when this item has been (re-)assigned to the corresponding user.
      • getEscalationDate

        long getEscalationDate()
        Returns the timestamp as absolute date when this item is escalated. When escalating, the escalation date (and maybe also the due date) will usually be adapted accordingly.
        If 0 is returned, this item has no escalation date.
        Returns:
        The escalation date (absolute) when this item is subject of escalation.
      • getDueDate

        long getDueDate()
        Returns the timestamp as absolute date when this item has to be finished. This is for information purpose only for the user. The escalation takes place on the escalation time.
        If 0 is returned, this item has no due date.
        Returns:
        The due date (absolute) when this item has to be finished for displaying to the user.
      • getAssignedAgent

        QualifiedAgent getAssignedAgent()
        In case this item has already been assigned to a user, the method returns the corresponding agent. Otherwise, the method returns null.
        Returns:
        The agent to whom this item has been assigned or null in case this item has not been assigned yet.
      • getCurrentEscalationLevel

        int getCurrentEscalationLevel()
        In case the item has already been escalated, the method returns a value > 0, indicating the the level of escalation (which is incremented on each escalation by 1).
        The method will return 0 if the item has not yet been escalated.
        Returns:
        The current escalation level of the item.
      • getCurrentDelegation

        WorklistItem.Delegation getCurrentDelegation()
        Gets the information concerning the last delegation, that is the delegating agent, whether the delegation is due to absence and the optional comment.
        Returns:
        The information concerning the last delegation.
      • getCurrentEnquiry

        Enquiry getCurrentEnquiry()
        Gets the information concerning the current enquiry, that is the enquiry which the agent performing this worklist item should answer. It contains the delegating agent, the question and the recipients of the enquiry. If the item is not in enquiry-mode, null will be returned.
        Returns:
        The information concerning the last enquiry for the process step corresponding to this worklist item or null in case the item is not in enquiry mode.
      • getRepliedEnquiry

        Enquiry getRepliedEnquiry()
        Gets the reply enquiry sent to the agent performing this worklist item if an enquiry has been made for it. If the performer has not made an enquiry for this item, null will be returned.
        Note that the reply string will be empty if the recipient of this enquiry has not set it.
        Returns:
        The enquiry object replying the question of the originator of the enquiry (the current performer of this worklist item). If the reply string has not been set, an empty string will be returned, if this item has not been made an enquiry for, null will be returned.
      • getCurrentDelegationLevel

        int getCurrentDelegationLevel()
        In case the item has already been delegated, the method returns a value > 0, indicating the the level of delegation (which is incremented on each delegation by 1).
        The method will return 0 if the item has not yet been delegated.
        Returns:
        The current delegation level of the item.
      • equals

        boolean equals​(Object obj)
        Two internal worklist items are equal if their IDs are equal. Two client worklist items are equal if additionally the IDs of their associated worklist are equal.

        Object.hashCode() must be implemented accordingly.

        Overrides:
        equals in class Object
        Parameters:
        obj - the reference object with which to compare.
        Returns:
        true if this object is the same as the obj argument; false otherwise.