Class WorkbenchActivityHelper


  • public final class WorkbenchActivityHelper
    extends Object
    A utility class that contains helpful methods for interacting with the activities API.
    Since:
    3.0
    • Field Detail

      • TRIGGER_PRE_UI_POINT

        public static final String TRIGGER_PRE_UI_POINT
        The ID of the trigger point that only returns activities with core expressions.
        Since:
        3.4
        See Also:
        Constant Field Values
    • Method Detail

      • getIdentifier

        public static IIdentifier getIdentifier​(IPluginContribution contribution)
        Return the identifier that maps to the given contribution.
        Parameters:
        contribution - the contribution
        Returns:
        the identifier
        Since:
        3.1
      • allowUseOf

        @Deprecated
        public static boolean allowUseOf​(Object object)
        Deprecated.
        Answers whether a given contribution is allowed to be used based on activity enablement. If it is currently disabled, then a dialog is opened and the user is prompted to activate the required activities. If the user declines their activation then false is returned. In all other cases true is returned.
        Parameters:
        object - the contribution to test.
        Returns:
        whether the contribution is allowed to be used based on activity enablement.
        See Also:
        allowUseOf(ITriggerPoint, Object)
      • allowUseOf

        public static boolean allowUseOf​(ITriggerPoint triggerPoint,
                                         Object object)
        Answers whether a given contribution is allowed to be used based on activity enablement. If it is currently disabled, then a dialog is opened and the user is prompted to activate the required activities. If the user declines their activation then false is returned. In all other cases true is returned.
        Parameters:
        triggerPoint - the trigger point being hit
        object - the contribution to test.
        Returns:
        whether the contribution is allowed to be used based on activity enablement.
      • restrictUseOf

        public static boolean restrictUseOf​(Object object)
        Restrict the use of the object only if it is matched by an activity with a core expression. A normal disabled activity will not restrict the use of this object.
        Parameters:
        object - the object to restrict
        Returns:
        true if this object is matched by a disabled activity with an expression.
        Since:
        3.4
      • createUnifiedId

        public static String createUnifiedId​(IPluginContribution contribution)
        Utility method to create a String containing the plugin and extension ids of a contribution. This will have the form
         pluginId / extensionId
         
        . If the IPluginContribution does not define a plugin id then the extension id alone is returned.
        Parameters:
        contribution - the contribution to use
        Returns:
        the unified id
      • filterItem

        public static boolean filterItem​(Object object)
        Answers whether the provided object should be filtered from the UI based on activity state. Returns false except when the object is an instance of IPluginContribution whos unified id matches an IIdentifier that is currently disabled.
        Parameters:
        object - the object to test
        Returns:
        whether the object should be filtered
        See Also:
        createUnifiedId(IPluginContribution)
      • isFiltering

        public static boolean isFiltering()
        Returns whether the UI is set up to filter contributions. This is the case if there are defined activities.
        Returns:
        whether the UI is set up to filter contributions
      • getEnabledCategories

        public static Set<String> getEnabledCategories​(IActivityManager activityManager,
                                                       String categoryId)
        Return a list of category ids that will become implicity enabled if the given category becomes enabled Note that the set returned by this set represents the delta of categories that would be enabled - if the category is already enabled then it is omitted.
        Parameters:
        activityManager - the activity manager to test against
        categoryId - the category to be enabled
        Returns:
        a list of category ids that will become implicity enabled if the given category becomes enabled
        Since:
        3.1
      • expandActivityDependencies

        public static Set<String> expandActivityDependencies​(Set<String> baseActivities)
        Return the expanded activities for the given activity set. This will resolve all activity requirement bindings.
        Parameters:
        baseActivities - the set of activities to expand
        Returns:
        the expanded activities
        Since:
        3.1
      • getRequiredActivityIds

        public static Set<String> getRequiredActivityIds​(String activityId)
        Return the activities required for this activity.
        Parameters:
        activityId - the activity id
        Returns:
        the activities required for this activity
        Since:
        3.1
      • getActivityIdsForCategory

        public static Set<String> getActivityIdsForCategory​(ICategory category)
        Return the activities directly required by a given category.
        Parameters:
        category - the category
        Returns:
        the activities directly required by a given category
        Since:
        3.1
      • getDisabledCategories

        public static Set<String> getDisabledCategories​(IActivityManager activityManager,
                                                        String categoryId)
        Return a list of category ids that will become implicity disabled if the given category becomes disabled Note that the set returned by this set represents the delta of categories that would be enabled - if the category is already enabled then it is omitted.
        Parameters:
        activityManager - the activity manager to test against
        categoryId - the category to be enabled
        Returns:
        a list of category ids that will become implicity enabled if the given category becomes enabled
        Since:
        3.1
      • getContainedCategories

        public static Set<String> getContainedCategories​(IActivityManager activityManager,
                                                         String categoryId)
        Return a list of category ids that are implicitly contained within the given category.
        Parameters:
        activityManager - the activity manager to test agaisnt
        categoryId - the category to be enabled
        Returns:
        a list of category ids that will become implicity enabled if the given category becomes enabled
        Since:
        3.1
      • getEnabledCategories

        public static Set<String> getEnabledCategories​(IActivityManager activityManager)
        Return the set of enabled categories. An enabled category is one in which all contained activities are enabled.
        Parameters:
        activityManager - the activity manager to test against
        Returns:
        the set of enabled categories.
        Since:
        3.1
      • getPartiallyEnabledCategories

        public static Set<String> getPartiallyEnabledCategories​(IActivityManager activityManager)
        Return the set of partially enabled categories.
        Parameters:
        activityManager - the activity manager to test against
        Returns:
        the set of partially enabled categories
        Since:
        3.2
      • isPartiallyEnabled

        public static boolean isPartiallyEnabled​(IActivityManager activityManager,
                                                 String categoryId)
        Returns whether the given category is partially enabled. A partially enabled category is one in which the number of enabled activites is both non-zero and less than the total number of activities in the category.
        Parameters:
        activityManager - the activity manager to test against
        categoryId - the category id
        Returns:
        whether the category is enabled
        Since:
        3.2
      • getEnabledCategoriesForActivity

        public static Set<String> getEnabledCategoriesForActivity​(IActivityManager activityManager,
                                                                  String activityId)
        Return the number of enabled categories that this activity belongs to.
        Parameters:
        activityManager - the activity manager to test against *
        activityId - the activity id to query on
        Returns:
        the set of enabled category ids that this activity belongs to
        Since:
        3.1
      • isEnabled

        public static boolean isEnabled​(IActivityManager activityManager,
                                        String categoryId)
        Returns whether the given category is enabled. A category is enabled if all of its activities are enabled.
        Parameters:
        activityManager - the activity manager to test against
        categoryId - the category id
        Returns:
        whether the category is enabled
        Since:
        3.1
      • resolveCategories

        public static ICategory[] resolveCategories​(IMutableActivityManager activityManager,
                                                    Set<String> categoryIds)
        Resolve the collection of category ids to an array of ICategory objects.
        Parameters:
        activityManager - the activity manager to test against
        categoryIds - the category ids
        Returns:
        the array of category ids resolved to ICategory objects
        Since:
        3.1
      • restrictCollection

        public static <T> Collection<T> restrictCollection​(Collection<T> toBeFiltered,
                                                           Collection<T> result)
        Fills and returns the second argument with those objects of the first argument that pass the restrictUseOf(Object) test.
        Parameters:
        toBeFiltered - the input collection
        result - the collection to which objects passing the test should be added
        Returns:
        the result collection for convenience
        Since:
        3.4
      • restrictArray

        public static Object[] restrictArray​(Object[] array)
        Returns an array with those objects of the argument array that pass the restrictUseOf(Object) test.
        Parameters:
        array - the input array
        Returns:
        a new array of the same type as the argument array, containing objects that pass the test
        Since:
        3.4
      • filterCollection

        public static <T> Collection<T> filterCollection​(Collection<T> toBeFiltered,
                                                         Collection<T> result)
        Fills and returns the second argument with those objects of the first argument that pass the filterItem(Object) test.
        Parameters:
        toBeFiltered - the input collection
        result - the collection to which objects passing the test should be added
        Returns:
        the result collection for convenience
        Since:
        3.4
      • filterArray

        public static Object[] filterArray​(Object[] array)
        Returns an array with those objects of the argument array that pass the filterItem(Object) test.
        Parameters:
        array - the input array
        Returns:
        a new array of the same type as the argument array, containing objects that pass the test
        Since:
        3.4