1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.codehaus.mojo.natives.parser;
18
19 public class FilenameState
20 extends AbstractParserState
21 {
22 private final StringBuffer buf = new StringBuffer();
23
24 private final char[] terminators;
25
26 public FilenameState( AbstractParser parser, char[] terminators )
27 {
28 super( parser );
29 this.terminators = (char[]) terminators.clone();
30 }
31
32 public AbstractParserState consume( char ch )
33 {
34 for ( int i = 0; i < terminators.length; i++ )
35 {
36 if ( ch == terminators[i] )
37 {
38 getParser().addFilename( buf.toString() );
39 buf.setLength( 0 );
40 return null;
41 }
42 }
43 if ( ch == '\n' )
44 {
45 buf.setLength( 0 );
46 return getParser().getNewLineState();
47 }
48 else
49 {
50 buf.append( ch );
51 }
52 return this;
53 }
54 }