Bug 90257 [Preferences] Want to create an instanceof of a WorkingCopyManager
20050405 I'm currently referencing the internal class org.eclipse.ui.internal.preferences.WorkingCopyManager I have a base class that manages all the current settings and I changes that class to use the working copy manager. For the following reasons I also have to function when I don't get a working copy manager. To avoid complicated code it would be nice if in these case I could just use an internal instance of the working copy manager. - In the preference page, when testing if my container is really of kind IWorkbenchPreferenceContainer (so I can access the working copy manager) I have to also handle the case that the test returns false - We have some pages that are contributed by extension point that don't give me access to the container due to API limitations.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/OptionsConfigurationBlock.java
* @since 2.1
 */
public abstract class OptionsConfigurationBlock {
	
	public static final class Key {
		
		private String fQualifier;
		private String fKey;
		
		public Key(String qualifier, String key) {
			fQualifier= qualifier;
			fKey= key;
		}
		
		public String getName() {
			return fKey;
		}
		
		private IEclipsePreferences getNode(IScopeContext context, IWorkingCopyManager manager) {
			IEclipsePreferences node= context.getNode(fQualifier);
			if (manager != null) {
				return manager.getWorkingCopy(node);
			}
			return node;
		}
		
		public String getStoredValue(IScopeContext context, IWorkingCopyManager manager) {
			return getNode(context, manager).get(fKey, null);
		}