1 package org.apache.maven.doxia;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.doxia.logging.PlexusLoggerWrapper;
23 import org.apache.maven.doxia.parser.ParseException;
24 import org.apache.maven.doxia.parser.Parser;
25 import org.apache.maven.doxia.parser.manager.ParserManager;
26 import org.apache.maven.doxia.parser.manager.ParserNotFoundException;
27 import org.apache.maven.doxia.sink.Sink;
28
29 import org.codehaus.plexus.component.annotations.Component;
30 import org.codehaus.plexus.component.annotations.Requirement;
31 import org.codehaus.plexus.logging.AbstractLogEnabled;
32
33 import java.io.Reader;
34
35
36
37
38
39
40
41
42 @Component( role = Doxia.class )
43 public class DefaultDoxia
44 extends AbstractLogEnabled
45 implements Doxia
46 {
47 @Requirement
48 private ParserManager parserManager;
49
50
51
52
53
54
55
56
57 public void parse( Reader source, String parserId, Sink sink )
58 throws ParserNotFoundException, ParseException
59 {
60 this.parse( source, parserId, sink, null );
61 }
62
63
64 @Override
65 public void parse( Reader source, String parserId, Sink sink, String reference )
66 throws ParserNotFoundException, ParseException
67 {
68 Parser parser = parserManager.getParser( parserId );
69
70 parser.enableLogging( new PlexusLoggerWrapper( getLogger() ) );
71
72 parser.parse( source, sink, reference );
73 }
74
75
76 public Parser getParser( String parserId )
77 throws ParserNotFoundException
78 {
79 return parserManager.getParser( parserId );
80 }
81 }