Class ProjectScope

  • All Implemented Interfaces:
    IScopeContext

    public final class ProjectScope
    extends org.eclipse.core.internal.preferences.AbstractScope
    Object representing the project scope in the Eclipse preferences hierarchy. Can be used as a context for searching for preference values (in the org.eclipse.core.runtime.IPreferencesService APIs) or for determining the correct preference node to set values in the store.

    Project preferences are stored on a per project basis in the project's content area as specified by IProject#getLocation.

    The path for preferences defined in the project scope hierarchy is as follows: /project/<projectName>/<qualifier>

    This class is not intended to be subclassed. This class may be instantiated.

    Since:
    3.0
    See Also:
    IResource.getLocation()
    • Field Detail

      • SCOPE

        public static final String SCOPE
        String constant (value of "project") used for the scope name for this preference scope.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ProjectScope

        public ProjectScope​(IProject context)
        Create and return a new project scope for the given project. The given project must not be null.
        Parameters:
        context - the project
        Throws:
        IllegalArgumentException - if the project is null
    • Method Detail

      • 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
        Overrides:
        getNode in class org.eclipse.core.internal.preferences.AbstractScope
        Parameters:
        qualifier - a qualifier for the preference name
        Returns:
        the node containing the plug-in preferences or null
        See Also:
        IPreferencesService
      • 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
        Specified by:
        getLocation in class org.eclipse.core.internal.preferences.AbstractScope
        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
        Specified by:
        getName in class org.eclipse.core.internal.preferences.AbstractScope
        Returns:
        the name of the scope
      • equals

        public boolean equals​(Object obj)
        Overrides:
        equals in class org.eclipse.core.internal.preferences.AbstractScope
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class org.eclipse.core.internal.preferences.AbstractScope