Interface FilterBuilder


  • public interface FilterBuilder
    Filter builder, creating Filter instances for a single type of filters. Provides also the settings panel for the type of filter.

    Implementors should add the @ServiceProvider annotation to be registered by the system or call FilterLibrary.addBuilder().

    The JPanel returned by the getPanel() method is the settings panel that configures the filter parameters. These parameters can be get and set by using Filter.getProperties(). Settings panel should always set parameters values in that way. As a result the system will be aware values changed and update the filter.

    See CategoryBuilder for builders that host multiple types of filters.

    Author:
    Mathieu Bastian
    See Also:
    FilterLibrary
    • Method Detail

      • getCategory

        Category getCategory()
        Returns the category this filter builder belongs to.
        Returns:
        the category this builder belongs to
      • getName

        String getName()
        Returns the display name of this filter builder
        Returns:
        the display name
      • getIcon

        Icon getIcon()
        Returns the icon of this filter builder
        Returns:
        the icon
      • getDescription

        String getDescription()
        Returns this description text of this filter builder
        Returns:
        the description
      • getFilter

        Filter getFilter​(Workspace workspace)
        Builds a new Filter instance.
        Parameters:
        workspace - workspace
        Returns:
        a new Filter object
      • getPanel

        JPanel getPanel​(Filter filter)
        Returns the settings panel for the filter this builder is building, the filter object is passed as a parameter.
        Parameters:
        filter - the filter that the panel is to be configuring
        Returns:
        the filter's settings panel
      • destroy

        void destroy​(Filter filter)
        Notification when the filter is destroyed, to perform clean-up tasks.
        Parameters:
        filter - filter to be destroyed