| <?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 <code>true</code>. |
| </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: |
| |
| <p> |
| <pre> |
| <extension point="org.eclipse.jdt.debug.javaLogicalStructures"> |
| <javaLogitalStructure |
| subtypes="true" |
| value="return entrySet().toArray();" |
| type="java.util.Map"/> |
| <javaLogitalStructure |
| subtypes="true" |
| type="java.util.Map$Entry"> |
| <variable |
| value="return getKey();" |
| name="key"/> |
| <variable |
| value="return getValue();" |
| name="value"/> |
| </javaLogitalStructure> |
| </extension> |
| </pre> |
| </p> |
| |
| 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.<br> |
| |
| 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 |
| <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-v20.html</a>/ |
| |
| SPDX-License-Identifier: EPL-2.0 |
| </documentation> |
| </annotation> |
| |
| </schema> |