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> |
| 116 | <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.gif"> |
| 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/> |
| 136 | If a nested team shall be used it can be specified using either its source name (using '.' as the separator) or its binary name (using a '$' separator). |
Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 137 | </documentation> |
| 138 | </annotation> |
| 139 | <complexType> |
| 140 | <attribute name="class" type="string" use="required"> |
| 141 | <annotation> |
| 142 | <documentation> |
| 143 | Fully qualified name of a team class. |
| 144 | </documentation> |
| 145 | <appInfo> |
| 146 | <meta.attribute kind="java" basedOn=":org.objectteams.ITeam"/> |
| 147 | </appInfo> |
| 148 | </annotation> |
| 149 | </attribute> |
| 150 | <attribute name="superclass" type="string"> |
| 151 | <annotation> |
| 152 | <documentation> |
| 153 | Fully qualified name of the team's super-class if that is not org.objectteams.Team but another team of the same plugin. |
| 154 | </documentation> |
| 155 | <appInfo> |
| 156 | <meta.attribute kind="java" basedOn=":org.objectteams.ITeam"/> |
| 157 | </appInfo> |
| 158 | </annotation> |
| 159 | </attribute> |
| 160 | <attribute name="activation"> |
| 161 | <annotation> |
| 162 | <documentation> |
| 163 | Request activation of this team class: |
| 164 | NONE: don't automatically activate (default) |
| 165 | THREAD: activate for one thread (discouraged) |
| 166 | ALL_THREADS: activate for all threads |
| 167 | </documentation> |
| 168 | </annotation> |
| 169 | <simpleType> |
| 170 | <restriction base="string"> |
| 171 | <enumeration value="NONE"> |
| 172 | </enumeration> |
| 173 | <enumeration value="THREAD"> |
| 174 | </enumeration> |
| 175 | <enumeration value="ALL_THREADS"> |
| 176 | </enumeration> |
| 177 | </restriction> |
| 178 | </simpleType> |
| 179 | </attribute> |
| 180 | <attribute name="icon" type="string" use="default" value="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif"> |
| 181 | <annotation> |
| 182 | <documentation> |
| 183 | <i>Default value to provide an icon for this element kind. No need to edit</i> |
| 184 | </documentation> |
| 185 | <appInfo> |
| 186 | <meta.attribute kind="resource"/> |
| 187 | </appInfo> |
| 188 | </annotation> |
| 189 | </attribute> |
| 190 | </complexType> |
| 191 | </element> |
| 192 | |
| 193 | <element name="forcedExports" type="string"> |
| 194 | <annotation> |
| 195 | <documentation> |
| 196 | Declare any requests to access packages from the base plugin which are not exported. |
| 197 | Provide comma separated list of package names (as in the OSGi Export-Package: header). |
| 198 | </documentation> |
| 199 | </annotation> |
| 200 | </element> |
| 201 | |
| 202 | <element name="requiredFragment"> |
| 203 | <annotation> |
| 204 | <documentation> |
| 205 | Name of a fragment of the base bundle that is required by the aspect. |
| 206 | </documentation> |
| 207 | </annotation> |
| 208 | <complexType> |
| 209 | <attribute name="id" type="string" use="required"> |
| 210 | <annotation> |
| 211 | <documentation> |
| 212 | Symbolic name of the fragment. |
| 213 | </documentation> |
| 214 | </annotation> |
| 215 | </attribute> |
| 216 | </complexType> |
| 217 | </element> |
| 218 | |
| 219 | <annotation> |
| 220 | <appInfo> |
| 221 | <meta.section type="since"/> |
| 222 | </appInfo> |
| 223 | <documentation> |
| 224 | OTDT 0.9.1 based on Eclipse 3.2. |
| 225 | </documentation> |
| 226 | </annotation> |
| 227 | |
| 228 | <annotation> |
| 229 | <appInfo> |
| 230 | <meta.section type="examples"/> |
| 231 | </appInfo> |
| 232 | <documentation> |
| 233 | See example plugin org.eclipse.objectteams.otequinox.branding. |
| 234 | </documentation> |
| 235 | </annotation> |
| 236 | |
| 237 | <annotation> |
| 238 | <appInfo> |
| 239 | <meta.section type="apiInfo"/> |
| 240 | </appInfo> |
| 241 | <documentation> |
| 242 | The <code>class</code> named in the class property must be a team class thus implementing the <code>org.objectteams.ITeam</code> interface. |
| 243 | </documentation> |
| 244 | </annotation> |
| 245 | |
| 246 | <annotation> |
| 247 | <appInfo> |
| 248 | <meta.section type="implementation"/> |
| 249 | </appInfo> |
| 250 | <documentation> |
| 251 | None. |
| 252 | </documentation> |
| 253 | </annotation> |
| 254 | |
| 255 | <annotation> |
| 256 | <appInfo> |
| 257 | <meta.section type="copyright"/> |
| 258 | </appInfo> |
| 259 | <documentation> |
| 260 | <em> |
| 261 | <p> |
| 262 | This file is part of "Object Teams Development Tooling"-Software |
| 263 | </p><p> |
| 264 | Copyright 2006, 2010 Technical University Berlin, Germany. |
| 265 | All rights reserved. This program and the accompanying materials |
| 266 | are made available under the terms of the Eclipse Public License v1.0 |
| 267 | which accompanies this distribution, and is available at |
| 268 | <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> |
| 269 | </p><p> |
| 270 | Please visit <a href="http://www.objectteams.org">www.objectteams.org</a> for updates and contact. |
| 271 | </p><p> |
| 272 | Contributors:<br> |
| 273 | Technical University Berlin - Initial API and implementation |
| 274 | </p> |
| 275 | </em> |
| 276 | </documentation> |
| 277 | </annotation> |
| 278 | |
| 279 | </schema> |