01: /*******************************************************************************
02: * Copyright (c) 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.navigator;
11:
12: import org.eclipse.ui.IMemento;
13:
14: /**
15: *
16: * Provides initialization data for a content extension. Supplied in the
17: * <code>init()</code> methods of various interfaces allowed by the framework.
18: *
19: * <p>
20: * This interface is not intended to be implemented by clients.
21: * </p>
22: *
23: * @since 3.2
24: * @see ICommonLabelProvider
25: * @see ICommonContentProvider
26: *
27: */
28: public interface ICommonContentExtensionSite {
29:
30: /**
31: * The extension state model allows an extension to isolate all of the
32: * dynamic state information that affects how it presents content or
33: * displays actions. Clients may use this state model to drive values from
34: * actions that will cause label or content providers to change their
35: * behavior.
36: *
37: * @return The state model associated with this logical extension.
38: */
39: IExtensionStateModel getExtensionStateModel();
40:
41: /**
42: * Advanced extensions may expose user-customizeable properties that affect
43: * the structure or behavior of the extension. Clients may use the given
44: * memento to restore or persist these settings between sessions.
45: *
46: * @return A memento which can be used to restore or persist settings
47: * between workbench sessions.
48: */
49: IMemento getMemento();
50:
51: /**
52: *
53: * @return The extension instance. Clients may use their extension
54: * instance to get access to other components defined by the logical
55: * extension.
56: */
57: INavigatorContentExtension getExtension();
58:
59: /**
60: *
61: * @return The content service associated with this extension site.
62: * @since 3.3
63: */
64: INavigatorContentService getService();
65: }
|