001 // =================== DO NOT EDIT THIS FILE ==================== 002 // Generated by Modello 1.7, 003 // any modifications will be overwritten. 004 // ============================================================== 005 006 package org.apache.maven.model; 007 008 /** 009 * Section for management of reports and their configuration. 010 * 011 * @version $Revision$ $Date$ 012 */ 013 @SuppressWarnings( "all" ) 014 public class Reporting 015 implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker 016 { 017 018 //--------------------------/ 019 //- Class/Member Variables -/ 020 //--------------------------/ 021 022 /** 023 * 024 * 025 * If true, then the default reports are not 026 * included in the site generation. 027 * This includes the reports in the "Project Info" 028 * menu. Note: While the type 029 * of this field is <code>String</code> for 030 * technical reasons, the semantic type is actually 031 * <code>Boolean</code>. Default value is 032 * <code>false</code>. 033 * 034 * 035 */ 036 private String excludeDefaults; 037 038 /** 039 * 040 * 041 * Where to store all of the generated reports. The 042 * default is 043 * <code>${project.build.directory}/site</code> 044 * . 045 * 046 * 047 */ 048 private String outputDirectory; 049 050 /** 051 * Field plugins. 052 */ 053 private java.util.List<ReportPlugin> plugins; 054 055 /** 056 * Field locations. 057 */ 058 private java.util.Map<Object, InputLocation> locations; 059 060 061 //-----------/ 062 //- Methods -/ 063 //-----------/ 064 065 /** 066 * Method addPlugin. 067 * 068 * @param reportPlugin 069 */ 070 public void addPlugin( ReportPlugin reportPlugin ) 071 { 072 getPlugins().add( reportPlugin ); 073 } //-- void addPlugin( ReportPlugin ) 074 075 /** 076 * Method clone. 077 * 078 * @return Reporting 079 */ 080 public Reporting clone() 081 { 082 try 083 { 084 Reporting copy = (Reporting) super.clone(); 085 086 if ( this.plugins != null ) 087 { 088 copy.plugins = new java.util.ArrayList<ReportPlugin>(); 089 for ( ReportPlugin item : this.plugins ) 090 { 091 copy.plugins.add( ( (ReportPlugin) item).clone() ); 092 } 093 } 094 095 if ( copy.locations != null ) 096 { 097 copy.locations = new java.util.LinkedHashMap( copy.locations ); 098 } 099 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 }