1. Project Clover database Tue Dec 20 2016 21:24:09 CET
  2. Package org.xwiki.rendering.listener

File CompositeListener.java

 

Coverage histogram

../../../../img/srcFileCovDistChart3.png
80% of files have more coverage

Code metrics

0
104
53
1
505
375
53
0.51
1.96
53
1

Classes

Class Line # Actions
CompositeListener 35 104 0% 53 123
0.2165605121.7%
 

Contributing tests

This file is covered by 109 tests. .

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.rendering.listener;
21   
22    import java.util.ArrayList;
23    import java.util.List;
24    import java.util.Map;
25   
26    import org.xwiki.rendering.listener.reference.ResourceReference;
27    import org.xwiki.rendering.syntax.Syntax;
28   
29    /**
30    * Send events to a list of {@link Listener}s.
31    *
32    * @version $Id: bb17b4cfd3ba988a122d1320b5c64a5e893437a7 $
33    * @since 2.1M1
34    */
 
35    public class CompositeListener implements Listener
36    {
37    /**
38    * The listeners.
39    */
40    private List<Listener> listeners = new ArrayList<Listener>();
41   
42    /**
43    * Add a nex listener to the list.
44    *
45    * @param listener a listener
46    */
 
47  2134 toggle public void addListener(Listener listener)
48    {
49  2134 this.listeners.add(listener);
50    }
51   
52    /**
53    * Get listener at the provided position in the list.
54    *
55    * @param i the index of the listener in the list
56    * @return the listener
57    */
 
58  2134 toggle public Listener getListener(int i)
59    {
60  2134 return this.listeners.get(i);
61    }
62   
 
63  0 toggle @Override
64    public void beginDefinitionDescription()
65    {
66  0 for (Listener listener : this.listeners) {
67  0 listener.beginDefinitionDescription();
68    }
69    }
70   
 
71  0 toggle @Override
72    public void beginDefinitionList(Map<String, String> parameters)
73    {
74  0 for (Listener listener : this.listeners) {
75  0 listener.beginDefinitionList(parameters);
76    }
77    }
78   
 
79  0 toggle @Override
80    public void beginDefinitionTerm()
81    {
82  0 for (Listener listener : this.listeners) {
83  0 listener.beginDefinitionTerm();
84    }
85    }
86   
87    /**
88    * {@inheritDoc}
89    *
90    * @since 3.0M2
91    */
 
92  0 toggle @Override
93    public void beginDocument(MetaData metadata)
94    {
95  0 for (Listener listener : this.listeners) {
96  0 listener.beginDocument(metadata);
97    }
98    }
99   
 
100  40 toggle @Override
101    public void beginFormat(Format format, Map<String, String> parameters)
102    {
103  40 for (Listener listener : this.listeners) {
104  80 listener.beginFormat(format, parameters);
105    }
106    }
107   
 
108  0 toggle @Override
109    public void beginGroup(Map<String, String> parameters)
110    {
111  0 for (Listener listener : this.listeners) {
112  0 listener.beginGroup(parameters);
113    }
114    }
115   
 
116  0 toggle @Override
117    public void beginHeader(HeaderLevel level, String id, Map<String, String> parameters)
118    {
119  0 for (Listener listener : this.listeners) {
120  0 listener.beginHeader(level, id, parameters);
121    }
122    }
123   
 
124  0 toggle @Override
125    public void beginList(ListType type, Map<String, String> parameters)
126    {
127  0 for (Listener listener : this.listeners) {
128  0 listener.beginList(type, parameters);
129    }
130    }
131   
 
132  0 toggle @Override
133    public void beginListItem()
134    {
135  0 for (Listener listener : this.listeners) {
136  0 listener.beginListItem();
137    }
138    }
139   
 
140  0 toggle @Override
141    public void beginMacroMarker(String name, Map<String, String> macroParameters, String content, boolean isInline)
142    {
143  0 for (Listener listener : this.listeners) {
144  0 listener.beginMacroMarker(name, macroParameters, content, isInline);
145    }
146    }
147   
 
148  0 toggle @Override
149    public void beginParagraph(Map<String, String> parameters)
150    {
151  0 for (Listener listener : this.listeners) {
152  0 listener.beginParagraph(parameters);
153    }
154    }
155   
 
156  0 toggle @Override
157    public void beginQuotation(Map<String, String> parameters)
158    {
159  0 for (Listener listener : this.listeners) {
160  0 listener.beginQuotation(parameters);
161    }
162    }
163   
 
164  0 toggle @Override
165    public void beginQuotationLine()
166    {
167  0 for (Listener listener : this.listeners) {
168  0 listener.beginQuotationLine();
169    }
170    }
171   
 
172  0 toggle @Override
173    public void beginSection(Map<String, String> parameters)
174    {
175  0 for (Listener listener : this.listeners) {
176  0 listener.beginSection(parameters);
177    }
178    }
179   
 
180  0 toggle @Override
181    public void beginTable(Map<String, String> parameters)
182    {
183  0 for (Listener listener : this.listeners) {
184  0 listener.beginTable(parameters);
185    }
186    }
187   
 
188  0 toggle @Override
189    public void beginTableCell(Map<String, String> parameters)
190    {
191  0 for (Listener listener : this.listeners) {
192  0 listener.beginTableCell(parameters);
193    }
194    }
195   
 
196  0 toggle @Override
197    public void beginTableHeadCell(Map<String, String> parameters)
198    {
199  0 for (Listener listener : this.listeners) {
200  0 listener.beginTableHeadCell(parameters);
201    }
202    }
203   
 
204  0 toggle @Override
205    public void beginTableRow(Map<String, String> parameters)
206    {
207  0 for (Listener listener : this.listeners) {
208  0 listener.beginTableRow(parameters);
209    }
210    }
211   
 
212  0 toggle @Override
213    public void endDefinitionDescription()
214    {
215  0 for (Listener listener : this.listeners) {
216  0 listener.endDefinitionDescription();
217    }
218    }
219   
 
220  0 toggle @Override
221    public void endDefinitionList(Map<String, String> parameters)
222    {
223  0 for (Listener listener : this.listeners) {
224  0 listener.endDefinitionList(parameters);
225    }
226    }
227   
 
228  0 toggle @Override
229    public void endDefinitionTerm()
230    {
231  0 for (Listener listener : this.listeners) {
232  0 listener.endDefinitionTerm();
233    }
234    }
235   
236    /**
237    * {@inheritDoc}
238    *
239    * @since 3.0M2
240    */
 
241  0 toggle @Override
242    public void endDocument(MetaData metadata)
243    {
244  0 for (Listener listener : this.listeners) {
245  0 listener.endDocument(metadata);
246    }
247    }
248   
 
249  40 toggle @Override
250    public void endFormat(Format format, Map<String, String> parameters)
251    {
252  40 for (Listener listener : this.listeners) {
253  80 listener.endFormat(format, parameters);
254    }
255    }
256   
 
257  0 toggle @Override
258    public void endGroup(Map<String, String> parameters)
259    {
260  0 for (Listener listener : this.listeners) {
261  0 listener.endGroup(parameters);
262    }
263    }
264   
 
265  0 toggle @Override
266    public void endHeader(HeaderLevel level, String id, Map<String, String> parameters)
267    {
268  0 for (Listener listener : this.listeners) {
269  0 listener.endHeader(level, id, parameters);
270    }
271    }
272   
 
273  0 toggle @Override
274    public void endList(ListType type, Map<String, String> parameters)
275    {
276  0 for (Listener listener : this.listeners) {
277  0 listener.endList(type, parameters);
278    }
279    }
280   
 
281  0 toggle @Override
282    public void endListItem()
283    {
284  0 for (Listener listener : this.listeners) {
285  0 listener.endListItem();
286    }
287    }
288   
 
289  0 toggle @Override
290    public void endMacroMarker(String name, Map<String, String> macroParameters, String content, boolean isInline)
291    {
292  0 for (Listener listener : this.listeners) {
293  0 listener.endMacroMarker(name, macroParameters, content, isInline);
294    }
295    }
296   
 
297  0 toggle @Override
298    public void endParagraph(Map<String, String> parameters)
299    {
300  0 for (Listener listener : this.listeners) {
301  0 listener.endParagraph(parameters);
302    }
303    }
304   
 
305  0 toggle @Override
306    public void endQuotation(Map<String, String> parameters)
307    {
308  0 for (Listener listener : this.listeners) {
309  0 listener.endQuotation(parameters);
310    }
311    }
312   
 
313  0 toggle @Override
314    public void endQuotationLine()
315    {
316  0 for (Listener listener : this.listeners) {
317  0 listener.endQuotationLine();
318    }
319    }
320   
 
321  0 toggle @Override
322    public void endSection(Map<String, String> parameters)
323    {
324  0 for (Listener listener : this.listeners) {
325  0 listener.endSection(parameters);
326    }
327    }
328   
 
329  0 toggle @Override
330    public void endTable(Map<String, String> parameters)
331    {
332  0 for (Listener listener : this.listeners) {
333  0 listener.endTable(parameters);
334    }
335    }
336   
 
337  0 toggle @Override
338    public void endTableCell(Map<String, String> parameters)
339    {
340  0 for (Listener listener : this.listeners) {
341  0 listener.endTableCell(parameters);
342    }
343    }
344   
 
345  0 toggle @Override
346    public void endTableHeadCell(Map<String, String> parameters)
347    {
348  0 for (Listener listener : this.listeners) {
349  0 listener.endTableHeadCell(parameters);
350    }
351    }
352   
 
353  0 toggle @Override
354    public void endTableRow(Map<String, String> parameters)
355    {
356  0 for (Listener listener : this.listeners) {
357  0 listener.endTableRow(parameters);
358    }
359    }
360   
 
361  0 toggle @Override
362    public void onEmptyLines(int count)
363    {
364  0 for (Listener listener : this.listeners) {
365  0 listener.onEmptyLines(count);
366    }
367    }
368   
 
369  0 toggle @Override
370    public void onHorizontalLine(Map<String, String> parameters)
371    {
372  0 for (Listener listener : this.listeners) {
373  0 listener.onHorizontalLine(parameters);
374    }
375    }
376   
 
377  0 toggle @Override
378    public void onId(String name)
379    {
380  0 for (Listener listener : this.listeners) {
381  0 listener.onId(name);
382    }
383    }
384   
 
385  14 toggle @Override
386    public void onMacro(String id, Map<String, String> parameters, String content, boolean inline)
387    {
388  14 for (Listener listener : this.listeners) {
389  28 listener.onMacro(id, parameters, content, inline);
390    }
391    }
392   
 
393  31 toggle @Override
394    public void onNewLine()
395    {
396  31 for (Listener listener : this.listeners) {
397  62 listener.onNewLine();
398    }
399    }
400   
 
401  0 toggle @Override
402    public void onRawText(String text, Syntax syntax)
403    {
404  0 for (Listener listener : this.listeners) {
405  0 listener.onRawText(text, syntax);
406    }
407    }
408   
 
409  1748 toggle @Override
410    public void onSpace()
411    {
412  1748 for (Listener listener : this.listeners) {
413  3496 listener.onSpace();
414    }
415    }
416   
 
417  306 toggle @Override
418    public void onSpecialSymbol(char symbol)
419    {
420  306 for (Listener listener : this.listeners) {
421  612 listener.onSpecialSymbol(symbol);
422    }
423    }
424   
 
425  0 toggle @Override
426    public void onVerbatim(String content, boolean inline, Map<String, String> parameters)
427    {
428  0 for (Listener listener : this.listeners) {
429  0 listener.onVerbatim(content, inline, parameters);
430    }
431    }
432   
 
433  2806 toggle @Override
434    public void onWord(String word)
435    {
436  2806 for (Listener listener : this.listeners) {
437  5612 listener.onWord(word);
438    }
439    }
440   
441    /**
442    * {@inheritDoc}
443    *
444    * @since 2.5RC1
445    */
 
446  69 toggle @Override
447    public void beginLink(ResourceReference reference, boolean freestanding, Map<String, String> parameters)
448    {
449  69 for (Listener listener : this.listeners) {
450  138 listener.beginLink(reference, freestanding, parameters);
451    }
452    }
453   
454    /**
455    * {@inheritDoc}
456    *
457    * @since 2.5RC1
458    */
 
459  69 toggle @Override
460    public void endLink(ResourceReference reference, boolean freestanding, Map<String, String> parameters)
461    {
462  69 for (Listener listener : this.listeners) {
463  138 listener.endLink(reference, freestanding, parameters);
464    }
465    }
466   
467    /**
468    * {@inheritDoc}
469    *
470    * @since 2.5RC1
471    */
 
472  47 toggle @Override
473    public void onImage(ResourceReference reference, boolean freestanding, Map<String, String> parameters)
474    {
475  47 for (Listener listener : this.listeners) {
476  94 listener.onImage(reference, freestanding, parameters);
477    }
478    }
479   
480    /**
481    * {@inheritDoc}
482    *
483    * @since 3.0M2
484    */
 
485  0 toggle @Override
486    public void beginMetaData(MetaData metadata)
487    {
488  0 for (Listener listener : this.listeners) {
489  0 listener.beginMetaData(metadata);
490    }
491    }
492   
493    /**
494    * {@inheritDoc}
495    *
496    * @since 3.0M2
497    */
 
498  0 toggle @Override
499    public void endMetaData(MetaData metadata)
500    {
501  0 for (Listener listener : this.listeners) {
502  0 listener.endMetaData(metadata);
503    }
504    }
505    }