blob: 7ed4fb7feb877866ac3409e0ac8601923f789b27 [file] [log] [blame]
Stephan Herrmann01664412010-04-01 20:28:43 +00001<?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 &lt;strong&gt;relationship&lt;/strong&gt; between plug-ins
10called &lt;strong&gt;&quot;aspectBinding&quot;&lt;/strong&gt;.
11By an aspectBinding an aspect plug-in declares which &lt;strong&gt;base plug-ins&lt;/strong&gt; it wishes to adapt
12and which &lt;strong&gt;team classes&lt;/strong&gt; are used for that purpose.
13Only teams in this list are allowed to adapt classes from another plug-in, and such
14adaptation is restricted to classes residing in the specified base plug-in.
15
16Each team class mentioned in an aspectBinding is automatically &lt;strong&gt;instantiated&lt;/strong&gt;
17before the corresponding base plug-in is fully activated.
18In addition extensions may specify that a given team is also &lt;strong&gt;activated&lt;/strong&gt;
19after 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 &lt;i&gt;Default value to provide an icon for this element kind. No need to edit&lt;/i&gt;
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 &lt;p&gt;
94The base plug-in whose classes may be adapted by the given team(s).
95The base bundle must be a regular bundle, not a fragment.
96If a bundle &lt;b&gt;fragment&lt;/b&gt; should be adapted the aspect binding must refer to the fragment&apos;s host bundle
97and additionally a &lt;code&gt;requiredFragment&lt;/code&gt; should be added.
98&lt;/p&gt;
99&lt;p&gt;
100By specifying &lt;code&gt;SELF&lt;/code&gt; as the basePlugin, a team may adapt classes from its own bundle.
101&lt;/p&gt;
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 &lt;i&gt;Default value to provide an icon for this element kind. No need to edit&lt;/i&gt;
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 Herrmann2200af22010-05-01 20:37:32 +0000135 The team class of this plug-in which is allowed to adapt classes of the given base plug-in.&lt;br/&gt;
136If a nested team shall be used it can be specified using either its source name (using &apos;.&apos; as the separator) or its binary name (using a &apos;$&apos; separator).
Stephan Herrmann01664412010-04-01 20:28:43 +0000137 </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&apos;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:
164NONE: don&apos;t automatically activate (default)
165THREAD: activate for one thread (discouraged)
166ALL_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 &lt;i&gt;Default value to provide an icon for this element kind. No need to edit&lt;/i&gt;
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.
197Provide 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 &lt;code&gt;class&lt;/code&gt; named in the class property must be a team class thus implementing the &lt;code&gt;org.objectteams.ITeam&lt;/code&gt; 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 &lt;em&gt;
261&lt;p&gt;
262This file is part of &quot;Object Teams Development Tooling&quot;-Software
263&lt;/p&gt;&lt;p&gt;
264Copyright 2006, 2010 Technical University Berlin, Germany.
265All rights reserved. This program and the accompanying materials
266are made available under the terms of the Eclipse Public License v1.0
267which accompanies this distribution, and is available at
268&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
269&lt;/p&gt;&lt;p&gt;
270Please visit &lt;a href=&quot;http://www.objectteams.org&quot;&gt;www.objectteams.org&lt;/a&gt; for updates and contact.
271&lt;/p&gt;&lt;p&gt;
272Contributors:&lt;br&gt;
273Technical University Berlin - Initial API and implementation
274&lt;/p&gt;
275&lt;/em&gt;
276 </documentation>
277 </annotation>
278
279</schema>