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

File XDOMGeneratorListener.java

 

Coverage histogram

../../../../../img/srcFileCovDistChart9.png
38% of files have more coverage

Code metrics

42
54
52
1
431
328
73
1.35
1.04
52
1.4

Classes

Class Line # Actions
XDOMGeneratorListener 70 54 0% 73 27
0.817567681.8%
 

Contributing tests

This file is covered by 1163 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.internal.parser;
21   
22    import java.util.Map;
23   
24    import org.xwiki.rendering.block.BulletedListBlock;
25    import org.xwiki.rendering.block.DefinitionDescriptionBlock;
26    import org.xwiki.rendering.block.DefinitionListBlock;
27    import org.xwiki.rendering.block.DefinitionTermBlock;
28    import org.xwiki.rendering.block.EmptyLinesBlock;
29    import org.xwiki.rendering.block.FormatBlock;
30    import org.xwiki.rendering.block.GroupBlock;
31    import org.xwiki.rendering.block.HeaderBlock;
32    import org.xwiki.rendering.block.HorizontalLineBlock;
33    import org.xwiki.rendering.block.IdBlock;
34    import org.xwiki.rendering.block.ImageBlock;
35    import org.xwiki.rendering.block.LinkBlock;
36    import org.xwiki.rendering.block.ListItemBlock;
37    import org.xwiki.rendering.block.MacroBlock;
38    import org.xwiki.rendering.block.MacroMarkerBlock;
39    import org.xwiki.rendering.block.MetaDataBlock;
40    import org.xwiki.rendering.block.NewLineBlock;
41    import org.xwiki.rendering.block.NumberedListBlock;
42    import org.xwiki.rendering.block.ParagraphBlock;
43    import org.xwiki.rendering.block.QuotationBlock;
44    import org.xwiki.rendering.block.QuotationLineBlock;
45    import org.xwiki.rendering.block.RawBlock;
46    import org.xwiki.rendering.block.SectionBlock;
47    import org.xwiki.rendering.block.SpaceBlock;
48    import org.xwiki.rendering.block.SpecialSymbolBlock;
49    import org.xwiki.rendering.block.TableBlock;
50    import org.xwiki.rendering.block.TableCellBlock;
51    import org.xwiki.rendering.block.TableHeadCellBlock;
52    import org.xwiki.rendering.block.TableRowBlock;
53    import org.xwiki.rendering.block.VerbatimBlock;
54    import org.xwiki.rendering.block.WordBlock;
55    import org.xwiki.rendering.block.XDOM;
56    import org.xwiki.rendering.listener.Format;
57    import org.xwiki.rendering.listener.HeaderLevel;
58    import org.xwiki.rendering.listener.ListType;
59    import org.xwiki.rendering.listener.Listener;
60    import org.xwiki.rendering.listener.MetaData;
61    import org.xwiki.rendering.listener.reference.ResourceReference;
62    import org.xwiki.rendering.syntax.Syntax;
63   
64    /**
65    * Produce a {@link XDOM} based on events.
66    *
67    * @version $Id: 178c0eea7f826c334b3a50ca133e9c8598b0ccaa $
68    * @since 2.1M1
69    */
 
