Beschreibung: Dieser Erweiterungspunkt wird verwendet, um die Erweiterungen des Leistungsspektrums eines Projekts zu registrieren. Das Leistungsspektrum ist das Benutzerschnittstellen-Äquivalent der Projektgattungen von CORE und besitzen eine Eine-zu-eine-Beziehung mit Projektgattungen. Die Workbench ermöglicht dem Benutzer zu jeder Zeit das Hinzufügen bzw. Entfernen des Leistungsspektrums eines Projekts unter Verwendung des Eigenschaftendialogs oder des Assistenten für neue Projekte.
Das Leistungsspektrum stellt bestimmte Fähigkeiten eines Projekts dar. Ein Projekt kann beispielsweise über ein Leistungsspektrum "Java" verfügen, mit dessen Hilfe die .java-Dateien des Projekts unter Verwendung eines Java-Compilers kompiliert werden können. Wenn sich der Aufgabenbereich des Projekts im Lauf der Zeit ändert, kann das Leistungsspektrum des Projekts in Anpassung an die neuen Erfordernisse entsprechend modifiziert werden. Ein Projekt kann beispielsweise als ein einfaches Java-Leistungsspektrum starten und kann später eine neue Voraussetzung zur Verwendung von JNI für eine bestimmte Nachlassbibliothek aufnehmen. Der Benutzer kann dem Projekt dann ein "C++"-Leistungsspektrum (falls vorhanden) hinzufügen, um der neuen Voraussetzung zu entsprechen.
Manche Leistungsspektren wollen die Benutzerschnittstelle für andere Leistungsspektren verwalten. Dies geschieht in der Regel, wenn für eine bestimmte Leistung eine Reihe anderer Leistungen erforderlich sind (beachten Sie, dass die Informationen zu den Vorbedingungen vom Erweiterungspunkt "org.eclipse.core.resources.natures" abgeleitet wurden). Um Servlets zu kompilieren, muss ein "Web"-Leistungsspektrum beispielsweise über das "Java"-Leistungsspektrum verfügen. Dabei kann es allerdings vorkommen, dass eine viel einfachere Seite zur Konfiguration des "Java"-Leistungsspektrums dargestellt werden soll, oder dass überhaupt keine Seiten zum "Java"-Leistungsspektrum dargestellt werden und dieses einfach mit den entsprechenden Standardeinstellungen hinzugefügt wird.
Der Installationsassistent für ein Leistungsspektrum ist dafür verantwortlich, die notwendigen Informationen vom Benutzer zu sammeln, um die Gattung dieses Leistungsspektrums und die Gattungen aller weiteren Leistungsspektren hinzuzufügen, für die er die Benutzerschnittstelle verwaltet. Der Installationsassistent muss die Situation handhaben, in der einige oder alle der erforderlichen Leistungsspektren bereits installiert und konfiguriert sind.
Der Deinstallationsassistent für ein Leistungsspektrum ist dafür verantwortlich, die zum Entfernen der Gattung des Leistungsspektrums erforderlichen Informationen vom Benutzer zu sammeln. Er muss darüber hinaus auch alle anderen Gattungen aus Leistungsspektren entfernen, die der Benutzer entfernt haben möchte und für deren Leistungsspektren der Assistent die Benutzerschnittstelle verwaltet. Diese zusätzlichen Leistungsspektren, die der Benutzer entfernen lassen möchte, werden in der Methode "init" bereitgestellt.
Leistungsspektren können angeben, zu welchen Perspektiven ein Benutzer umschalten kann, wenn sie dem Projekt hinzugefügt werden. Dies ermöglicht dem Benutzer das Entdecken neuer Perspektiven, die von den neuen Leistungsspektren Gebrauch machen können. Leistungsspektren, die die Benutzerschnittstelle für andere Leistungsspektren verwalten, steuern außerdem die Liste der Perspektiven für diese Leistungsspektren. Das "Web"-Leistungsspektrum verwaltet beispielsweise die Benutzerschnittstelle für das von ihr erforderte "Java"-Leistungsspektrum. Das "Web"-Leistungsspektrum kann wahlweise die unterschiedlichen Java-Perspektiven ein- bzw. ausschließen.
Auf die von einem Plug-in definierten Kategorien kann von anderen Plug-ins verwiesen werden, die das Attribut category verwenden.
Beachten Sie, dass der dem Benutzer angegebene Name des Leistungsspektrums dem Attribut "name" im Erweiterungselement des Erweiterungspunkts "org.eclipse.core.resources.natures" entstammt.
Seit: Release 2.0
Konfigurationsbefehle:
<!ELEMENT category EMPTY>
<!ATTLIST category
id
CDATA #REQUIRED
name
CDATA #REQUIRED
>
Beispiel einer Konfiguration eines Leistungsspektrums:
<extension point="org.eclipse.ui.capabilities">
<category
id="com.xyz.weather"
name="Wetterelemente">
</category>
<capability
id="com.xyz.snowCapability"
natureId="com.xyz.snowNature"
category="com.xyz.weather"
icon="./icons/snowCapability.gif"
installWizard="com.xyz.SnowCapabilityWizard">
installDetails="Sie werden zur Bereitstellung einer Ländereinstellungs-ID aufgefordert.">
description="Machen Sie Ihr Projekt zu einem Winterwunderland!">
<handleUI
id="com.xyz.waterCapability"
</handleUI>
<perspectiveChoice
id="com.xyz.skiPerspective"
</perspectiveChoice>
<perspectiveChoice
id="com.xyz.rainPerspective"
</perspectiveChoice>
</capability>
<capability
id="com.xyz.waterCapability"
natureId="com.xyz.waterNature"
category="com.xyz.weather"
icon="./icons/waterCapability.gif"
installWizard="com.xyz.WaterCapabilityWizard">
installDetails="Sie werden zur Bereitstellung einer Ländereinstellungs-ID aufgefordert.">
description="Machen Sie Ihr Projekt zu einem Winterwunderland!">
<perspectiveChoice
id="com.xyz.rainPerspective"
</perspectiveChoice>
<perspectiveChoice
id="com.xyz.drinkPerspective"
</perspectiveChoice>
</capability>
</extension>
API-Informationen: Der Wert des Attributs installWizard muss eine Klasse sein, die die Schnittstelle org.eclipse.ui.ICapabilityInstallWizard implementiert. Das in die Methode "init" übergebene Projekt "IProject" ist vorhanden und kann nach dem Vorhandensein anderer Gattungen abgefragt werden. Der Installationsassistent für das Leistungsspektrum darf das in die Methode "init" übergeben Projekt weder schließen noch löschen.
Der Wert des Attributs uninstallWizard muss eine Klasse darstellen, die die Schnittstelle org.eclipse.ui.ICapabilityUninstallWizard implementiert. Das in die Methode "init" übergebene Projekt "IProject" ist vorhanden und kann nach dem Vorhandensein anderer Gattungen abgefragt werden. Der Deinstallationsassistent für das Leistungsspektrum darf das in die Methode "init" übergeben Projekt weder schließen noch löschen.
Bereitgestellte Implementierung: Die Workbench stellt keine Leistungsspektren zur Verfügung.