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