70    public class XDOMGeneratorListener implements Listener
71    {
72    private XDOMBuilder builder = new XDOMBuilder();
73   
74    /**
75    * @return the generated {@link XDOM}.
76    */
 
77  54321 toggle public XDOM getXDOM()
78    {
79  54322 return this.builder.getXDOM();
80    }
81   
 
82  157 toggle @Override
83    public void beginDefinitionDescription()
84    {
85  157 this.builder.startBlockList();
86    }
87   
 
88  102 toggle @Override
89    public void beginDefinitionList(Map<String, String> parameters)
90    {
91  102 this.builder.startBlockList();
92    }
93   
 
94  140 toggle @Override
95    public void beginDefinitionTerm()
96    {
97  140 this.builder.startBlockList();
98    }
99   
100    /**
101    * {@inheritDoc}
102    *
103    * @since 3.0M2
104    */
 
105  54327 toggle @Override
106    public void beginDocument(MetaData metadata)
107    {
108  54327 this.builder.startBlockList();
109    }
110   
 
111  5499 toggle @Override
112    public void beginFormat(Format format, Map<String, String> parameters)
113    {
114  5499 this.builder.startBlockList();
115    }
116   
 
117  1390 toggle @Override
118    public void beginGroup(Map<String, String> parameters)
119    {
120  1390 this.builder.startBlockList();
121    }
122   
 
123  941 toggle @Override
124    public void beginHeader(HeaderLevel level, String id, Map<String, String> parameters)
125    {
126  941 this.builder.startBlockList();
127    }
128   
 
129  2327 toggle @Override
130    public void beginList(ListType type, Map<String, String> parameters)
131    {
132  2327 this.builder.startBlockList();
133    }
134   
 
135  5736 toggle @Override
136    public void beginListItem()
137    {
138  5736 this.builder.startBlockList();
139    }
140   
 
141  0 toggle @Override
142    public void beginMacroMarker(String name, Map<String, String> macroParameters, String content, boolean isInline)
143    {
144  0 this.builder.startBlockList();
145    }
146   
 
147  39674 toggle @Override
148    public void beginParagraph(Map<String, String> parameters)
149    {
150  39672 this.builder.startBlockList();
151    }
152   
 
153  20 toggle @Override
154    public void beginQuotation(Map<String, String> parameters)
155    {
156  20 this.builder.startBlockList();
157    }
158   
 
159  37 toggle @Override
160    public void beginQuotationLine()
161    {
162  37 this.builder.startBlockList();
163    }
164   
 
165  1127 toggle @Override
166    public void beginSection(Map<String, String> parameters)
167    {
168  1127 this.builder.startBlockList();
169    }
170   
 
171  164 toggle @Override
172    public void beginTable(Map<String, String> parameters)
173    {
174  164 this.builder.startBlockList();
175    }
176   
 
177  840 toggle @Override
178    public void beginTableCell(Map<String, String> parameters)
179    {
180  840 this.builder.startBlockList();
181    }
182   
 
183  280 toggle @Override
184    public void beginTableHeadCell(Map<String, String> parameters)
185    {
186  280 this.builder.startBlockList();
187    }
188   
 
189  420 toggle @Override
190    public void beginTableRow(Map<String, String> parameters)
191    {
192  420 this.builder.startBlockList();
193    }
194   
 
195  1092 toggle @Override
196    public void beginLink(ResourceReference reference, boolean freestanding, Map<String, String> parameters)
197    {
198  1092 this.builder.startBlockList();
199    }
200   
201    /**
202    * {@inheritDoc}
203    *
204    * @since 3.0M2
205    */
 
206  4 toggle @Override
207    public void beginMetaData(MetaData metadata)
208    {
209  4 this.builder.startBlockList();
210    }
211   
 
212  157 toggle @Override
213    public void endDefinitionDescription()
214    {
215  157 this.builder.addBlock(new DefinitionDescriptionBlock(this.builder.endBlockList()));
216    }
217   
 
218  102 toggle @Override
219    public void endDefinitionList(Map<String, String> parameters)
220    {
221  102 this.builder.addBlock(new DefinitionListBlock(this.builder.endBlockList(), parameters != null ? parameters
222    : Listener.EMPTY_PARAMETERS));
223    }
224   
 
225  140 toggle @Override
226    public void endDefinitionTerm()
227    {
228  140 this.builder.addBlock(new DefinitionTermBlock(this.builder.endBlockList()));
229    }
230   
231    /**
232    * {@inheritDoc}
233    *
234    * @since 3.0M2
235    */
 
236  54324 toggle @Override
237    public void endDocument(MetaData metadata)
238    {
239  54324 this.builder.addBlock(new XDOM(this.builder.endBlockList(), metadata));
240    }
241   
 
242  5499 toggle @Override
243    public void endFormat(Format format, Map<String, String> parameters)
244    {
245  5499 this.builder.addBlock(new FormatBlock(this.builder.endBlockList(), format != null ? format : Format.NONE,
246  5499 parameters != null ? parameters : Listener.EMPTY_PARAMETERS));
247    }
248   
 
249  1390 toggle @Override
250    public void endGroup(Map<String, String> parameters)
251    {
252  1390 this.builder.addBlock(new GroupBlock(this.builder.endBlockList(), parameters != null ? parameters
253    : Listener.EMPTY_PARAMETERS));
254    }
255   
 
256  941 toggle @Override
257    public void endHeader(HeaderLevel level, String id, Map<String, String> parameters)
258    {
259  941 this.builder.addBlock(new HeaderBlock(this.builder.endBlockList(), level, parameters != null ? parameters
260    : Listener.EMPTY_PARAMETERS, id));
261    }
262   
 
263  2327 toggle @Override
264    public void endList(ListType type, Map<String, String> parameters)
265    {
266  2327 if (type == ListType.BULLETED) {
267  2317 this.builder.addBlock(new BulletedListBlock(this.builder.endBlockList(), parameters != null ? parameters
268    : Listener.EMPTY_PARAMETERS));
269    } else {
270  10 this.builder.addBlock(new NumberedListBlock(this.builder.endBlockList(), parameters != null ? parameters
271    : Listener.EMPTY_PARAMETERS));
272    }
273    }
274   
 
275  5736 toggle @Override
276    public void endListItem()
277    {
278  5736 this.builder.addBlock(new ListItemBlock(this.builder.endBlockList()));
279    }
280   
 
281  0 toggle @Override
282    public void endMacroMarker(String name, Map<String, String> macroParameters, String content, boolean isInline)
283    {
284  0 this.builder.addBlock(new MacroMarkerBlock(name, macroParameters != null ? macroParameters
285    : Listener.EMPTY_PARAMETERS, content, this.builder.endBlockList(), isInline));
286    }
287   
 
288  39676 toggle @Override
289    public void endParagraph(Map<String, String> parameters)
290    {
291  39673 this.builder.addBlock(new ParagraphBlock(this.builder.endBlockList(), parameters != null ? parameters
292    : Listener.EMPTY_PARAMETERS));
293    }
294   
 
295  20 toggle @Override
296    public void endQuotation(Map<String, String> parameters)
297    {
298  20 this.builder.addBlock(new QuotationBlock(this.builder.endBlockList(), parameters != null ? parameters
299    : Listener.EMPTY_PARAMETERS));
300    }
301   
 
302  37 toggle @Override
303    public void endQuotationLine()
304    {
305  37 this.builder.addBlock(new QuotationLineBlock(this.builder.endBlockList()));
306    }
307   
 
308  1127 toggle @Override
309    public void endSection(Map<String, String> parameters)
310    {
311  1127 this.builder.addBlock(new SectionBlock(this.builder.endBlockList(), parameters != null ? parameters
312    : Listener.EMPTY_PARAMETERS));
313    }
314   
 
315  164 toggle @Override
316    public void endTable(Map<String, String> parameters)
317    {
318  164 this.builder.addBlock(new TableBlock(this.builder.endBlockList(), parameters != null ? parameters
319    : Listener.EMPTY_PARAMETERS));
320    }
321   
 
322  840 toggle @Override
323    public void endTableCell(Map<String, String> parameters)
324    {
325  840 this.builder.addBlock(new TableCellBlock(this.builder.endBlockList(), parameters != null ? parameters
326    : Listener.EMPTY_PARAMETERS));
327    }
328   
 
329  280 toggle @Override
330    public void endTableHeadCell(Map<String, String> parameters)
331    {
332  280 this.builder.addBlock(new TableHeadCellBlock(this.builder.endBlockList(), parameters != null ? parameters
333    : Listener.EMPTY_PARAMETERS));
334    }
335   
 
336  420 toggle @Override
337    public void endTableRow(Map<String, String> parameters)
338    {
339  420 this.builder.addBlock(new TableRowBlock(this.builder.endBlockList(), parameters != null ? parameters
340    : Listener.EMPTY_PARAMETERS));
341    }
342   
 
343  1092 toggle @Override
344    public void endLink(ResourceReference reference, boolean freestanding, Map<String, String> parameters)
345    {
346  1092 this.builder.addBlock(new LinkBlock(this.builder.endBlockList(), reference, freestanding,
347  1092 parameters != null
348    ? parameters : Listener.EMPTY_PARAMETERS));
349    }
350   
351    /**
352    * {@inheritDoc}
353    *
354    * @since 3.0M2
355    */
 
356  4 toggle @Override
357    public void endMetaData(MetaData metadata)
358    {
359  4 this.builder.addBlock(new MetaDataBlock(this.builder.endBlockList(), metadata));
360    }
361   
 
362  228 toggle @Override
363    public void onEmptyLines(int count)
364    {
365  228 this.builder.addBlock(new EmptyLinesBlock(count));
366    }
367   
 
368  24 toggle @Override
369    public void onHorizontalLine(Map<String, String> parameters)
370    {
371  24 this.builder.addBlock(new HorizontalLineBlock(parameters != null ? parameters : Listener.EMPTY_PARAMETERS));
372    }
373   
 
374  6 toggle @Override
375    public void onId(String name)
376    {
377  6 this.builder.addBlock(new IdBlock(name));
378    }
379   
 
380  11163 toggle @Override
381    public void onMacro(String id, Map<String, String> parameters, String content, boolean inline)
382    {
383  11164 this.builder.addBlock(new MacroBlock(id, parameters != null ? parameters : Listener.EMPTY_PARAMETERS,
384    content, inline));
385    }
386   
 
387  44677 toggle @Override
388    public void onNewLine()
389    {
390  44677 this.builder.addBlock(new NewLineBlock());
391    }
392   
 
393  0 toggle @Override
394    public void onRawText(String content, Syntax syntax)
395    {
396  0 this.builder.addBlock(new RawBlock(content, syntax));
397    }
398   
 
399  503763 toggle @Override
400    public void onSpace()
401    {
402  503762 this.builder.addBlock(new SpaceBlock());
403    }
404   
 
405  499475 toggle @Override
406    public void onSpecialSymbol(char symbol)
407    {
408  499475 this.builder.addBlock(new SpecialSymbolBlock(symbol));
409    }
410   
 
411  97 toggle @Override
412    public void onVerbatim(String content, boolean inline, Map<String, String> parameters)
413    {
414  97 this.builder.addBlock(new VerbatimBlock(content,
415  97 parameters != null ? parameters : Listener.EMPTY_PARAMETERS,
416    inline));
417    }
418   
 
419  581327 toggle @Override
420    public void onWord(String word)
421    {
422  581326 this.builder.addBlock(new WordBlock(word));
423    }
424   
 
425  543 toggle @Override
426    public void onImage(ResourceReference reference, boolean freestanding, Map<String, String> parameters)
427    {
428  543 this.builder.addBlock(new ImageBlock(reference, freestanding, parameters != null ? parameters
429    : Listener.EMPTY_PARAMETERS));
430    }
431    }