blob: 9e7583135fcfcbeee6f4fc769a1361eb8fdc8eed [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jdt.debug" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.jdt.debug" id="javaLogicalStructures" name="Java Logical Structures"/>
</appinfo>
<documentation>
This extension point allows developers to define a logical structure for Java objects of a specified type. The logical value is created by evaluating the provided code snippet.
</documentation>
</annotation>
<element name="extension">
<complexType>
<sequence>
<element ref="javaLogicalStructure" 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>
</annotation>
</attribute>
</complexType>
</element>
<element name="javaLogicalStructure">
<complexType>
<sequence minOccurs="0" maxOccurs="1">
<element ref="variable" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
<attribute name="type" type="string" use="required">
<annotation>
<documentation>
Fully qualified name of the type.
</documentation>
<appinfo>
<meta.attribute kind="java"/>
</appinfo>
</annotation>
</attribute>
<attribute name="subtypes" type="boolean" use="default" value="true">
<annotation>
<documentation>
specify if this Java logical structure should be used also for the objects of a subtype of the specified type, or only for the objects of the specified type. This attribute is optional, the default value is &lt;code&gt;true&lt;/code&gt;.
</documentation>
</annotation>
</attribute>
<attribute name="value" type="string">
<annotation>
<documentation>
The code snippet to evaluate to create the logical value. This attribute is optional, if unspecified, the extension must declare one or more variables.
</documentation>
</annotation>
</attribute>
<attribute name="description" type="string" use="required">
<annotation>
<documentation>
a description of this logical structure.
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="variable">
<annotation>
<documentation>
One variable of the logical value for the object of this type.
</documentation>
</annotation>
<complexType>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
The name of the variable which will be created
</documentation>
</annotation>
</attribute>
<attribute name="value" type="string" use="required">
<annotation>
<documentation>
The code snippet which will be evaluated as the value of the variable
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
3.1
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
Following is an example of a Java logical structure extension point with two structures:
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.jdt.debug.javaLogicalStructures&quot;&gt;
&lt;javaLogitalStructure
subtypes=&quot;true&quot;
value=&quot;return entrySet().toArray();&quot;
type=&quot;java.util.Map&quot;/&gt;
&lt;javaLogitalStructure
subtypes=&quot;true&quot;
type=&quot;java.util.Map$Entry&quot;&gt;
&lt;variable
value=&quot;return getKey();&quot;
name=&quot;key&quot;/&gt;
&lt;variable
value=&quot;return getValue();&quot;
name=&quot;value&quot;/&gt;
&lt;/javaLogitalStructure&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
In the example above a Map is translated into its entries and a Map$Entry is translated into its key and value.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiInfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2004, 2005 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>