Package org.eclipse.core.runtime.preferences

## 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

All Methods Instance Methods Abstract Methods
`Map<String,​PreferenceFilterEntry[]>` `getMapping​(String scope)` Return a mapping which defines the nodes and keys that this filter applies to.
`String[]` `getScopes()` Return an array of scopes that this preference filter is applicable for.

### Method Detail

#### 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:
  `PreferenceFilterEntry`