1 package org.apache.maven.doxia.module.confluence.parser;
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.util.ByLineSource;
23 import org.apache.maven.doxia.parser.ParseException;
24
25
26
27
28
29
30
31 public class VerbatimBlockParser
32 implements BlockParser
33 {
34 static final String LS = System.getProperty( "line.separator" );
35
36
37 public boolean accept( String line, ByLineSource source )
38 {
39 if ( line.startsWith( "{code" ) || line.startsWith( "{noformat}" ) )
40 {
41 return true;
42 }
43
44 return false;
45 }
46
47
48 public Block visit( String line, ByLineSource source )
49 throws ParseException
50 {
51 StringBuilder text = new StringBuilder();
52
53 while ( ( line = source.getNextLine() ) != null )
54 {
55 if ( line.startsWith( "{code}" ) || line.startsWith( "{noformat}" ) )
56 {
57 break;
58 }
59
60
61 text.append( line ).append( LS );
62 }
63
64 return new VerbatimBlock( text.toString() );
65 }
66 }