Package org.eclipse.equinox.p2.engine

## Class ProfileScope

- java.lang.Object
- - org.eclipse.equinox.p2.engine.ProfileScope

All Implemented Interfaces:
  `IScopeContext`

    public final class ProfileScope
    extends Object
    implements IScopeContext

A profile scope contains the preferences associated with a particular profile in a provisioned system.

Since:
  2.0
See Also:
  `IProfile`

### Field Summary

Fields
`static String` `SCOPE` String constant (value of `"profile"`) used for the scope name for this preference scope.

### Fields inherited from interface org.eclipse.core.runtime.preferences.IScopeContext

`BUNDLE_SCOPE_FILTER, PROPERTY_TYPE, TYPE_BUNDLE`

### Constructor Summary

Constructors
`ProfileScope​(IAgentLocation agentLocation, String profileId)` Creates and returns a profile scope for the given profile id and agent.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(Object obj)`
`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.
`int` `hashCode()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### SCOPE

    public static final String SCOPE

String constant (value of `"profile"`) used for the scope name for this preference scope.

See Also:
  Constant Field Values

### Constructor Detail

#### ProfileScope

    public ProfileScope​(IAgentLocation agentLocation,
                        String profileId)

Creates and returns a profile scope for the given profile id and agent.

Parameters:
  `agentLocation` - The location of the provisioning agent to obtain profile preferences for
  `profileId` - The id of the profile to obtain preferences for

### Method Detail

#### getLocation

    public IPath getLocation()

Description copied from interface: `IScopeContext`
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.

Specified by:
  `getLocation` in interface `IScopeContext`
Returns:
  a writable location in the file system or `null`

#### getName

    public String getName()

Description copied from interface: `IScopeContext`
Return the name of the scope that this context is associated with. Must not be `null`.

Specified by:
  `getName` in interface `IScopeContext`
Returns:
  the name of the scope

#### getNode

    public IEclipsePreferences getNode​(String qualifier)

Description copied from interface: `IScopeContext`
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.

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

#### equals

    public boolean equals​(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`