01: /*******************************************************************************
02: * Copyright (c) 2005, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.ui.preferences;
11:
12: import org.eclipse.core.runtime.preferences.IEclipsePreferences;
13: import org.osgi.service.prefs.BackingStoreException;
14:
15: /**
16: * IWorkingCopyManager is the interface for the working copy
17: * support for references to shared preference nodes.
18: * @since 3.1
19: *
20: */
21: public interface IWorkingCopyManager {
22: /**
23: * Return a working copy instance based on the given preference node. If a
24: * working copy already exists then return it, otherwise create one and keep
25: * track of it for other clients who are looking for it.
26: *
27: * @param original
28: * the original node
29: * @return the working copy node
30: */
31: public IEclipsePreferences getWorkingCopy(
32: IEclipsePreferences original);
33:
34: /**
35: * Apply the changes for <em>all</em> working copies, to their original
36: * preference nodes. Alternatively, if a client wishes to apply the changes
37: * for a single working copy they can call <code>#flush</code> on that
38: * working copy node.
39: *
40: * @throws BackingStoreException
41: * if there were problems accessing the backing store
42: */
43: public void applyChanges() throws BackingStoreException;
44:
45: }
|