| <?xml version='1.0' encoding='UTF-8'?> |
| <!-- Schema file written by PDE --> |
| <schema targetNamespace="org.eclipse.objectteams.otequinox" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appInfo> |
| <meta.schema plugin="org.eclipse.objectteams.otequinox" id="aspectBindings" name="OT/J Aspect Bindings"/> |
| </appInfo> |
| <documentation> |
| This extension point allows to define a new <strong>relationship</strong> between plug-ins |
| called <strong>"aspectBinding"</strong>. |
| By an aspectBinding an aspect plug-in declares which <strong>base plug-ins</strong> it wishes to adapt |
| and which <strong>team classes</strong> are used for that purpose. |
| Only teams in this list are allowed to adapt classes from another plug-in, and such |
| adaptation is restricted to classes residing in the specified base plug-in. |
| |
| Each team class mentioned in an aspectBinding is automatically <strong>instantiated</strong> |
| before the corresponding base plug-in is fully activated. |
| In addition extensions may specify that a given team is also <strong>activated</strong> |
| after instantiation. |
| </documentation> |
| </annotation> |
| |
| <element name="extension"> |
| <annotation> |
| <appInfo> |
| <meta.element /> |
| </appInfo> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="aspectBinding" minOccurs="1" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="id" type="string"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="point" type="string" use="required"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="name" type="string"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| <appInfo> |
| <meta.attribute translatable="true"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="aspectBinding"> |
| <annotation> |
| <appInfo> |
| <meta.element icon="icon"/> |
| </appInfo> |
| <documentation> |
| Specifies an individual aspect binding by which a given team class adapts classes from a given base plugin. |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="basePlugin"/> |
| <element ref="team" minOccurs="1" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif"> |
| <annotation> |
| <documentation> |
| <i>Default value to provide an icon for this element kind. No need to edit</i> |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="resource"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="basePlugin"> |
| <annotation> |
| <appInfo> |
| <meta.element icon="icon"/> |
| </appInfo> |
| <documentation> |
| <p> |
| The base plug-in whose classes may be adapted by the given team(s). |
| The base bundle must be a regular bundle, not a fragment. |
| If a bundle <b>fragment</b> should be adapted the aspect binding must refer to the fragment's host bundle |
| and additionally a <code>requiredFragment</code> should be added. |
| </p> |
| <p> |
| By specifying <code>SELF</code> as the basePlugin, a team may adapt classes from its own bundle. |
| </p> |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="forcedExports" minOccurs="0" maxOccurs="1"/> |
| <element ref="requiredFragment" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="id" type="string" use="required"> |
| <annotation> |
| <documentation> |
| Qualified identifier of the base plug-in. |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"> |
| <annotation> |
| <documentation> |
| <i>Default value to provide an icon for this element kind. No need to edit</i> |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="resource"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="team"> |
| <annotation> |
| <appInfo> |
| <meta.element labelAttribute="class" icon="icon"/> |
| </appInfo> |
| <documentation> |
| The team class of this plug-in which is allowed to adapt classes of the given base plug-in.<br/> |
| If a nested team shall be used it must be specified using either its binary name (using a '$' separator). |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="superBase" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="class" type="string" use="required"> |
| <annotation> |
| <documentation> |
| Fully qualified name of a team class. |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="java" basedOn="org.objectteams.Team"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| <attribute name="superclass" type="string"> |
| <annotation> |
| <documentation> |
| Fully qualified name of the team's super-class if that is not org.objectteams.Team but another team of the same plugin. |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="java" basedOn="org.objectteams.Team"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| <attribute name="activation"> |
| <annotation> |
| <documentation> |
| Request activation of this team class: |
| NONE: don't automatically activate (default) |
| THREAD: activate for one thread (discouraged) |
| ALL_THREADS: activate for all threads |
| </documentation> |
| </annotation> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="NONE"> |
| </enumeration> |
| <enumeration value="THREAD"> |
| </enumeration> |
| <enumeration value="ALL_THREADS"> |
| </enumeration> |
| </restriction> |
| </simpleType> |
| </attribute> |
| <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif"> |
| <annotation> |
| <documentation> |
| <i>Default value to provide an icon for this element kind. No need to edit</i> |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="resource"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="forcedExports" type="string"> |
| <annotation> |
| <documentation> |
| Declare any requests to access packages from the base plugin which are not exported. |
| Provide comma separated list of package names (as in the OSGi Export-Package: header). |
| </documentation> |
| </annotation> |
| </element> |
| |
| <element name="requiredFragment"> |
| <annotation> |
| <documentation> |
| Name of a fragment of the base bundle that is required by the aspect. |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="id" type="string" use="required"> |
| <annotation> |
| <documentation> |
| Symbolic name of the fragment. |
| </documentation> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="superBase"> |
| <annotation> |
| <documentation> |
| Relevant super classes of bound base classes. A super base class is relevant, if it defines a method, whose override in the exact base is bound by callin or decapsulating callout. |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="plugin" type="string"> |
| <annotation> |
| <documentation> |
| the plugin holding the super base class (can be omitted if same as the basePlugin of the enclosing aspectBinding). |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="class" type="string" use="required"> |
| <annotation> |
| <documentation> |
| Fully qualified dot/dollar-separated base class that is a super class of a bound base class. |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="java"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="since"/> |
| </appInfo> |
| <documentation> |
| OTDT 0.9.1 based on Eclipse 3.2. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="examples"/> |
| </appInfo> |
| <documentation> |
| See example plugin org.eclipse.objectteams.otequinox.branding. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="apiInfo"/> |
| </appInfo> |
| <documentation> |
| The <code>class</code> named in the class property must be a team class thus implementing the <code>org.objectteams.ITeam</code> interface. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="implementation"/> |
| </appInfo> |
| <documentation> |
| None. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="copyright"/> |
| </appInfo> |
| <documentation> |
| <em> |
| <p> |
| This file is part of "Object Teams Development Tooling"-Software |
| </p><p> |
| Copyright 2006, 2010 Technical University Berlin, Germany. |
| 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 |
| <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> |
| </p><p> |
| Please visit <a href="http://www.objectteams.org">www.objectteams.org</a> for updates and contact. |
| </p><p> |
| Contributors:<br> |
| Technical University Berlin - Initial API and implementation |
| </p> |
| </em> |
| </documentation> |
| </annotation> |
| |
| </schema> |