Interface IPreferenceFilter


public interface IPreferenceFilter
Preference filters are used to describe the relationship between the preference tree and a data set when importing/exporting preferences.

For instance, a client is able to create a preference filter describing which preference nodes/keys should be used when exporting the "Key Bindings" preferences. When the export happens, the tree is trimmed and only the applicable preferences will be exported.

Clients may implement this interface.

Since:
3.1
  • Method Summary

    Modifier and Type
    Method
    Description
    Return a mapping which defines the nodes and keys that this filter applies to.
    Return an array of scopes that this preference filter is applicable for.
  • Method Details

    • getScopes

      String[] getScopes()
      Return an array of scopes that this preference filter is applicable for. The list of scopes must not be null.

      For example: new String[] {InstanceScope.SCOPE, ConfigurationScope.SCOPE};

      Returns:
      the array of scopes
    • getMapping

      Map<String,PreferenceFilterEntry[]> getMapping(String scope)
      Return a mapping which defines the nodes and keys that this filter applies to.

      If the map is null then this filter is applicable for all nodes within the scope. The map can also be null if the given scope is not known to this filter.

      The keys in the table are Strings and describe the node path. The values are an optional array of PreferenceFilterEntry objects describing the list of applicable keys in that node. If the value is null then the whole node is considered applicable.

      key: String (node)
      value: PreferenceFilterEntry[] or null (preference keys)

      For example:

       "org.eclipse.core.resources" -> null
       "org.eclipse.ui" -> new PreferenceFilterEntry[] {
                      new PreferenceFilterEntry("DEFAULT_PERSPECTIVE_LOCATION"),
                      new PreferenceFilterEntry("SHOW_INTRO_ON_STARTUP")}
       
      Returns:
      the mapping table
      See Also: