Package org.eclipse.jface.preference

# Class PreferenceManager

java.lang.Object
org.eclipse.jface.preference.PreferenceManager

public class PreferenceManager extends Object
A preference manager maintains a hierarchy of preference nodes and associated preference pages.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`POST_ORDER`
Post-order means visit the children, and then the root.
`static final int`
`PRE_ORDER`
Pre-order traversal means visit the root first, then the children.

## Constructor Summary

Constructors
Constructor
Description
`PreferenceManager()`
Creates a new preference manager.
`PreferenceManager(char separatorChar)`
Creates a new preference manager with the given path separator.
`PreferenceManager(char separatorChar, PreferenceNode rootNode)`
Creates a new preference manager with the given path separator and root node.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`addTo(String path, IPreferenceNode node)`
Adds the given preference node as a subnode of the node at the given path.
`void`
`addToRoot(IPreferenceNode node)`
Adds the given preference node as a subnode of the root.
`protected void`
`buildSequence(IPreferenceNode node, List<IPreferenceNode> sequence, int order)`
Recursively enumerates all nodes at or below the given node and adds them to the given list in the given order.
`IPreferenceNode`
`find(String path)`
Finds and returns the contribution node at the given path.
`protected IPreferenceNode`
`find(String path, IPreferenceNode top)`
Finds and returns the preference node directly below the top at the given path.
`List<IPreferenceNode>`
`getElements(int order)`
Returns all preference nodes managed by this manager.
`protected IPreferenceNode`
`getRoot()`
Returns the root node.
`final IPreferenceNode[]`
`getRootSubNodes()`
Returns the root level nodes of this preference manager.
`IPreferenceNode`
`remove(String path)`
Removes the preference node at the given path.
`boolean`
`remove(IPreferenceNode node)`
Removes the given preference node if it is managed by this contribution manager.
`void`
`removeAll()`
Removes all contribution nodes known to this manager.

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

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

## Field Details

### PRE_ORDER

public static final int PRE_ORDER
Pre-order traversal means visit the root first, then the children.

See Also:
  - Constant Field Values

### POST_ORDER

public static final int POST_ORDER
Post-order means visit the children, and then the root.

See Also:
  - Constant Field Values

## Constructor Details

### PreferenceManager

public PreferenceManager()
Creates a new preference manager.

### PreferenceManager

public PreferenceManager(char separatorChar)
Creates a new preference manager with the given path separator.

Parameters:
  `separatorChar` - preference node separator

### PreferenceManager

public PreferenceManager(char separatorChar, PreferenceNode rootNode)
Creates a new preference manager with the given path separator and root node.

Parameters:
  `separatorChar` - the separator character
  `rootNode` - the root node.
Since:
  3.4

## Method Details

### addTo

public boolean addTo(String path, IPreferenceNode node)
Adds the given preference node as a subnode of the node at the given path.

Parameters:
  `path` - the path
  `node` - the node to add
Returns:
  `true` if the add was successful, and `false` if there is no contribution at the given path

### addToRoot

public void addToRoot(IPreferenceNode node)
Adds the given preference node as a subnode of the root.

Parameters:
  `node` - the node to add, which must implement `IPreferenceNode`

### buildSequence

protected void buildSequence(IPreferenceNode node, List<IPreferenceNode> sequence, int order)
Recursively enumerates all nodes at or below the given node and adds them to the given list in the given order.

Parameters:
  `node` - the starting node
  `sequence` - a read-write list of preference nodes (element type: `IPreferenceNode`) in the given order
  `order` - the traversal order, one of `PRE_ORDER` and `POST_ORDER`

### find

public IPreferenceNode find(String path)
Finds and returns the contribution node at the given path.

Parameters:
  `path` - the path
Returns:
  the node, or `null` if none

### find

protected IPreferenceNode find(String path, IPreferenceNode top)
Finds and returns the preference node directly below the top at the given path.

Parameters:
  `path` - the path
  `top` - top at the given path
Returns:
  the node, or `null` if none
Since:
  3.1

### getElements

public List<IPreferenceNode> getElements(int order)
Returns all preference nodes managed by this manager.

Parameters:
  `order` - the traversal order, one of `PRE_ORDER` and `POST_ORDER`
Returns:
  a list of preference nodes (element type: `IPreferenceNode`) in the given order

### getRoot

protected IPreferenceNode getRoot()
Returns the root node. Note that the root node is a special internal node that is used to collect together all the nodes that have no parent; it is not given out to clients.

Returns:
  the root node

### getRootSubNodes

public final IPreferenceNode[] getRootSubNodes()
Returns the root level nodes of this preference manager.

Returns:
  an array containing the root nodes
Since:
  3.2

### remove

public IPreferenceNode remove(String path)
Removes the preference node at the given path.

Parameters:
  `path` - the path
Returns:
  the node that was removed, or `null` if there was no node at the given path

### remove

public boolean remove(IPreferenceNode node)
Removes the given preference node if it is managed by this contribution manager.

Parameters:
  `node` - the node to remove
Returns:
  `true` if the node was removed, and `false` otherwise

### removeAll

public void removeAll()
Removes all contribution nodes known to this manager.