Package org.eclipse.core.runtime.preferences

# Interface IScopeContext

All Known Implementing Classes:
  `org.eclipse.core.internal.preferences.AbstractScope`, `BundleDefaultsScope`, `ConfigurationScope`, `DefaultScope`, `InstanceScope`, `ProfileScope`, `ProjectScope`, `UserScope`

public interface IScopeContext
Clients implement this interface to provide context to a particular scope. Instances of implementations of this interface are passed to the `IPreferencesService` for use in preference searching.

Clients may implement this interface.

Since:
  3.0
See Also:
  - `IPreferencesService`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`BUNDLE_SCOPE_FILTER`
A filter that could be used to acquire a bundle scoped context, see `TYPE_BUNDLE` for details.
`static final String`
`PROPERTY_TYPE`
Property used when a scope context is registered as a service to distinguish different scopes
`static final String`
`TYPE_BUNDLE`
Type of a scope context that provides access to a bundle scoped context where `getLocation()` returns the bundles state location, and `getNode(String)` returns the preferences for this particular bundle.

## Method Summary

Modifier and Type
Method
Description
`IPath`
`getLocation()`
Return a path to a location in the file-system where clients are able to write files that will have the same sharing/scope properties as preferences defined in this scope.
`String`
`getName()`
Return the name of the scope that this context is associated with.
`IEclipsePreferences`
`getNode(String qualifier)`
Return the preferences node that contains the preferences for the given qualifier or `null` if the node cannot be determined.

## Field Details

### PROPERTY_TYPE

static final String PROPERTY_TYPE
Property used when a scope context is registered as a service to distinguish different scopes

Since:
  3.10
See Also:
  - Constant Field Values

### TYPE_BUNDLE

static final String TYPE_BUNDLE
Type of a scope context that provides access to a bundle scoped context where `getLocation()` returns the bundles state location, and `getNode(String)` returns the preferences for this particular bundle. The bundle is always the one that acquires the service and not that calling the methods!

Since:
  3.10
See Also:
  - Constant Field Values

### BUNDLE_SCOPE_FILTER

static final String BUNDLE_SCOPE_FILTER
A filter that could be used to acquire a bundle scoped context, see `TYPE_BUNDLE` for details.

Since:
  3.10
See Also:
  - Constant Field Values

## Method Details

### getName

String getName()
Return the name of the scope that this context is associated with. Must not be `null`.

Returns:
  the name of the scope

### getNode

IEclipsePreferences getNode(String qualifier)
Return the preferences node that contains the preferences for the given qualifier or `null` if the node cannot be determined. The given qualifier must not be `null` but may be a path to a sub-node within the scope.

An example of a qualifier in Eclipse 2.1 would be the plug-in identifier that the preference is associated with (e.g. the "org.eclipse.core.resources" plug-in defines the "description.autobuild" preference).

This method can be used to determine the appropriate preferences node to aid in setting key/value pairs. For instance: `new InstanceScope().getNode("org.eclipse.core.resources");` returns the preference node in the instance scope where the preferences for "org.eclipse.core.resources" are stored.

Parameters:
  `qualifier` - a qualifier for the preference name
Returns:
  the node containing the plug-in preferences or `null`
See Also:
  - `IPreferencesService`

### getLocation

IPath getLocation()
Return a path to a location in the file-system where clients are able to write files that will have the same sharing/scope properties as preferences defined in this scope.

Implementors may return `null` if the location is not known, is unavailable, or is not applicable to this scope.

Returns:
  a writable location in the file system or `null`