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