Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 1 | <?xml version='1.0' encoding='UTF-8'?> |
| 2 | <!-- Schema file written by PDE --> |
| 3 | <schema targetNamespace="org.eclipse.objectteams.otequinox" xmlns="http://www.w3.org/2001/XMLSchema"> |
| 4 | <annotation> |
| 5 | <appInfo> |
| 6 | <meta.schema plugin="org.eclipse.objectteams.otequinox" id="aspectBindings" name="OT/J Aspect Bindings"/> |
| 7 | </appInfo> |
| 8 | <documentation> |
| 9 | This extension point allows to define a new <strong>relationship</strong> between plug-ins |
| 10 | called <strong>"aspectBinding"</strong>. |
| 11 | By an aspectBinding an aspect plug-in declares which <strong>base plug-ins</strong> it wishes to adapt |
| 12 | and which <strong>team classes</strong> are used for that purpose. |
| 13 | Only teams in this list are allowed to adapt classes from another plug-in, and such |
| 14 | adaptation is restricted to classes residing in the specified base plug-in. |
| 15 | |
| 16 | Each team class mentioned in an aspectBinding is automatically <strong>instantiated</strong> |
| 17 | before the corresponding base plug-in is fully activated. |
| 18 | In addition extensions may specify that a given team is also <strong>activated</strong> |
| 19 | after instantiation. |
| 20 | </documentation> |
| 21 | </annotation> |
| 22 | |
| 23 | <element name="extension"> |
| 24 | <annotation> |
| 25 | <appInfo> |
| 26 | <meta.element /> |
| 27 | </appInfo> |
| 28 | </annotation> |
| 29 | <complexType> |
| 30 | <sequence> |
| 31 | <element ref="aspectBinding" minOccurs="1" maxOccurs="unbounded"/> |
| 32 | </sequence> |
| 33 | <attribute name="id" type="string"> |
| 34 | <annotation> |
| 35 | <documentation> |
| 36 | |
| 37 | </documentation> |
| 38 | </annotation> |
| 39 | </attribute> |
| 40 | <attribute name="point" type="string" use="required"> |
| 41 | <annotation> |
| 42 | <documentation> |
| 43 | |
| 44 | </documentation> |
| 45 | </annotation> |
| 46 | </attribute> |
| 47 | <attribute name="name" type="string"> |
| 48 | <annotation> |
| 49 | <documentation> |
| 50 | |
| 51 | </documentation> |
| 52 | <appInfo> |
| 53 | <meta.attribute translatable="true"/> |
| 54 | </appInfo> |
| 55 | </annotation> |
| 56 | </attribute> |
| 57 | </complexType> |
| 58 | </element> |
| 59 | |
| 60 | <element name="aspectBinding"> |
| 61 | <annotation> |
| 62 | <appInfo> |
| 63 | <meta.element icon="icon"/> |
| 64 | </appInfo> |
| 65 | <documentation> |
| 66 | Specifies an individual aspect binding by which a given team class adapts classes from a given base plugin. |
| 67 | </documentation> |
| 68 | </annotation> |
| 69 | <complexType> |
| 70 | <sequence> |
| 71 | <element ref="basePlugin"/> |
| 72 | <element ref="team" minOccurs="1" maxOccurs="unbounded"/> |
| 73 | </sequence> |
| 74 | <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif"> |
| 75 | <annotation> |
| 76 | <documentation> |
| 77 | <i>Default value to provide an icon for this element kind. No need to edit</i> |
| 78 | </documentation> |
| 79 | <appInfo> |
| 80 | <meta.attribute kind="resource"/> |
| 81 | </appInfo> |
| 82 | </annotation> |
| 83 | </attribute> |
| 84 | </complexType> |
| 85 | </element> |
| 86 | |
| 87 | <element name="basePlugin"> |
| 88 | <annotation> |
| 89 | <appInfo> |
| 90 | <meta.element icon="icon"/> |
| 91 | </appInfo> |
| 92 | <documentation> |
| 93 | <p> |
| 94 | The base plug-in whose classes may be adapted by the given team(s). |
| 95 | The base bundle must be a regular bundle, not a fragment. |
| 96 | If a bundle <b>fragment</b> should be adapted the aspect binding must refer to the fragment's host bundle |
| 97 | and additionally a <code>requiredFragment</code> should be added. |
| 98 | </p> |
| 99 | <p> |
| 100 | By specifying <code>SELF</code> as the basePlugin, a team may adapt classes from its own bundle. |
| 101 | </p> |
| 102 | </documentation> |
| 103 | </annotation> |
| 104 | <complexType> |
| 105 | <sequence> |
| 106 | <element ref="forcedExports" minOccurs="0" maxOccurs="1"/> |
| 107 | <element ref="requiredFragment" minOccurs="0" maxOccurs="unbounded"/> |
| 108 | </sequence> |
| 109 | <attribute name="id" type="string" use="required"> |
| 110 | <annotation> |
| 111 | <documentation> |
| 112 | Qualified identifier of the base plug-in. |
| 113 | </documentation> |
| 114 | </annotation> |
| 115 | </attribute> |
Stephan Herrmann | 2276b5d | 2015-05-22 21:46:00 +0200 | [diff] [blame] | 116 | <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"> |
Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 117 | <annotation> |
| 118 | <documentation> |
| 119 | <i>Default value to provide an icon for this element kind. No need to edit</i> |
| 120 | </documentation> |
| 121 | <appInfo> |
| 122 | <meta.attribute kind="resource"/> |
| 123 | </appInfo> |
| 124 | </annotation> |
| 125 | </attribute> |
| 126 | </complexType> |
| 127 | </element> |
| 128 | |
| 129 | <element name="team"> |
| 130 | <annotation> |
| 131 | <appInfo> |
| 132 | <meta.element labelAttribute="class" icon="icon"/> |
| 133 | </appInfo> |
| 134 | <documentation> |
Stephan Herrmann | 2200af2 | 2010-05-01 20:37:32 +0000 | [diff] [blame] | 135 | The team class of this plug-in which is allowed to adapt classes of the given base plug-in.<br/> |
Stephan Herrmann | 5c61968 | 2015-06-09 22:40:30 +0200 | [diff] [blame] | 136 | If a nested team shall be used it must be specified using either its binary name (using a '$' separator). |
Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 137 | </documentation> |
| 138 | </annotation> |
| 139 | <complexType> |
Stephan Herrmann | dd8e0b5 | 2016-05-22 19:50:29 +0200 | [diff] [blame] | 140 | <sequence> |
Stephan Herrmann | d2f8528 | 2016-05-23 21:50:04 +0200 | [diff] [blame] | 141 | <element ref="superBase" minOccurs="0" maxOccurs="unbounded"/> |
Stephan Herrmann | dd8e0b5 | 2016-05-22 19:50:29 +0200 | [diff] [blame] | 142 | </sequence> |
Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 143 | <attribute name="class" type="string" use="required"> |
| 144 | <annotation> |
| 145 | <documentation> |
| 146 | Fully qualified name of a team class. |
| 147 | </documentation> |
| 148 | <appInfo> |
Stephan Herrmann | 2fd3244 | 2013-07-20 18:26:04 +0200 | [diff] [blame] | 149 | <meta.attribute kind="java" basedOn="org.objectteams.Team"/> |
Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 150 | </appInfo> |
| 151 | </annotation> |
| 152 | </attribute> |
| 153 | <attribute name="superclass" type="string"> |
| 154 | <annotation> |
| 155 | <documentation> |
| 156 | Fully qualified name of the team's super-class if that is not org.objectteams.Team but another team of the same plugin. |
| 157 | </documentation> |
| 158 | <appInfo> |
Stephan Herrmann | 2fd3244 | 2013-07-20 18:26:04 +0200 | [diff] [blame] | 159 | <meta.attribute kind="java" basedOn="org.objectteams.Team"/> |
Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 160 | </appInfo> |
| 161 | </annotation> |
| 162 | </attribute> |
| 163 | <attribute name="activation"> |
| 164 | <annotation> |
| 165 | <documentation> |
| 166 | Request activation of this team class: |
| 167 | NONE: don't automatically activate (default) |
| 168 | THREAD: activate for one thread (discouraged) |
| 169 | ALL_THREADS: activate for all threads |
| 170 | </documentation> |
| 171 | </annotation> |
| 172 | <simpleType> |
| 173 | <restriction base="string"> |
| 174 | <enumeration value="NONE"> |
| 175 | </enumeration> |
| 176 | <enumeration value="THREAD"> |
| 177 | </enumeration> |
| 178 | <enumeration value="ALL_THREADS"> |
| 179 | </enumeration> |
| 180 | </restriction> |
| 181 | </simpleType> |
| 182 | </attribute> |
| 183 | <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif"> |
| 184 | <annotation> |
| 185 | <documentation> |
| 186 | <i>Default value to provide an icon for this element kind. No need to edit</i> |
| 187 | </documentation> |
| 188 | <appInfo> |
| 189 | <meta.attribute kind="resource"/> |
| 190 | </appInfo> |
| 191 | </annotation> |
| 192 | </attribute> |
| 193 | </complexType> |
| 194 | </element> |
| 195 | |
| 196 | <element name="forcedExports" type="string"> |
| 197 | <annotation> |
| 198 | <documentation> |
| 199 | Declare any requests to access packages from the base plugin which are not exported. |
| 200 | Provide comma separated list of package names (as in the OSGi Export-Package: header). |
| 201 | </documentation> |
| 202 | </annotation> |
| 203 | </element> |
| 204 | |
| 205 | <element name="requiredFragment"> |
| 206 | <annotation> |
| 207 | <documentation> |
| 208 | Name of a fragment of the base bundle that is required by the aspect. |
| 209 | </documentation> |
| 210 | </annotation> |
| 211 | <complexType> |
| 212 | <attribute name="id" type="string" use="required"> |
| 213 | <annotation> |
| 214 | <documentation> |
| 215 | Symbolic name of the fragment. |
| 216 | </documentation> |
| 217 | </annotation> |
| 218 | </attribute> |
| 219 | </complexType> |
| 220 | </element> |
| 221 | |
Stephan Herrmann | dd8e0b5 | 2016-05-22 19:50:29 +0200 | [diff] [blame] | 222 | <element name="superBase"> |
| 223 | <annotation> |
| 224 | <documentation> |
Stephan Herrmann | fa40421 | 2016-06-07 15:47:34 +0200 | [diff] [blame] | 225 | 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. |
Stephan Herrmann | dd8e0b5 | 2016-05-22 19:50:29 +0200 | [diff] [blame] | 226 | </documentation> |
| 227 | </annotation> |
| 228 | <complexType> |
| 229 | <attribute name="plugin" type="string"> |
| 230 | <annotation> |
| 231 | <documentation> |
| 232 | the plugin holding the super base class (can be omitted if same as the basePlugin of the enclosing aspectBinding). |
| 233 | </documentation> |
| 234 | </annotation> |
| 235 | </attribute> |
| 236 | <attribute name="class" type="string" use="required"> |
| 237 | <annotation> |
| 238 | <documentation> |
| 239 | Fully qualified dot/dollar-separated base class that is a super class of a bound base class. |
| 240 | </documentation> |
| 241 | <appInfo> |
| 242 | <meta.attribute kind="java"/> |
| 243 | </appInfo> |
| 244 | </annotation> |
| 245 | </attribute> |
| 246 | </complexType> |
| 247 | </element> |
| 248 | |
Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 249 | <annotation> |
| 250 | <appInfo> |
| 251 | <meta.section type="since"/> |
| 252 | </appInfo> |
| 253 | <documentation> |
| 254 | OTDT 0.9.1 based on Eclipse 3.2. |
| 255 | </documentation> |
| 256 | </annotation> |
| 257 | |
| 258 | <annotation> |
| 259 | <appInfo> |
| 260 | <meta.section type="examples"/> |
| 261 | </appInfo> |
| 262 | <documentation> |
| 263 | See example plugin org.eclipse.objectteams.otequinox.branding. |
| 264 | </documentation> |
| 265 | </annotation> |
| 266 | |
| 267 | <annotation> |
| 268 | <appInfo> |
| 269 | <meta.section type="apiInfo"/> |
| 270 | </appInfo> |
| 271 | <documentation> |
| 272 | The <code>class</code> named in the class property must be a team class thus implementing the <code>org.objectteams.ITeam</code> interface. |
| 273 | </documentation> |
| 274 | </annotation> |
| 275 | |
| 276 | <annotation> |
| 277 | <appInfo> |
| 278 | <meta.section type="implementation"/> |
| 279 | </appInfo> |
| 280 | <documentation> |
| 281 | None. |
| 282 | </documentation> |
| 283 | </annotation> |
| 284 | |
| 285 | <annotation> |
| 286 | <appInfo> |
| 287 | <meta.section type="copyright"/> |
| 288 | </appInfo> |
| 289 | <documentation> |
| 290 | <em> |
| 291 | <p> |
| 292 | This file is part of "Object Teams Development Tooling"-Software |
| 293 | </p><p> |
| 294 | Copyright 2006, 2010 Technical University Berlin, Germany. |
| 295 | All rights reserved. This program and the accompanying materials |
| 296 | are made available under the terms of the Eclipse Public License v1.0 |
| 297 | which accompanies this distribution, and is available at |
| 298 | <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> |
| 299 | </p><p> |
| 300 | Please visit <a href="http://www.objectteams.org">www.objectteams.org</a> for updates and contact. |
| 301 | </p><p> |
| 302 | Contributors:<br> |
| 303 | Technical University Berlin - Initial API and implementation |
| 304 | </p> |
| 305 | </em> |
| 306 | </documentation> |
| 307 | </annotation> |
| 308 | |
| 309 | </schema> |