View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.doxia.sink.impl;
20  
21  import org.apache.maven.doxia.parser.Parser;
22  import org.apache.maven.doxia.sink.Locator;
23  import org.apache.maven.doxia.sink.Sink;
24  import org.apache.maven.doxia.sink.SinkEventAttributes;
25  
26  /**
27   * By default a {@link SinkWrapper} just delegates each method to the wrapped sink's method.
28   * For certain sink methods a derived wrapper may modify the sink before/after or instead of calling the delegate's method.
29   * Sink wrappers can either be registered manually via {@link Parser#addSinkWrapperFactory(SinkWrapperFactory)} or
30   * are automatically registered if provided as JSR330 component.
31   * In addition Sink wrappers can be used programmatically without an according factory.
32   * @since 2.0.0
33   */
34  public class SinkWrapper extends AbstractSink {
35  
36      private Sink delegate;
37  
38      public SinkWrapper(Sink delegate) {
39          super();
40          this.delegate = delegate;
41      }
42  
43      public Sink getWrappedSink() {
44          return delegate;
45      }
46  
47      public void setWrappedSink(Sink sink) {
48          delegate = sink;
49      }
50  
51      @Override
52      public void head(SinkEventAttributes attributes) {
53          delegate.head(attributes);
54      }
55  
56      @Override
57      public void head_() {
58          delegate.head_();
59      }
60  
61      @Override
62      public void title(SinkEventAttributes attributes) {
63          delegate.title(attributes);
64      }
65  
66      @Override
67      public void title_() {
68          delegate.title_();
69      }
70  
71      @Override
72      public void author(SinkEventAttributes attributes) {
73          delegate.author(attributes);
74      }
75  
76      @Override
77      public void author_() {
78          delegate.author_();
79      }
80  
81      @Override
82      public void date(SinkEventAttributes attributes) {
83          delegate.date(attributes);
84      }
85  
86      @Override
87      public void date_() {
88          delegate.date_();
89      }
90  
91      @Override
92      public void body(SinkEventAttributes attributes) {
93          delegate.body(attributes);
94      }
95  
96      @Override
97      public void body_() {
98          delegate.body_();
99      }
100 
101     @Override
102     public void article(SinkEventAttributes attributes) {
103         delegate.article(attributes);
104     }
105 
106     @Override
107     public void article_() {
108         delegate.article_();
109     }
110 
111     @Override
112     public void navigation(SinkEventAttributes attributes) {
113         delegate.navigation(attributes);
114     }
115 
116     @Override
117     public void navigation_() {
118         delegate.navigation_();
119     }
120 
121     @Override
122     public void sidebar(SinkEventAttributes attributes) {
123         delegate.sidebar(attributes);
124     }
125 
126     @Override
127     public void sidebar_() {
128         delegate.sidebar_();
129     }
130 
131     @Override
132     public void section(int level, SinkEventAttributes attributes) {
133         delegate.section(level, attributes);
134     }
135 
136     @Override
137     public void section_(int level) {
138         delegate.section_(level);
139     }
140 
141     @Override
142     public void sectionTitle(int level, SinkEventAttributes attributes) {
143         delegate.sectionTitle(level, attributes);
144     }
145 
146     @Override
147     public void sectionTitle_(int level) {
148         delegate.sectionTitle_(level);
149     }
150 
151     @Override
152     public void header(SinkEventAttributes attributes) {
153         delegate.header(attributes);
154     }
155 
156     @Override
157     public void header_() {
158         delegate.header_();
159     }
160 
161     @Override
162     public void content(SinkEventAttributes attributes) {
163         delegate.content(attributes);
164     }
165 
166     @Override
167     public void content_() {
168         delegate.content_();
169     }
170 
171     @Override
172     public void footer(SinkEventAttributes attributes) {
173         delegate.footer(attributes);
174     }
175 
176     @Override
177     public void footer_() {
178         delegate.footer_();
179     }
180 
181     @Override
182     public void list(SinkEventAttributes attributes) {
183         delegate.list(attributes);
184     }
185 
186     @Override
187     public void list_() {
188         delegate.list_();
189     }
190 
191     @Override
192     public void listItem(SinkEventAttributes attributes) {
193         delegate.listItem(attributes);
194     }
195 
196     @Override
197     public void listItem_() {
198         delegate.listItem_();
199     }
200 
201     @Override
202     public void numberedList(int numbering, SinkEventAttributes attributes) {
203         delegate.numberedList(numbering, attributes);
204     }
205 
206     @Override
207     public void numberedList_() {
208         delegate.numberedList_();
209     }
210 
211     @Override
212     public void numberedListItem(SinkEventAttributes attributes) {
213         delegate.numberedListItem(attributes);
214     }
215 
216     @Override
217     public void numberedListItem_() {
218         delegate.numberedListItem_();
219     }
220 
221     @Override
222     public void definitionList(SinkEventAttributes attributes) {
223         delegate.definitionList(attributes);
224     }
225 
226     @Override
227     public void definitionList_() {
228         delegate.definitionList_();
229     }
230 
231     @Override
232     public void definitionListItem(SinkEventAttributes attributes) {
233         delegate.definitionListItem(attributes);
234     }
235 
236     @Override
237     public void definitionListItem_() {
238         delegate.definitionListItem_();
239     }
240 
241     @Override
242     public void definition(SinkEventAttributes attributes) {
243         delegate.definition(attributes);
244     }
245 
246     @Override
247     public void definition_() {
248         delegate.definition_();
249     }
250 
251     @Override
252     public void definedTerm(SinkEventAttributes attributes) {
253         delegate.definedTerm(attributes);
254     }
255 
256     @Override
257     public void definedTerm_() {
258         delegate.definedTerm_();
259     }
260 
261     @Override
262     public void figure(SinkEventAttributes attributes) {
263         delegate.figure(attributes);
264     }
265 
266     @Override
267     public void figure_() {
268         delegate.figure_();
269     }
270 
271     @Override
272     public void figureCaption(SinkEventAttributes attributes) {
273         delegate.figureCaption(attributes);
274     }
275 
276     @Override
277     public void figureCaption_() {
278         delegate.figureCaption_();
279     }
280 
281     @Override
282     public void figureGraphics(String src, SinkEventAttributes attributes) {
283         delegate.figureGraphics(src, attributes);
284     }
285 
286     @Override
287     public void table(SinkEventAttributes attributes) {
288         delegate.table(attributes);
289     }
290 
291     @Override
292     public void table_() {
293         delegate.table_();
294     }
295 
296     @Override
297     public void tableRows(int[] justification, boolean grid) {
298         delegate.tableRows(justification, grid);
299     }
300 
301     @Override
302     public void tableRows_() {
303         delegate.tableRows_();
304     }
305 
306     @Override
307     public void tableRow(SinkEventAttributes attributes) {
308         delegate.tableRow(attributes);
309     }
310 
311     @Override
312     public void tableRow_() {
313         delegate.tableRow_();
314     }
315 
316     @Override
317     public void tableCell(SinkEventAttributes attributes) {
318         delegate.tableCell(attributes);
319     }
320 
321     @Override
322     public void tableCell_() {
323         delegate.tableCell_();
324     }
325 
326     @Override
327     public void tableHeaderCell(SinkEventAttributes attributes) {
328         delegate.tableHeaderCell(attributes);
329     }
330 
331     @Override
332     public void tableHeaderCell_() {
333         delegate.tableHeaderCell_();
334     }
335 
336     @Override
337     public void tableCaption(SinkEventAttributes attributes) {
338         delegate.tableCaption(attributes);
339     }
340 
341     @Override
342     public void tableCaption_() {
343         delegate.tableCaption_();
344     }
345 
346     @Override
347     public void paragraph(SinkEventAttributes attributes) {
348         delegate.paragraph(attributes);
349     }
350 
351     @Override
352     public void paragraph_() {
353         delegate.paragraph_();
354     }
355 
356     @Override
357     public void data(String value, SinkEventAttributes attributes) {
358         delegate.data(value, attributes);
359     }
360 
361     @Override
362     public void data_() {
363         delegate.data_();
364     }
365 
366     @Override
367     public void time(String datetime, SinkEventAttributes attributes) {
368         delegate.time(datetime, attributes);
369     }
370 
371     @Override
372     public void time_() {
373         delegate.time_();
374     }
375 
376     @Override
377     public void address(SinkEventAttributes attributes) {
378         delegate.address(attributes);
379     }
380 
381     @Override
382     public void address_() {
383         delegate.address_();
384     }
385 
386     @Override
387     public void blockquote(SinkEventAttributes attributes) {
388         delegate.blockquote(attributes);
389     }
390 
391     @Override
392     public void blockquote_() {
393         delegate.blockquote_();
394     }
395 
396     @Override
397     public void division(SinkEventAttributes attributes) {
398         delegate.division(attributes);
399     }
400 
401     @Override
402     public void division_() {
403         delegate.division_();
404     }
405 
406     @Override
407     public void verbatim(SinkEventAttributes attributes) {
408         delegate.verbatim(attributes);
409     }
410 
411     @Override
412     public void verbatim_() {
413         delegate.verbatim_();
414     }
415 
416     @Override
417     public void horizontalRule(SinkEventAttributes attributes) {
418         delegate.horizontalRule(attributes);
419     }
420 
421     @Override
422     public void pageBreak() {
423         delegate.pageBreak();
424     }
425 
426     @Override
427     public void anchor(String name, SinkEventAttributes attributes) {
428         delegate.anchor(name, attributes);
429     }
430 
431     @Override
432     public void anchor_() {
433         delegate.anchor_();
434     }
435 
436     @Override
437     public void link(String name, SinkEventAttributes attributes) {
438         delegate.link(name, attributes);
439     }
440 
441     @Override
442     public void link_() {
443         delegate.link_();
444     }
445 
446     @Override
447     public void inline(SinkEventAttributes attributes) {
448         delegate.inline(attributes);
449     }
450 
451     @Override
452     public void inline_() {
453         delegate.inline_();
454     }
455 
456     @Override
457     public void italic() {
458         delegate.italic();
459     }
460 
461     @Override
462     public void italic_() {
463         delegate.italic_();
464     }
465 
466     @Override
467     public void bold() {
468         delegate.bold();
469     }
470 
471     @Override
472     public void bold_() {
473         delegate.bold_();
474     }
475 
476     @Override
477     public void monospaced() {
478         delegate.monospaced();
479     }
480 
481     @Override
482     public void monospaced_() {
483         delegate.monospaced_();
484     }
485 
486     @Override
487     public void lineBreak(SinkEventAttributes attributes) {
488         delegate.lineBreak(attributes);
489     }
490 
491     @Override
492     public void lineBreakOpportunity(SinkEventAttributes attributes) {
493         delegate.lineBreakOpportunity(attributes);
494     }
495 
496     @Override
497     public void nonBreakingSpace() {
498         delegate.nonBreakingSpace();
499     }
500 
501     @Override
502     public void text(String text, SinkEventAttributes attributes) {
503         delegate.text(text, attributes);
504     }
505 
506     @Override
507     public void rawText(String text) {
508         delegate.rawText(text);
509     }
510 
511     @Override
512     public void comment(String comment) {
513         delegate.comment(comment);
514     }
515 
516     @Override
517     public void unknown(String name, Object[] requiredParams, SinkEventAttributes attributes) {
518         delegate.unknown(name, requiredParams, attributes);
519     }
520 
521     @Override
522     public void flush() {
523         delegate.flush();
524     }
525 
526     @Override
527     public void close() {
528         delegate.close();
529     }
530 
531     @Override
532     public void setDocumentLocator(Locator locator) {
533         delegate.setDocumentLocator(locator);
534     }
535 
536     @Override
537     public Locator getDocumentLocator() {
538         return delegate.getDocumentLocator();
539     }
540 }