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