blob: 8a05670ffe3340fc4e06508fdf799040ed33fe2e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 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.model;
import org.eclipse.core.runtime.IAdaptable;
/**
* Instances of this interface represent a contribution within the workbench.
* This interface is typically implemented by the workbench itself although
* extension developers may wish to implement it as well for their own
* extensions.
*
* @since 3.4
*/
public interface IComparableContribution extends IAdaptable {
/**
* The default priority (0);
*/
public static final int PRIORITY_DEFAULT = 0;
/**
* Return the priority of this contribution. Lower values constitute higher
* priorities.
*
* @return the priority
*/
int getPriority();
/**
* Return the human readable label for this contribution. Must not be
* <code>null</code>.
*
* @return the label for this contribution
*/
String getLabel();
/**
* Possible adaptations include:
* <dl>
* <dt>{@link org.eclipse.core.runtime.IConfigurationElement}</dt>
* <dd>useful for contributions that eventually work back to registry
* elements. The majority of {@link IComparableContribution} instances
* provided by the platform will provide this adapter.</dd>
* </dl>
*/
public Object getAdapter(Class adapter);
}