Interface WorklistUpdateConfiguration

  • All Superinterfaces:
    Serializable, UserAttributeContainer

    public interface WorklistUpdateConfiguration
    extends UserAttributeContainer, Serializable
    The configuration of a worklist, e.g. update intervals and update modes.

    The configuration will be used server side (e.g. for push-modes), as well as on client side (e.g. for poll-modes).

    It is possible to specify the configuration concerning updates per-priority. This allows e.g. to receive urgent items by PUSH, less important items by POLL. As soon as a worklist item has a high enough priority to be pushed, all former updates are also sent. This allows provides for consistent revisions of client and server worklists. Otherwise some revisions (with low priority items) would be missing.

    Author:
    Kevin Goeser, Ulrich Kreher, Patrick Schmidt
    • Field Detail

      • serialVersionUID

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

      • getUpdateModeThreshold

        int getUpdateModeThreshold()
        The priority threshold that determines the update mode. Priorities greater than or equal to the threshold will result in a PUSH, priorities below the threshold in PULL. I.e. for a pull-only mode use Integer.MAX_VALUE, if every update should be pushed use 0.

        Please refer to WorklistConstants.Priority for some default values.

        Returns:
        The priority threshold that determines the update mode.
      • getUpdateInterval

        long getUpdateInterval​(int priority)
        Get the update interval in case of PUSH in milliseconds for the designated priority. This allows for timed PUSH based on the priority: Although a PUSH is configured for a specific priority, the PUSH is not performed before the update interval has elapsed.

        Please refer to WorklistConstants.Priority for some default values.

        Parameters:
        priority - The priority for which to retrieve the push update interval.
        Returns:
        The update interval in milliseconds for the designated priority.
      • getUpdateIntervalThresholds

        int[] getUpdateIntervalThresholds()
        An array of priority values which are thresholds of the update intervals, sorted by priority. The priorities are only valid for PUSHed updates, worklist items with a priority for PULL have an infinite update interval. Therefore an empty array will be returned for PULLed only.

        Please refer to WorklistConstants.Priority for some default values.

        Returns:
        An array of thresholds for PUSHed priorities or an empty array if PULL is used only.
      • getIncrementalUpdateThreshold

        int getIncrementalUpdateThreshold()
        Gets the threshold for the update size when to push incremental updates instead of complete updates. If an update contains more (or the same amount of) changes than the return value of this method, the pushed update will be an incremental one. If the update contains less, a complete update will be pushed. Use 0 to get only incremental updates, use Integer.MAX_VALUE to get complete updates only. Use a negative value to rely on the threshold configured for the worklist manager on server side.
        This only applies to pushed updates.

        Incremental updates resemble the one of RemoteIterators.

        Returns:
        The threshold for the update size when to use an incremental worklist update instead of a complete update.
      • getWorklistFilter

        Filter getWorklistFilter()
        Returns the filter applied on the worklist items or null if no filter is applied.
        Returns:
        the filter applied on the worklist items or null if no filter is applied