Tmf: Add the concept of module source to the Analysis API
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / schema / org.eclipse.linuxtools.tmf.core.analysis.exsd
1 <?xml version='1.0' encoding='UTF-8'?>
2 <!-- Schema file written by PDE -->
3 <schema targetNamespace="org.eclipse.linuxtools.tmf.core" xmlns="http://www.w3.org/2001/XMLSchema">
4 <annotation>
5 <appinfo>
6 <meta.schema plugin="org.eclipse.linuxtools.tmf.core" id="org.eclipse.linuxtools.tmf.core.analysis" name="Trace Analysis Module"/>
7 </appinfo>
8 <documentation>
9 This extension point is used to contribute new analysis modules to the TMF framework. Analysis modules provide new independent functionalities that can be run on traces.
10 </documentation>
11 </annotation>
12
13 <element name="extension">
14 <annotation>
15 <appinfo>
16 <meta.element />
17 </appinfo>
18 </annotation>
19 <complexType>
20 <sequence minOccurs="0" maxOccurs="unbounded">
21 <element ref="module"/>
22 <element ref="source"/>
23 </sequence>
24 <attribute name="point" type="string" use="required">
25 <annotation>
26 <documentation>
27 a fully qualified identifier of the target extension point
28 </documentation>
29 </annotation>
30 </attribute>
31 <attribute name="id" type="string">
32 <annotation>
33 <documentation>
34 an optional identifier of the extension instance
35 </documentation>
36 </annotation>
37 </attribute>
38 <attribute name="name" type="string">
39 <annotation>
40 <documentation>
41 an optional name of the extension instance
42 </documentation>
43 <appinfo>
44 <meta.attribute translatable="true"/>
45 </appinfo>
46 </annotation>
47 </attribute>
48 </complexType>
49 </element>
50
51 <element name="module">
52 <complexType>
53 <sequence minOccurs="0" maxOccurs="unbounded">
54 <element ref="parameter"/>
55 <element ref="tracetype"/>
56 </sequence>
57 <attribute name="id" type="string" use="required">
58 <annotation>
59 <documentation>
60 The unique ID that identifies this analysis module.
61 </documentation>
62 </annotation>
63 </attribute>
64 <attribute name="name" type="string" use="required">
65 <annotation>
66 <documentation>
67 The trace analysis module&apos;s name as it is displayed to the end user
68 </documentation>
69 </annotation>
70 </attribute>
71 <attribute name="analysis_module" type="string" use="required">
72 <annotation>
73 <documentation>
74 The fully qualified name of a class that implements the &lt;samp&gt;IAnalysisModule&lt;/samp&gt; interface.
75 </documentation>
76 <appinfo>
77 <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule"/>
78 </appinfo>
79 </annotation>
80 </attribute>
81 <attribute name="icon" type="string">
82 <annotation>
83 <documentation>
84 The icon associated to this analysis module.
85 </documentation>
86 <appinfo>
87 <meta.attribute kind="resource"/>
88 </appinfo>
89 </annotation>
90 </attribute>
91 <attribute name="automatic" type="boolean">
92 <annotation>
93 <documentation>
94 Whether to execute this analysis automatically when trace is opened, or wait for the user to ask for it
95 </documentation>
96 </annotation>
97 </attribute>
98 </complexType>
99 </element>
100
101 <element name="parameter">
102 <annotation>
103 <documentation>
104 Parameter for this module
105 </documentation>
106 </annotation>
107 <complexType>
108 <attribute name="name" type="string" use="required">
109 <annotation>
110 <documentation>
111 The parameter name
112 </documentation>
113 </annotation>
114 </attribute>
115 <attribute name="default_value" type="string">
116 <annotation>
117 <documentation>
118 A default value for this parameter
119 </documentation>
120 </annotation>
121 </attribute>
122 </complexType>
123 </element>
124
125 <element name="tracetype">
126 <annotation>
127 <documentation>
128 Allow to define the tracetypes this analysis applies to.
129 </documentation>
130 </annotation>
131 <complexType>
132 <attribute name="class" type="string" use="required">
133 <annotation>
134 <documentation>
135 The base trace class this analysis applies to or not (it also applies to traces extending this class).
136 </documentation>
137 <appinfo>
138 <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.trace.ITmfTrace"/>
139 </appinfo>
140 </annotation>
141 </attribute>
142 <attribute name="applies" type="boolean">
143 <annotation>
144 <documentation>
145 Does this tracetype element mean the class applies or not (default true)
146 </documentation>
147 </annotation>
148 </attribute>
149 </complexType>
150 </element>
151
152 <element name="source">
153 <annotation>
154 <documentation>
155 Specifies a class that provides analysis modules.
156 </documentation>
157 </annotation>
158 <complexType>
159 <attribute name="class" type="string" use="required">
160 <annotation>
161 <documentation>
162 The fully qualified name of a class that implements the &lt;samp&gt;IAnalysisModuleSource&lt;/samp&gt; interface.
163 </documentation>
164 <appinfo>
165 <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource"/>
166 </appinfo>
167 </annotation>
168 </attribute>
169 </complexType>
170 </element>
171
172 <annotation>
173 <appinfo>
174 <meta.section type="since"/>
175 </appinfo>
176 <documentation>
177 3.0
178 </documentation>
179 </annotation>
180
181 <annotation>
182 <appinfo>
183 <meta.section type="examples"/>
184 </appinfo>
185 <documentation>
186 &lt;p&gt;
187 For an example implementation of an analysis module see:
188 &lt;pre&gt;
189 plug-in: org.eclipse.linuxtools.tmf.core.tests
190 package: org.eclipse.linuxtools.tmf.core.tests.stubs.analysis
191 class: TestCtfAnalysis
192 &lt;/pre&gt;
193 &lt;/p&gt;
194
195 &lt;p&gt;
196 The following is an example of the extension point:
197 &lt;pre&gt;
198 &lt;extension
199 point=&quot;org.eclipse.linuxtools.tmf.core.analysis&quot;&gt;
200 &lt;module
201 id=&quot;org.eclipse.linuxtools.tmf.core.tests.analysis.testctf&quot;
202 name=&quot;Test analysis ctf&quot;
203 analysis_module=&quot;org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestCtfAnalysis&quot;
204 automatic=&quot;true&quot;&gt;
205 &lt;/module&gt;
206 &lt;/extension&gt;
207 &lt;/pre&gt;
208 &lt;/p&gt;
209 </documentation>
210 </annotation>
211
212 <annotation>
213 <appinfo>
214 <meta.section type="apiinfo"/>
215 </appinfo>
216 <documentation>
217 &lt;p&gt;
218 For this extension point, a class implementing IAnalysisModule must be defined (org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule). Most analysis can just extend the org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule class, since it already contains everything to manage the trace&apos;s, the analysis&apos; execution, cancellation, completion, the help texts, etc.
219 &lt;/p&gt;
220 &lt;p&gt;
221 The key method to implement if extending TmfAbstractAnalysisModule is executeAnalysis(final IProgressMonitor monitor). It contains the code of the analysis itself and is executed inside an Eclipse job.
222 &lt;/p&gt;
223 </documentation>
224 </annotation>
225
226
227 <annotation>
228 <appinfo>
229 <meta.section type="copyright"/>
230 </appinfo>
231 <documentation>
232 Copyright (c) 2013 École Polytechnique de Montréal
233
234 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 &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;
235 </documentation>
236 </annotation>
237
238 </schema>
This page took 0.037794 seconds and 5 git commands to generate.