1 package org.apache.maven.doxia.sink.impl;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.IOException;
23 import java.io.Writer;
24
25 import org.apache.maven.doxia.sink.SinkEventAttributes;
26 import org.apache.maven.doxia.sink.impl.AbstractSink;
27 import org.apache.maven.doxia.sink.impl.SinkUtils;
28
29
30
31
32
33 public class TextSink
34 extends AbstractSink
35 {
36
37
38 private final Writer out;
39
40
41
42
43 public TextSink( Writer writer )
44 {
45 this.out = writer;
46 }
47
48
49 @Override
50 public void head()
51 {
52 writeln( "begin:head" );
53 }
54
55 @Override
56 public void head_()
57 {
58 writeln( "end:head" );
59 }
60
61 @Override
62 public void body()
63 {
64 writeln( "begin:body" );
65 }
66
67 @Override
68 public void body_()
69 {
70 writeln( "end:body" );
71 }
72
73 @Override
74 public void section1()
75 {
76 write( "begin:section1" );
77 }
78
79 @Override
80 public void section1_()
81 {
82 writeln( "end:section1" );
83 }
84
85 @Override
86 public void section2()
87 {
88 write( "begin:section2" );
89 }
90
91 @Override
92 public void section2_()
93 {
94 writeln( "end:section2" );
95 }
96
97 @Override
98 public void section3()
99 {
100 write( "begin:section3" );
101 }
102
103 @Override
104 public void section3_()
105 {
106 writeln( "end:section3" );
107 }
108
109 @Override
110 public void section4()
111 {
112 write( "begin:section4" );
113 }
114
115 @Override
116 public void section4_()
117 {
118 writeln( "end:section4" );
119 }
120
121 @Override
122 public void section5()
123 {
124 write( "begin:section5" );
125 }
126
127 @Override
128 public void section5_()
129 {
130 writeln( "end:section5" );
131 }
132
133 @Override
134 public void section6()
135 {
136 write( "begin:section6" );
137 }
138
139 @Override
140 public void section6_()
141 {
142 writeln( "end:section6" );
143 }
144
145 @Override
146 public void list()
147 {
148 writeln( "begin:list" );
149 }
150
151 @Override
152 public void list_()
153 {
154 writeln( "end:list" );
155 }
156
157 @Override
158 public void listItem()
159 {
160 write( "begin:listItem" );
161 }
162
163 @Override
164 public void listItem_()
165 {
166 writeln( "end:listItem" );
167 }
168
169 @Override
170 public void numberedList( int numbering )
171 {
172 writeln( "begin:numberedList, numbering: " + numbering );
173 }
174
175 @Override
176 public void numberedList_()
177 {
178 writeln( "end:numberedList" );
179 }
180
181 @Override
182 public void numberedListItem()
183 {
184 write( "begin:numberedListItem" );
185 }
186
187 @Override
188 public void numberedListItem_()
189 {
190 writeln( "end:numberedListItem" );
191 }
192
193 @Override
194 public void definitionList()
195 {
196 writeln( "begin:definitionList" );
197 }
198
199 @Override
200 public void definitionList_()
201 {
202 writeln( "end:definitionList" );
203 }
204
205 @Override
206 public void definitionListItem()
207 {
208 write( "begin:definitionListItem" );
209 }
210
211 @Override
212 public void definitionListItem_()
213 {
214 writeln( "end:definitionListItem" );
215 }
216
217 @Override
218 public void definition()
219 {
220 write( "begin:definition" );
221 }
222
223 @Override
224 public void definition_()
225 {
226 writeln( "end:definition" );
227 }
228
229 @Override
230 public void figure()
231 {
232 write( "begin:figure" );
233 }
234
235 @Override
236 public void figure_()
237 {
238 writeln( "end:figure" );
239 }
240
241 @Override
242 public void table()
243 {
244 writeln( "begin:table" );
245 }
246
247 @Override
248 public void table_()
249 {
250 writeln( "end:table" );
251 }
252
253 @Override
254 public void tableRows( int[] justification, boolean grid )
255 {
256 writeln( "begin:tableRows" );
257 }
258
259 @Override
260 public void tableRows_()
261 {
262 writeln( "end:tableRows" );
263 }
264
265 @Override
266 public void tableRow()
267 {
268 write( "begin:tableRow" );
269 }
270
271 @Override
272 public void tableRow_()
273 {
274 writeln( "end:tableRow" );
275 }
276
277 @Override
278 public void title()
279 {
280 write( "begin:title" );
281 }
282
283 @Override
284 public void title_()
285 {
286 writeln( "end:title" );
287 }
288
289 @Override
290 public void author()
291 {
292 write( "begin:author" );
293 }
294
295 @Override
296 public void author_()
297 {
298 writeln( "end:author" );
299 }
300
301 @Override
302 public void date()
303 {
304 write( "begin:date" );
305 }
306
307 @Override
308 public void date_()
309 {
310 writeln( "end:date" );
311 }
312
313 @Override
314 public void sectionTitle()
315 {
316 write( "begin:sectionTitle" );
317 }
318
319 @Override
320 public void sectionTitle_()
321 {
322 writeln( "end:sectionTitle" );
323 }
324
325 @Override
326 public void sectionTitle1()
327 {
328 write( "begin:sectionTitle1" );
329 }
330
331 @Override
332 public void sectionTitle1_()
333 {
334 writeln( "end:sectionTitle1" );
335 }
336
337 @Override
338 public void sectionTitle2()
339 {
340 write( "begin:sectionTitle2" );
341 }
342
343 @Override
344 public void sectionTitle2_()
345 {
346 writeln( "end:sectionTitle2" );
347 }
348
349 @Override
350 public void sectionTitle3()
351 {
352 write( "begin:sectionTitle3" );
353 }
354
355 @Override
356 public void sectionTitle3_()
357 {
358 writeln( "end:sectionTitle3" );
359 }
360
361 @Override
362 public void sectionTitle4()
363 {
364 write( "begin:sectionTitle4" );
365 }
366
367 @Override
368 public void sectionTitle4_()
369 {
370 writeln( "end:sectionTitle4" );
371 }
372
373 @Override
374 public void sectionTitle5()
375 {
376 write( "begin:sectionTitle5" );
377 }
378
379 @Override
380 public void sectionTitle5_()
381 {
382 writeln( "end:sectionTitle5" );
383 }
384
385 @Override
386 public void sectionTitle6()
387 {
388 write( "begin:sectionTitle6" );
389 }
390
391 @Override
392 public void sectionTitle6_()
393 {
394 writeln( "end:sectionTitle6" );
395 }
396
397 @Override
398 public void paragraph()
399 {
400 write( "begin:paragraph" );
401 }
402
403 @Override
404 public void paragraph_()
405 {
406 writeln( "end:paragraph" );
407 }
408
409 @Override
410 public void verbatim( boolean boxed )
411 {
412 write( "begin:verbatim, boxed: " + boxed );
413 }
414
415 @Override
416 public void verbatim_()
417 {
418 writeln( "end:verbatim" );
419 }
420
421 @Override
422 public void definedTerm()
423 {
424 write( "begin:definedTerm" );
425 }
426
427 @Override
428 public void definedTerm_()
429 {
430 writeln( "end:definedTerm" );
431 }
432
433 @Override
434 public void figureCaption()
435 {
436 write( "begin:figureCaption" );
437 }
438
439 @Override
440 public void figureCaption_()
441 {
442 writeln( "end:figureCaption" );
443 }
444
445 @Override
446 public void tableCell()
447 {
448 write( "begin:tableCell" );
449 }
450
451 @Override
452 public void tableCell( String width )
453 {
454 write( "begin:tableCell, width: " + width );
455 }
456
457 @Override
458 public void tableCell_()
459 {
460 writeln( "end:tableCell" );
461 }
462
463 @Override
464 public void tableHeaderCell()
465 {
466 write( "begin:tableHeaderCell" );
467 }
468
469 @Override
470 public void tableHeaderCell( String width )
471 {
472 write( "begin:tableHeaderCell, width: " + width );
473 }
474
475 @Override
476 public void tableHeaderCell_()
477 {
478 writeln( "end:tableHeaderCell" );
479 }
480
481 @Override
482 public void tableCaption()
483 {
484 write( "begin:tableCaption" );
485 }
486
487 @Override
488 public void tableCaption_()
489 {
490 writeln( "end:tableCaption" );
491 }
492
493 @Override
494 public void figureGraphics( String name )
495 {
496 write( "figureGraphics, name: " + name );
497 }
498
499 @Override
500 public void horizontalRule()
501 {
502 write( "horizontalRule" );
503 }
504
505 @Override
506 public void pageBreak()
507 {
508 write( "pageBreak" );
509 }
510
511 @Override
512 public void anchor( String name )
513 {
514 write( "begin:anchor, name: " + name );
515 }
516
517 @Override
518 public void anchor_()
519 {
520 writeln( "end:anchor" );
521 }
522
523 @Override
524 public void link( String name )
525 {
526 write( "begin:link, name: " + name );
527 }
528
529 @Override
530 public void link_()
531 {
532 writeln( "end:link" );
533 }
534
535 @Override
536 public void italic()
537 {
538 write( "begin:italic" );
539 }
540
541 @Override
542 public void italic_()
543 {
544 writeln( "end:italic" );
545 }
546
547 @Override
548 public void bold()
549 {
550 write( "begin:bold" );
551 }
552
553 @Override
554 public void bold_()
555 {
556 writeln( "end:bold" );
557 }
558
559 @Override
560 public void monospaced()
561 {
562 write( "begin:monospaced" );
563 }
564
565 @Override
566 public void monospaced_()
567 {
568 writeln( "end:monospaced" );
569 }
570
571 @Override
572 public void lineBreak()
573 {
574 write( "lineBreak" );
575 }
576
577 @Override
578 public void nonBreakingSpace()
579 {
580 write( "nonBreakingSpace" );
581 }
582
583 @Override
584 public void text( String text )
585 {
586 write( "text: " + text );
587 }
588
589 @Override
590 public void rawText( String text )
591 {
592 write( "rawText: " + text );
593 }
594
595 @Override
596 public void comment( String comment )
597 {
598 write( "comment: " + comment );
599 }
600
601 @Override
602 public void flush()
603 {
604 try
605 {
606 out.flush();
607 }
608 catch ( IOException e )
609 {
610 getLog().warn( "Could not flush sink: " + e.getMessage(), e );
611 }
612 }
613
614 @Override
615 public void close()
616 {
617 try
618 {
619 out.close();
620 }
621 catch ( IOException e )
622 {
623 getLog().warn( "Could not close sink: " + e.getMessage(), e );
624 }
625 }
626
627 @Override
628 public void head( SinkEventAttributes attributes )
629 {
630 head();
631 }
632
633 @Override
634 public void title( SinkEventAttributes attributes )
635 {
636 title();
637 }
638
639 @Override
640 public void author( SinkEventAttributes attributes )
641 {
642 author();
643 }
644
645 @Override
646 public void date( SinkEventAttributes attributes )
647 {
648 date();
649 }
650
651 @Override
652 public void body( SinkEventAttributes attributes )
653 {
654 body();
655 }
656
657 @Override
658 public void section( int level, SinkEventAttributes attributes )
659 {
660 write( "begin:section" + level );
661 }
662
663 @Override
664 public void section_( int level )
665 {
666 writeln( "end:section" + level );
667 }
668
669 @Override
670 public void sectionTitle( int level, SinkEventAttributes attributes )
671 {
672 write( "begin:sectionTitle" + level );
673 }
674
675 @Override
676 public void sectionTitle_( int level )
677 {
678 writeln( "end:sectionTitle" + level );
679 }
680
681 @Override
682 public void list( SinkEventAttributes attributes )
683 {
684 list();
685 }
686
687 @Override
688 public void listItem( SinkEventAttributes attributes )
689 {
690 listItem();
691 }
692
693 @Override
694 public void numberedList( int numbering, SinkEventAttributes attributes )
695 {
696 numberedList( numbering );
697 }
698
699 @Override
700 public void numberedListItem( SinkEventAttributes attributes )
701 {
702 numberedListItem();
703 }
704
705 @Override
706 public void definitionList( SinkEventAttributes attributes )
707 {
708 definitionList();
709 }
710
711 @Override
712 public void definitionListItem( SinkEventAttributes attributes )
713 {
714 definitionListItem();
715 }
716
717 @Override
718 public void definition( SinkEventAttributes attributes )
719 {
720 definition();
721 }
722
723 @Override
724 public void definedTerm( SinkEventAttributes attributes )
725 {
726 definedTerm();
727 }
728
729 @Override
730 public void figure( SinkEventAttributes attributes )
731 {
732 write( "begin:figure" + SinkUtils.getAttributeString( attributes ) );
733 }
734
735 @Override
736 public void figureCaption( SinkEventAttributes attributes )
737 {
738 figureCaption();
739 }
740
741 @Override
742 public void figureGraphics( String src, SinkEventAttributes attributes )
743 {
744 figureGraphics( src );
745 }
746
747 @Override
748 public void table( SinkEventAttributes attributes )
749 {
750 table();
751 }
752
753 @Override
754 public void tableRow( SinkEventAttributes attributes )
755 {
756 tableRow();
757 }
758
759 @Override
760 public void tableCell( SinkEventAttributes attributes )
761 {
762 tableCell();
763 }
764
765 @Override
766 public void tableHeaderCell( SinkEventAttributes attributes )
767 {
768 tableHeaderCell();
769 }
770
771 @Override
772 public void tableCaption( SinkEventAttributes attributes )
773 {
774 tableCaption();
775 }
776
777 @Override
778 public void paragraph( SinkEventAttributes attributes )
779 {
780 paragraph();
781 }
782
783 @Override
784 public void verbatim( SinkEventAttributes attributes )
785 {
786 boolean boxed = false;
787
788 if ( attributes != null && attributes.isDefined( SinkEventAttributes.DECORATION ) )
789 {
790 boxed = "boxed".equals(
791 attributes.getAttribute( SinkEventAttributes.DECORATION ).toString() );
792 }
793
794 verbatim( boxed );
795 }
796
797 @Override
798 public void horizontalRule( SinkEventAttributes attributes )
799 {
800 horizontalRule();
801 }
802
803 @Override
804 public void anchor( String name, SinkEventAttributes attributes )
805 {
806 anchor( name );
807 }
808
809 @Override
810 public void link( String name, SinkEventAttributes attributes )
811 {
812 link( name );
813 }
814
815 @Override
816 public void lineBreak( SinkEventAttributes attributes )
817 {
818 lineBreak();
819 }
820
821 @Override
822 public void text( String text, SinkEventAttributes attributes )
823 {
824 text( text );
825 }
826
827 @Override
828 public void unknown( String name, Object[] requiredParams, SinkEventAttributes attributes )
829 {
830 write( "unknown: " + name );
831 }
832
833
834
835
836
837
838 private void write( String text )
839 {
840 try
841 {
842 out.write( text + EOL );
843 }
844 catch ( IOException e )
845 {
846 getLog().warn( "Could not write to sink: " + e.getMessage(), e );
847 }
848 }
849
850
851
852
853
854
855 private void writeln( String text )
856 {
857 write( text );
858 write( EOL );
859 }
860 }