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 article()
75 {
76 writeln( "begin:article" );
77 }
78
79 @Override
80 public void article_()
81 {
82 writeln( "end:article" );
83 }
84
85 @Override
86 public void navigation()
87 {
88 writeln( "begin:navigation" );
89 }
90
91 @Override
92 public void navigation_()
93 {
94 writeln( "end:navigation" );
95 }
96
97 @Override
98 public void sidebar()
99 {
100 writeln( "begin:sidebar" );
101 }
102
103 @Override
104 public void sidebar_()
105 {
106 writeln( "end:sidebar" );
107 }
108
109 @Override
110 public void section1()
111 {
112 write( "begin:section1" );
113 }
114
115 @Override
116 public void section1_()
117 {
118 writeln( "end:section1" );
119 }
120
121 @Override
122 public void section2()
123 {
124 write( "begin:section2" );
125 }
126
127 @Override
128 public void section2_()
129 {
130 writeln( "end:section2" );
131 }
132
133 @Override
134 public void section3()
135 {
136 write( "begin:section3" );
137 }
138
139 @Override
140 public void section3_()
141 {
142 writeln( "end:section3" );
143 }
144
145 @Override
146 public void section4()
147 {
148 write( "begin:section4" );
149 }
150
151 @Override
152 public void section4_()
153 {
154 writeln( "end:section4" );
155 }
156
157 @Override
158 public void section5()
159 {
160 write( "begin:section5" );
161 }
162
163 @Override
164 public void section5_()
165 {
166 writeln( "end:section5" );
167 }
168
169 @Override
170 public void section6()
171 {
172 write( "begin:section6" );
173 }
174
175 @Override
176 public void section6_()
177 {
178 writeln( "end:section6" );
179 }
180
181 @Override
182 public void list()
183 {
184 writeln( "begin:list" );
185 }
186
187 @Override
188 public void list_()
189 {
190 writeln( "end:list" );
191 }
192
193 @Override
194 public void listItem()
195 {
196 write( "begin:listItem" );
197 }
198
199 @Override
200 public void listItem_()
201 {
202 writeln( "end:listItem" );
203 }
204
205 @Override
206 public void numberedList( int numbering )
207 {
208 writeln( "begin:numberedList, numbering: " + numbering );
209 }
210
211 @Override
212 public void numberedList_()
213 {
214 writeln( "end:numberedList" );
215 }
216
217 @Override
218 public void numberedListItem()
219 {
220 write( "begin:numberedListItem" );
221 }
222
223 @Override
224 public void numberedListItem_()
225 {
226 writeln( "end:numberedListItem" );
227 }
228
229 @Override
230 public void definitionList()
231 {
232 writeln( "begin:definitionList" );
233 }
234
235 @Override
236 public void definitionList_()
237 {
238 writeln( "end:definitionList" );
239 }
240
241 @Override
242 public void definitionListItem()
243 {
244 write( "begin:definitionListItem" );
245 }
246
247 @Override
248 public void definitionListItem_()
249 {
250 writeln( "end:definitionListItem" );
251 }
252
253 @Override
254 public void definition()
255 {
256 write( "begin:definition" );
257 }
258
259 @Override
260 public void definition_()
261 {
262 writeln( "end:definition" );
263 }
264
265 @Override
266 public void figure()
267 {
268 write( "begin:figure" );
269 }
270
271 @Override
272 public void figure_()
273 {
274 writeln( "end:figure" );
275 }
276
277 @Override
278 public void table()
279 {
280 writeln( "begin:table" );
281 }
282
283 @Override
284 public void table_()
285 {
286 writeln( "end:table" );
287 }
288
289 @Override
290 public void tableRows( int[] justification, boolean grid )
291 {
292 writeln( "begin:tableRows" );
293 }
294
295 @Override
296 public void tableRows_()
297 {
298 writeln( "end:tableRows" );
299 }
300
301 @Override
302 public void tableRow()
303 {
304 write( "begin:tableRow" );
305 }
306
307 @Override
308 public void tableRow_()
309 {
310 writeln( "end:tableRow" );
311 }
312
313 @Override
314 public void title()
315 {
316 write( "begin:title" );
317 }
318
319 @Override
320 public void title_()
321 {
322 writeln( "end:title" );
323 }
324
325 @Override
326 public void author()
327 {
328 write( "begin:author" );
329 }
330
331 @Override
332 public void author_()
333 {
334 writeln( "end:author" );
335 }
336
337 @Override
338 public void date()
339 {
340 write( "begin:date" );
341 }
342
343 @Override
344 public void date_()
345 {
346 writeln( "end:date" );
347 }
348
349 @Override
350 public void sectionTitle()
351 {
352 write( "begin:sectionTitle" );
353 }
354
355 @Override
356 public void sectionTitle_()
357 {
358 writeln( "end:sectionTitle" );
359 }
360
361 @Override
362 public void sectionTitle1()
363 {
364 write( "begin:sectionTitle1" );
365 }
366
367 @Override
368 public void sectionTitle1_()
369 {
370 writeln( "end:sectionTitle1" );
371 }
372
373 @Override
374 public void sectionTitle2()
375 {
376 write( "begin:sectionTitle2" );
377 }
378
379 @Override
380 public void sectionTitle2_()
381 {
382 writeln( "end:sectionTitle2" );
383 }
384
385 @Override
386 public void sectionTitle3()
387 {
388 write( "begin:sectionTitle3" );
389 }
390
391 @Override
392 public void sectionTitle3_()
393 {
394 writeln( "end:sectionTitle3" );
395 }
396
397 @Override
398 public void sectionTitle4()
399 {
400 write( "begin:sectionTitle4" );
401 }
402
403 @Override
404 public void sectionTitle4_()
405 {
406 writeln( "end:sectionTitle4" );
407 }
408
409 @Override
410 public void sectionTitle5()
411 {
412 write( "begin:sectionTitle5" );
413 }
414
415 @Override
416 public void sectionTitle5_()
417 {
418 writeln( "end:sectionTitle5" );
419 }
420
421 @Override
422 public void sectionTitle6()
423 {
424 write( "begin:sectionTitle6" );
425 }
426
427 @Override
428 public void sectionTitle6_()
429 {
430 writeln( "end:sectionTitle6" );
431 }
432
433 @Override
434 public void header()
435 {
436 write( "begin:header" );
437 }
438
439 @Override
440 public void header_()
441 {
442 writeln( "end:header" );
443 }
444
445 @Override
446 public void content()
447 {
448 write( "begin:content" );
449 }
450
451 @Override
452 public void content_()
453 {
454 writeln( "end:content" );
455 }
456
457 @Override
458 public void footer()
459 {
460 write( "begin:footer" );
461 }
462
463 @Override
464 public void footer_()
465 {
466 writeln( "end:footer" );
467 }
468
469 @Override
470 public void paragraph()
471 {
472 write( "begin:paragraph" );
473 }
474
475 @Override
476 public void paragraph_()
477 {
478 writeln( "end:paragraph" );
479 }
480
481 @Override
482 public void data( String value )
483 {
484 write( "begin:data, value: " + value );
485 }
486
487 @Override
488 public void data_()
489 {
490 writeln( "end:data" );
491 }
492
493 @Override
494 public void time( String datetime )
495 {
496 write( "begin:time, datetime: " + datetime );
497 }
498
499 @Override
500 public void time_()
501 {
502 writeln( "end:time" );
503 }
504
505 @Override
506 public void address()
507 {
508 write( "begin:address" );
509 }
510
511 @Override
512 public void address_()
513 {
514 writeln( "end:address" );
515 }
516
517 @Override
518 public void blockquote()
519 {
520 write( "begin:blockquote" );
521 }
522
523 @Override
524 public void blockquote_()
525 {
526 writeln( "end:blockquote" );
527 }
528
529 @Override
530 public void division()
531 {
532 write( "begin:division" );
533 }
534
535 @Override
536 public void division_()
537 {
538 writeln( "end:division" );
539 }
540
541 @Override
542 public void verbatim( boolean boxed )
543 {
544 write( "begin:verbatim, boxed: " + boxed );
545 }
546
547 @Override
548 public void verbatim_()
549 {
550 writeln( "end:verbatim" );
551 }
552
553 @Override
554 public void definedTerm()
555 {
556 write( "begin:definedTerm" );
557 }
558
559 @Override
560 public void definedTerm_()
561 {
562 writeln( "end:definedTerm" );
563 }
564
565 @Override
566 public void figureCaption()
567 {
568 write( "begin:figureCaption" );
569 }
570
571 @Override
572 public void figureCaption_()
573 {
574 writeln( "end:figureCaption" );
575 }
576
577 @Override
578 public void tableCell()
579 {
580 write( "begin:tableCell" );
581 }
582
583 @Override
584 public void tableCell( String width )
585 {
586 write( "begin:tableCell, width: " + width );
587 }
588
589 @Override
590 public void tableCell_()
591 {
592 writeln( "end:tableCell" );
593 }
594
595 @Override
596 public void tableHeaderCell()
597 {
598 write( "begin:tableHeaderCell" );
599 }
600
601 @Override
602 public void tableHeaderCell( String width )
603 {
604 write( "begin:tableHeaderCell, width: " + width );
605 }
606
607 @Override
608 public void tableHeaderCell_()
609 {
610 writeln( "end:tableHeaderCell" );
611 }
612
613 @Override
614 public void tableCaption()
615 {
616 write( "begin:tableCaption" );
617 }
618
619 @Override
620 public void tableCaption_()
621 {
622 writeln( "end:tableCaption" );
623 }
624
625 @Override
626 public void figureGraphics( String name )
627 {
628 write( "figureGraphics, name: " + name );
629 }
630
631 @Override
632 public void horizontalRule()
633 {
634 write( "horizontalRule" );
635 }
636
637 @Override
638 public void pageBreak()
639 {
640 write( "pageBreak" );
641 }
642
643 @Override
644 public void anchor( String name )
645 {
646 write( "begin:anchor, name: " + name );
647 }
648
649 @Override
650 public void anchor_()
651 {
652 writeln( "end:anchor" );
653 }
654
655 @Override
656 public void link( String name )
657 {
658 write( "begin:link, name: " + name );
659 }
660
661 @Override
662 public void link_()
663 {
664 writeln( "end:link" );
665 }
666
667 @Override
668 public void inline()
669 {
670 write( "begin:inline" );
671 }
672
673 @Override
674 public void inline_()
675 {
676 writeln( "end:inline" );
677 }
678
679 @Override
680 public void italic()
681 {
682 write( "begin:italic" );
683 }
684
685 @Override
686 public void italic_()
687 {
688 writeln( "end:italic" );
689 }
690
691 @Override
692 public void bold()
693 {
694 write( "begin:bold" );
695 }
696
697 @Override
698 public void bold_()
699 {
700 writeln( "end:bold" );
701 }
702
703 @Override
704 public void monospaced()
705 {
706 write( "begin:monospaced" );
707 }
708
709 @Override
710 public void monospaced_()
711 {
712 writeln( "end:monospaced" );
713 }
714
715 @Override
716 public void lineBreak()
717 {
718 write( "lineBreak" );
719 }
720
721 @Override
722 public void lineBreakOpportunity()
723 {
724 write( "lineBreakOpportunity" );
725 }
726
727 @Override
728 public void nonBreakingSpace()
729 {
730 write( "nonBreakingSpace" );
731 }
732
733 @Override
734 public void text( String text )
735 {
736 write( "text: " + text );
737 }
738
739 @Override
740 public void rawText( String text )
741 {
742 write( "rawText: " + text );
743 }
744
745 @Override
746 public void comment( String comment )
747 {
748 write( "comment: " + comment );
749 }
750
751 @Override
752 public void flush()
753 {
754 try
755 {
756 out.flush();
757 }
758 catch ( IOException e )
759 {
760 getLog().warn( "Could not flush sink: " + e.getMessage(), e );
761 }
762 }
763
764 @Override
765 public void close()
766 {
767 try
768 {
769 out.close();
770 }
771 catch ( IOException e )
772 {
773 getLog().warn( "Could not close sink: " + e.getMessage(), e );
774 }
775 }
776
777 @Override
778 public void head( SinkEventAttributes attributes )
779 {
780 head();
781 }
782
783 @Override
784 public void title( SinkEventAttributes attributes )
785 {
786 title();
787 }
788
789 @Override
790 public void author( SinkEventAttributes attributes )
791 {
792 author();
793 }
794
795 @Override
796 public void date( SinkEventAttributes attributes )
797 {
798 date();
799 }
800
801 @Override
802 public void body( SinkEventAttributes attributes )
803 {
804 body();
805 }
806
807 @Override
808 public void article( SinkEventAttributes attributes )
809 {
810 article();
811 }
812
813 @Override
814 public void navigation( SinkEventAttributes attributes )
815 {
816 navigation();
817 }
818
819 @Override
820 public void sidebar( SinkEventAttributes attributes )
821 {
822 sidebar();
823 }
824
825 @Override
826 public void section( int level, SinkEventAttributes attributes )
827 {
828 write( "begin:section" + level );
829 }
830
831 @Override
832 public void section_( int level )
833 {
834 writeln( "end:section" + level );
835 }
836
837 @Override
838 public void sectionTitle( int level, SinkEventAttributes attributes )
839 {
840 write( "begin:sectionTitle" + level );
841 }
842
843 @Override
844 public void sectionTitle_( int level )
845 {
846 writeln( "end:sectionTitle" + level );
847 }
848
849 @Override
850 public void header( SinkEventAttributes attributes )
851 {
852 header();
853 }
854
855 @Override
856 public void content( SinkEventAttributes attributes )
857 {
858 content();
859 }
860
861 @Override
862 public void footer( SinkEventAttributes attributes )
863 {
864 footer();
865 }
866
867 @Override
868 public void list( SinkEventAttributes attributes )
869 {
870 list();
871 }
872
873 @Override
874 public void listItem( SinkEventAttributes attributes )
875 {
876 listItem();
877 }
878
879 @Override
880 public void numberedList( int numbering, SinkEventAttributes attributes )
881 {
882 numberedList( numbering );
883 }
884
885 @Override
886 public void numberedListItem( SinkEventAttributes attributes )
887 {
888 numberedListItem();
889 }
890
891 @Override
892 public void definitionList( SinkEventAttributes attributes )
893 {
894 definitionList();
895 }
896
897 @Override
898 public void definitionListItem( SinkEventAttributes attributes )
899 {
900 definitionListItem();
901 }
902
903 @Override
904 public void definition( SinkEventAttributes attributes )
905 {
906 definition();
907 }
908
909 @Override
910 public void definedTerm( SinkEventAttributes attributes )
911 {
912 definedTerm();
913 }
914
915 @Override
916 public void figure( SinkEventAttributes attributes )
917 {
918 write( "begin:figure" + SinkUtils.getAttributeString( attributes ) );
919 }
920
921 @Override
922 public void figureCaption( SinkEventAttributes attributes )
923 {
924 figureCaption();
925 }
926
927 @Override
928 public void figureGraphics( String src, SinkEventAttributes attributes )
929 {
930 figureGraphics( src );
931 }
932
933 @Override
934 public void table( SinkEventAttributes attributes )
935 {
936 table();
937 }
938
939 @Override
940 public void tableRow( SinkEventAttributes attributes )
941 {
942 tableRow();
943 }
944
945 @Override
946 public void tableCell( SinkEventAttributes attributes )
947 {
948 tableCell();
949 }
950
951 @Override
952 public void tableHeaderCell( SinkEventAttributes attributes )
953 {
954 tableHeaderCell();
955 }
956
957 @Override
958 public void tableCaption( SinkEventAttributes attributes )
959 {
960 tableCaption();
961 }
962
963 @Override
964 public void paragraph( SinkEventAttributes attributes )
965 {
966 paragraph();
967 }
968
969 @Override
970 public void data( String value, SinkEventAttributes attributes )
971 {
972 data( value );
973 }
974
975 @Override
976 public void time( String datetime, SinkEventAttributes attributes )
977 {
978 time( datetime );
979 }
980
981 @Override
982 public void address( SinkEventAttributes attributes )
983 {
984 address();
985 }
986
987 @Override
988 public void blockquote( SinkEventAttributes attributes )
989 {
990 blockquote();
991 }
992
993 @Override
994 public void division( SinkEventAttributes attributes )
995 {
996 division();
997 }
998
999 @Override
1000 public void verbatim( SinkEventAttributes attributes )
1001 {
1002 boolean boxed = false;
1003
1004 if ( attributes != null && attributes.isDefined( SinkEventAttributes.DECORATION ) )
1005 {
1006 boxed = "boxed".equals(
1007 attributes.getAttribute( SinkEventAttributes.DECORATION ).toString() );
1008 }
1009
1010 verbatim( boxed );
1011 }
1012
1013 @Override
1014 public void horizontalRule( SinkEventAttributes attributes )
1015 {
1016 horizontalRule();
1017 }
1018
1019 @Override
1020 public void anchor( String name, SinkEventAttributes attributes )
1021 {
1022 anchor( name );
1023 }
1024
1025 @Override
1026 public void link( String name, SinkEventAttributes attributes )
1027 {
1028 link( name );
1029 }
1030
1031 @Override
1032 public void inline( SinkEventAttributes attributes )
1033 {
1034 inline();
1035 }
1036
1037 @Override
1038 public void lineBreak( SinkEventAttributes attributes )
1039 {
1040 lineBreak();
1041 }
1042
1043 @Override
1044 public void lineBreakOpportunity( SinkEventAttributes attributes )
1045 {
1046 lineBreakOpportunity();
1047 }
1048
1049 @Override
1050 public void text( String text, SinkEventAttributes attributes )
1051 {
1052 text( text );
1053 }
1054
1055 @Override
1056 public void unknown( String name, Object[] requiredParams, SinkEventAttributes attributes )
1057 {
1058 write( "unknown: " + name );
1059 }
1060
1061
1062
1063
1064
1065
1066 private void write( String text )
1067 {
1068 try
1069 {
1070 out.write( text + EOL );
1071 }
1072 catch ( IOException e )
1073 {
1074 getLog().warn( "Could not write to sink: " + e.getMessage(), e );
1075 }
1076 }
1077
1078
1079
1080
1081
1082
1083 private void writeln( String text )
1084 {
1085 write( text );
1086 write( EOL );
1087 }
1088 }