blob: 61f9d1fc0bf83349840f5b9a4aa530e3b0d2ead5 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 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.dltk.core;
/**
* Interface defining methods that should be exposed by an extension
* implementation that may have more then one implemenation defined for it.
*
* <p>Users will be able select which implemenation is used via an extension
* specific preference/property page. Examples:
* <ul>
* <li>Source Parsers
* <li>Debugging Engines
* </ul>
* </p>
*/
public interface IDLTKContributedExtension {
static final String ID = "id"; //$NON-NLS-1$
static final String NAME = "name"; //$NON-NLS-1$
static final String DESCRIPTION = "description"; //$NON-NLS-1$
static final String PREF_PAGE_ID = "preferencePageId"; //$NON-NLS-1$
static final String PROP_PAGE_ID = "propertyPageId"; //$NON-NLS-1$
static final String PRIORITY = "priority"; //$NON-NLS-1$
static final String NATURE_ID = "natureId"; //$NON-NLS-1$
/**
* Returns the contribution id
*/
String getId();
/**
* Returns the contribution nature id
*/
String getNatureId();
/**
* Returns the contribution name
*/
String getName();
/**
* Returns the contribution description
*/
String getDescription();
/**
* Returns the contribution's preference page id, or <code>null</code> if
* one has not been set.
*/
String getPreferencePageId();
/**
* Returns the contributions property page id, or <code>null</code> if one
* has not been set.
*/
String getPropertyPageId();
/**
* Returns the contribution priority
*/
int getPriority();
}