blob: 79e298f80799a3a1d505affdb482350b8461bae3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
******************************************************************************/
package org.eclipse.ui.navigator;
import org.eclipse.ui.IMemento;
/**
*
* Provides initialization data for a content extension. Supplied in the
* <code>init()</code> methods of various interfaces allowed by the framework.
*
* <p>
* This interface is not intended to be implemented by clients.
* </p>
*
* @since 3.2
* @see ICommonLabelProvider
* @see ICommonContentProvider
*
*/
public interface ICommonContentExtensionSite {
/**
* The extension state model allows an extension to isolate all of the
* dynamic state information that affects how it presents content or
* displays actions. Clients may use this state model to drive values from
* actions that will cause label or content providers to change their
* behavior.
*
* @return The state model associated with this logical extension.
*/
IExtensionStateModel getExtensionStateModel();
/**
* Advanced extensions may expose user-customizeable properties that affect
* the structure or behavior of the extension. Clients may use the given
* memento to restore or persist these settings between sessions.
*
* @return A memento which can be used to restore or persist settings
* between workbench sessions.
*/
IMemento getMemento();
/**
*
* @return The extension instance. Clients may use their extension
* instance to get access to other components defined by the logical
* extension.
*/
INavigatorContentExtension getExtension();
/**
*
* @return The content service associated with this extension site.
* @since 3.3
*/
INavigatorContentService getService();
}