Class ModuleLibrarySearchProvider

    • Constructor Detail

      • ModuleLibrarySearchProvider

        public ModuleLibrarySearchProvider​(DesignerContext context,
                                           java.lang.String name,
                                           java.lang.Runnable locateFunc)
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: SearchProvider
        Returns the name of the search provider, which will be used in the gateway and a UI to uniquely identify the provider. It is expected to be in the current session's language.
      • getCategories

        public java.util.List<java.lang.Object> getCategories()
        Description copied from interface: SearchProvider
        Returns a list of "categories", or sub-selectable units, supported by this search provider. The actual objects will be passed back in to retrieveSearchableObjects when the search is executed.
      • hasSelectableObjects

        public boolean hasSelectableObjects()
        Description copied from interface: SearchProvider
        Whether or not the set of objects searched by this provider is selectable- for examples, which groups or windows are to be searched.
      • selectObjects

        public void selectObjects​(SearchProvider.SelectedObjectsHandler handler)
        Description copied from interface: SearchProvider
        Instructs the SearchProvider to show a dialog in order to select the objects to search. The object are returned through the passed in handler, and will later be passed into executeSearch.
      • getSelectableObjectBaseKey

        protected java.lang.String getSelectableObjectBaseKey()
        Description copied from class: AbstractSearchProvider
        Returns a key that will be used with BundleUtil to get various descriptions of the selectable objects. It is expected that the following keys exist:
        '{Key}.One' - "%d object"
        '{Key}.Many' - "%d objects"
        '{Key}.Default' - what will be searched if no objects are selected. For example, "All groups" or "Default provider"
        Specified by:
        getSelectableObjectBaseKey in class AbstractSearchProvider
        Returns:
        a BundleUtil key corresponding to a description for a selectable object.
      • retrieveSearchableObjects

        public java.util.Iterator<SearchObject> retrieveSearchableObjects​(java.util.Collection<java.lang.Object> categories,
                                                                          java.util.List<java.lang.Object> searchObjects,
                                                                          TaskProgressListener progress)
        Description copied from interface: SearchProvider
        Returns an iterator that provides all of the objects described by the parameters. The iterator will generally stream the results, calculating the next object on each call to hasNext().

        The provided ProgressListener can be used to provide progress information as the Iterator is processed. Some providers may not be able to calculate progress, in which case they should call setIndeterminate(true), but the provider implementors are encouraged to provide anything they can, even if it's very coarse.

        Parameters:
        categories - indicates the user selection (if applicable) of which categories should be searched.
        searchObjects - the user selected objects (if applicable) to be searched.
        progress - a progress listener for this provider, which can be updated as the returned Iterator is used. If not supported, the provider should call setIndeterminate(true).