1 package org.apache.maven.doxia.macro;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Map;
23
24 import org.apache.maven.doxia.parser.AbstractParser;
25 import org.apache.maven.doxia.parser.Parser;
26
27 import java.io.File;
28
29
30
31
32
33
34
35
36 public class MacroRequest
37 {
38 private static final String PARAM_SOURCE_CONTENT = "sourceContent";
39 private static final String PARAM_PARSER = "parser";
40
41
42 private File basedir;
43
44
45 private Map<String, Object> parameters;
46
47
48
49
50
51
52
53
54 public MacroRequest( Map<String, Object> param, File base )
55 {
56 this.parameters = param;
57 this.basedir = base;
58 }
59
60 public MacroRequest( String sourceContent, AbstractParser parser, Map<String, Object> param, File base )
61 {
62 this.parameters = param;
63 this.basedir = base;
64 param.put( PARAM_SOURCE_CONTENT, sourceContent );
65 parser.setSecondParsing( true );
66 param.put( PARAM_PARSER, parser );
67 }
68
69
70
71
72
73
74 public File getBasedir()
75 {
76 return basedir;
77 }
78
79
80
81
82
83
84 public void setBasedir( File base )
85 {
86 this.basedir = base;
87 }
88
89
90
91
92
93
94 public Map<String, Object> getParameters()
95 {
96 return parameters;
97 }
98
99
100
101
102
103
104
105
106 public Object getParameter( String key )
107 {
108 return parameters.get( key );
109 }
110
111 public String getSourceContent()
112 {
113 return (String) getParameter( PARAM_SOURCE_CONTENT );
114 }
115
116 public Parser getParser()
117 {
118 return (Parser) getParameter( PARAM_PARSER );
119 }
120
121 public static boolean isInternalParameter( String name )
122 {
123 return PARAM_PARSER.equals( name ) || PARAM_SOURCE_CONTENT.equals( name );
124 }
125 }