View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 1.8.1,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.apache.maven.model;
7   
8   /**
9    * Section for management of reports and their configuration.
10   * 
11   * @version $Revision$ $Date$
12   */
13  @SuppressWarnings( "all" )
14  public class Reporting
15      implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
16  {
17  
18        //--------------------------/
19       //- Class/Member Variables -/
20      //--------------------------/
21  
22      /**
23       * 
24       *             
25       *             If true, then the default reports are not
26       * included in the site generation.
27       *             This includes the reports in the "Project Info"
28       * menu. Note: While the type
29       *             of this field is <code>String</code> for
30       * technical reasons, the semantic type is actually
31       *             <code>Boolean</code>. Default value is
32       * <code>false</code>.
33       *             
34       *           
35       */
36      private String excludeDefaults;
37  
38      /**
39       * 
40       *             
41       *             Where to store all of the generated reports. The
42       * default is
43       *             <code>${project.build.directory}/site</code>
44       *             .
45       *             
46       *           
47       */
48      private String outputDirectory;
49  
50      /**
51       * Field plugins.
52       */
53      private java.util.List<ReportPlugin> plugins;
54  
55      /**
56       * Field locations.
57       */
58      private java.util.Map<Object, InputLocation> locations;
59  
60  
61        //-----------/
62       //- Methods -/
63      //-----------/
64  
65      /**
66       * Method addPlugin.
67       * 
68       * @param reportPlugin
69       */
70      public void addPlugin( ReportPlugin reportPlugin )
71      {
72          getPlugins().add( reportPlugin );
73      } //-- void addPlugin( ReportPlugin )
74  
75      /**
76       * Method clone.
77       * 
78       * @return Reporting
79       */
80      public Reporting clone()
81      {
82          try
83          {
84              Reporting copy = (Reporting) super.clone();
85  
86              if ( this.plugins != null )
87              {
88                  copy.plugins = new java.util.ArrayList<ReportPlugin>();
89                  for ( ReportPlugin item : this.plugins )
90                  {
91                      copy.plugins.add( ( (ReportPlugin) item).clone() );
92                  }
93              }
94  
95              if ( copy.locations != null )
96              {
97                  copy.locations = new java.util.LinkedHashMap( copy.locations );
98              }
99  
100             return copy;
101         }
102         catch ( java.lang.Exception ex )
103         {
104             throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
105                 + " does not support clone()" ).initCause( ex );
106         }
107     } //-- Reporting clone()
108 
109     /**
110      * Get if true, then the default reports are not included in
111      * the site generation.
112      *             This includes the reports in the "Project Info"
113      * menu. Note: While the type
114      *             of this field is <code>String</code> for
115      * technical reasons, the semantic type is actually
116      *             <code>Boolean</code>. Default value is
117      * <code>false</code>.
118      * 
119      * @return String
120      */
121     public String getExcludeDefaults()
122     {
123         return this.excludeDefaults;
124     } //-- String getExcludeDefaults()
125 
126     /**
127      * 
128      * 
129      * @param key
130      * @return InputLocation
131      */
132     public InputLocation getLocation( Object key )
133     {
134         return ( locations != null ) ? locations.get( key ) : null;
135     } //-- InputLocation getLocation( Object )
136 
137     /**
138      * Get where to store all of the generated reports. The default
139      * is
140      *             <code>${project.build.directory}/site</code>
141      *             .
142      * 
143      * @return String
144      */
145     public String getOutputDirectory()
146     {
147         return this.outputDirectory;
148     } //-- String getOutputDirectory()
149 
150     /**
151      * Method getPlugins.
152      * 
153      * @return List
154      */
155     public java.util.List<ReportPlugin> getPlugins()
156     {
157         if ( this.plugins == null )
158         {
159             this.plugins = new java.util.ArrayList<ReportPlugin>();
160         }
161 
162         return this.plugins;
163     } //-- java.util.List<ReportPlugin> getPlugins()
164 
165     /**
166      * Method removePlugin.
167      * 
168      * @param reportPlugin
169      */
170     public void removePlugin( ReportPlugin reportPlugin )
171     {
172         getPlugins().remove( reportPlugin );
173     } //-- void removePlugin( ReportPlugin )
174 
175     /**
176      * Set if true, then the default reports are not included in
177      * the site generation.
178      *             This includes the reports in the "Project Info"
179      * menu. Note: While the type
180      *             of this field is <code>String</code> for
181      * technical reasons, the semantic type is actually
182      *             <code>Boolean</code>. Default value is
183      * <code>false</code>.
184      * 
185      * @param excludeDefaults
186      */
187     public void setExcludeDefaults( String excludeDefaults )
188     {
189         this.excludeDefaults = excludeDefaults;
190     } //-- void setExcludeDefaults( String )
191 
192     /**
193      * 
194      * 
195      * @param key
196      * @param location
197      */
198     public void setLocation( Object key, InputLocation location )
199     {
200         if ( location != null )
201         {
202             if ( this.locations == null )
203             {
204                 this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
205             }
206             this.locations.put( key, location );
207         }
208     } //-- void setLocation( Object, InputLocation )
209 
210     /**
211      * Set where to store all of the generated reports. The default
212      * is
213      *             <code>${project.build.directory}/site</code>
214      *             .
215      * 
216      * @param outputDirectory
217      */
218     public void setOutputDirectory( String outputDirectory )
219     {
220         this.outputDirectory = outputDirectory;
221     } //-- void setOutputDirectory( String )
222 
223     /**
224      * Set the reporting plugins to use and their configuration.
225      * 
226      * @param plugins
227      */
228     public void setPlugins( java.util.List<ReportPlugin> plugins )
229     {
230         this.plugins = plugins;
231     } //-- void setPlugins( java.util.List )
232 
233     
234             
235     public boolean isExcludeDefaults()
236     {
237         return ( excludeDefaults != null ) ? Boolean.parseBoolean( excludeDefaults ) : false;
238     }
239 
240     public void setExcludeDefaults( boolean excludeDefaults )
241     {
242         this.excludeDefaults = String.valueOf( excludeDefaults );
243     }
244 
245     java.util.Map<String, ReportPlugin> reportPluginMap;
246 
247     /**
248      * Reset the <code>reportPluginMap</code> field to <code>null</code>
249      */
250     public synchronized void flushReportPluginMap()
251     {
252         this.reportPluginMap = null;
253     }
254 
255     /**
256      * @return a Map of plugins field with <code>ReportPlugin#getKey()</code> as key
257      * @see org.apache.maven.model.ReportPlugin#getKey()
258      */
259     public synchronized java.util.Map<String, ReportPlugin> getReportPluginsAsMap()
260     {
261         if ( reportPluginMap == null )
262         {
263             reportPluginMap = new java.util.LinkedHashMap<String, ReportPlugin>();
264             if ( getPlugins() != null )
265             {
266                 for ( java.util.Iterator<ReportPlugin> it = getPlugins().iterator(); it.hasNext(); )
267                 {
268                     ReportPlugin reportPlugin = (ReportPlugin) it.next();
269                     reportPluginMap.put( reportPlugin.getKey(), reportPlugin );
270                 }
271             }
272         }
273 
274         return reportPluginMap;
275     }
276             
277           
278 }