blob: 1731500f915d1be1c93a54647f3e45260d507347 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jdt.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.jdt.ui" id="classpathFixProcessors" name="Classpath Fix Processor"/>
</appinfo>
<documentation>
This extension point allows to add a processor to offer fixes for incomplete class paths when types cannot be resolved.
&lt;p&gt;
This extension point supports the &lt;code&gt;&amp;lt;enablement&amp;gt;&lt;/code&gt; element.
&lt;!-- see org.eclipse.jdt.internal.ui.text.correction.ClasspathFixProcessorDescriptor#matches(IJavaProject): --&gt;
The default variable is the containing &lt;code&gt;org.eclipse.jdt.core.IJavaProject&lt;/code&gt;.
&lt;br&gt;Defined variables for &lt;code&gt;&amp;lt;with&amp;gt;&lt;/code&gt; expressions are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;project&quot;: type &lt;code&gt;org.eclipse.jdt.core.IJavaProject&lt;/code&gt;; the current project (same as the default variable)&lt;/li&gt;
&lt;li&gt;&quot;sourceLevel&quot;: type &lt;code&gt;java.lang.String&lt;/code&gt;; the source compliance level of the current project&lt;/li&gt;
&lt;/ul&gt;
A processor can specify to override another processor. An overridden processor is only asked to provide proposals when the overriding processor returns &lt;code&gt;null&lt;/code&gt; as proposals.
</documentation>
</annotation>
<include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
<element name="extension">
<complexType>
<sequence>
<element ref="classpathFixProcessor" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
a fully qualified identifier of the target extension point
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
an optional identifier of the extension instance
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
an optional name of the extension instance
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="classpathFixProcessor">
<complexType>
<sequence>
<element ref="enablement" minOccurs="0" maxOccurs="1"/>
<element ref="overrides" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
a unique identifier for the Classpath Fix processor
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
a localized name of the Classpath Fix processor
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
the name of the class that implements this Classpath Fix processor. The
class must be public and extend
&lt;samp&gt;org.eclipse.jdt.ui.text.java.ClasspathFixProcessor&lt;/samp&gt;
with a public 0-argument constructor.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.jdt.ui.text.java.ClasspathFixProcessor:"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="overrides">
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
The id of the classspath fix processor that is overridden by the current processor. The current processor can choose to replace proposals of the extended processor.
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.jdt.ui.classpathFixProcessors/classpathFixProcessor/@id"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
3.4
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
The following is an example of a Classpath Fix processor contribution:
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.jdt.ui.classpathFixProcessors&quot;&gt;
&lt;classpathFixProcessor
id=&quot;MyClasspathFixProcessor&quot;
name=&quot;My Classpath Fix Processor&quot;
class=&quot;com.example.MyClasspathFixProcessor&quot;&gt;
&lt;enablement&gt;
&lt;with variable=&quot;project&quot;&gt;
&lt;test property=&quot;org.eclipse.jdt.core.isInJavaProjectWithNature&quot;
value=&quot;org.eclipse.pde.PluginNature&quot;/&gt;
&lt;/with&gt;
&lt;/enablement&gt;
&lt;overrides
id=&quot;org.eclipse.jdt.ui.text.correction.DefaultClasspathFixProcessor&quot;&gt;
&lt;/overrides&gt;
&lt;/classpathFixProcessor&gt;
&lt;/extension&gt;
&lt;/pre&gt;
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiInfo"/>
</appinfo>
<documentation>
The contributed class must extend &lt;code&gt;org.eclipse.jdt.ui.text.java.ClasspathFixProcessor&lt;/code&gt;
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2007, 2013 IBM Corporation and others.&lt;br&gt;
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at &lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/
SPDX-License-Identifier: EPL-2.0
</documentation>
</annotation>
</schema>