1
|
/*******************************************************************************
|
2
|
* Copyright (c) 2006, 2009 IBM Corporation and others.
|
3
|
* All rights reserved. This program and the accompanying materials
|
4
|
* are made available under the terms of the Eclipse Public License v1.0
|
5
|
* which accompanies this distribution, and is available at
|
6
|
* http://www.eclipse.org/legal/epl-v10.html
|
7
|
*
|
8
|
* Contributors:
|
9
|
* IBM Corporation - initial API and implementation
|
10
|
******************************************************************************/
|
11
|
|
12
|
package org.eclipse.ui.navigator;
|
13
|
|
14
|
import org.eclipse.ui.IMemento;
|
15
|
|
16
|
/**
|
17
|
*
|
18
|
* Provides initialization data for a content extension. Supplied in the
|
19
|
* <code>init()</code> methods of various interfaces allowed by the framework.
|
20
|
*
|
21
|
* @since 3.2
|
22
|
* @noextend This interface is not intended to be extended by clients.
|
23
|
* @noimplement This interface is not intended to be implemented by clients.
|
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
|
}
|