001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2012-01-20 18:09:18, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.model; 009 010 /** 011 * Section for management of reports and their configuration. 012 * 013 * @version $Revision$ $Date$ 014 */ 015 @SuppressWarnings( "all" ) 016 public class Reporting 017 implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker 018 { 019 020 //--------------------------/ 021 //- Class/Member Variables -/ 022 //--------------------------/ 023 024 /** 025 * 026 * 027 * If true, then the default reports are not 028 * included in the site generation. 029 * This includes the reports in the "Project Info" 030 * menu. Note: While the type 031 * of this field is <code>String</code> for 032 * technical reasons, the semantic type is actually 033 * <code>Boolean</code>. Default value is 034 * <code>false</code>. 035 * 036 * 037 */ 038 private String excludeDefaults; 039 040 /** 041 * 042 * 043 * Where to store all of the generated reports. The 044 * default is 045 * <code>${project.build.directory}/site</code> 046 * . 047 * 048 * 049 */ 050 private String outputDirectory; 051 052 /** 053 * Field plugins. 054 */ 055 private java.util.List<ReportPlugin> plugins; 056 057 /** 058 * Field locations. 059 */ 060 private java.util.Map<Object, InputLocation> locations; 061 062 063 //-----------/ 064 //- Methods -/ 065 //-----------/ 066 067 /** 068 * Method addPlugin. 069 * 070 * @param reportPlugin 071 */ 072 public void addPlugin( ReportPlugin reportPlugin ) 073 { 074 getPlugins().add( reportPlugin ); 075 } //-- void addPlugin( ReportPlugin ) 076 077 /** 078 * Method clone. 079 * 080 * @return Reporting 081 */ 082 public Reporting clone() 083 { 084 try 085 { 086 Reporting copy = (Reporting) super.clone(); 087 088 if ( this.plugins != null ) 089 { 090 copy.plugins = new java.util.ArrayList<ReportPlugin>(); 091 for ( ReportPlugin item : this.plugins ) 092 { 093 copy.plugins.add( ( (ReportPlugin) item).clone() ); 094 } 095 } 096 097 if ( copy.locations != null ) 098 { 099 copy.locations = new java.util.LinkedHashMap( copy.locations ); 100 } 101 102 return copy; 103 } 104 catch ( java.lang.Exception ex ) 105 { 106 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName() 107 + " does not support clone()" ).initCause( ex ); 108 } 109 } //-- Reporting clone() 110 111 /** 112 * Get if true, then the default reports are not included in 113 * the site generation. 114 * This includes the reports in the "Project Info" 115 * menu. Note: While the type 116 * of this field is <code>String</code> for 117 * technical reasons, the semantic type is actually 118 * <code>Boolean</code>. Default value is 119 * <code>false</code>. 120 * 121 * @return String 122 */ 123 public String getExcludeDefaults() 124 { 125 return this.excludeDefaults; 126 } //-- String getExcludeDefaults() 127 128 /** 129 * 130 * 131 * @param key 132 * @return InputLocation 133 */ 134 public InputLocation getLocation( Object key ) 135 { 136 return ( locations != null ) ? locations.get( key ) : null; 137 } //-- InputLocation getLocation( Object ) 138 139 /** 140 * Get where to store all of the generated reports. The default 141 * is 142 * <code>${project.build.directory}/site</code> 143 * . 144 * 145 * @return String 146 */ 147 public String getOutputDirectory() 148 { 149 return this.outputDirectory; 150 } //-- String getOutputDirectory() 151 152 /** 153 * Method getPlugins. 154 * 155 * @return List 156 */ 157 public java.util.List<ReportPlugin> getPlugins() 158 { 159 if ( this.plugins == null ) 160 { 161 this.plugins = new java.util.ArrayList<ReportPlugin>(); 162 } 163 164 return this.plugins; 165 } //-- java.util.List<ReportPlugin> getPlugins() 166 167 /** 168 * Method removePlugin. 169 * 170 * @param reportPlugin 171 */ 172 public void removePlugin( ReportPlugin reportPlugin ) 173 { 174 getPlugins().remove( reportPlugin ); 175 } //-- void removePlugin( ReportPlugin ) 176 177 /** 178 * Set if true, then the default reports are not included in 179 * the site generation. 180 * This includes the reports in the "Project Info" 181 * menu. Note: While the type 182 * of this field is <code>String</code> for 183 * technical reasons, the semantic type is actually 184 * <code>Boolean</code>. Default value is 185 * <code>false</code>. 186 * 187 * @param excludeDefaults 188 */ 189 public void setExcludeDefaults( String excludeDefaults ) 190 { 191 this.excludeDefaults = excludeDefaults; 192 } //-- void setExcludeDefaults( String ) 193 194 /** 195 * 196 * 197 * @param key 198 * @param location 199 */ 200 public void setLocation( Object key, InputLocation location ) 201 { 202 if ( location != null ) 203 { 204 if ( this.locations == null ) 205 { 206 this.locations = new java.util.LinkedHashMap<Object, InputLocation>(); 207 } 208 this.locations.put( key, location ); 209 } 210 } //-- void setLocation( Object, InputLocation ) 211 212 /** 213 * Set where to store all of the generated reports. The default 214 * is 215 * <code>${project.build.directory}/site</code> 216 * . 217 * 218 * @param outputDirectory 219 */ 220 public void setOutputDirectory( String outputDirectory ) 221 { 222 this.outputDirectory = outputDirectory; 223 } //-- void setOutputDirectory( String ) 224 225 /** 226 * Set the reporting plugins to use and their configuration. 227 * 228 * @param plugins 229 */ 230 public void setPlugins( java.util.List<ReportPlugin> plugins ) 231 { 232 this.plugins = plugins; 233 } //-- void setPlugins( java.util.List ) 234 235 236 237 public boolean isExcludeDefaults() 238 { 239 return ( excludeDefaults != null ) ? Boolean.parseBoolean( excludeDefaults ) : false; 240 } 241 242 public void setExcludeDefaults( boolean excludeDefaults ) 243 { 244 this.excludeDefaults = String.valueOf( excludeDefaults ); 245 } 246 247 java.util.Map<String, ReportPlugin> reportPluginMap; 248 249 /** 250 * Reset the <code>reportPluginMap</code> field to <code>null</code> 251 */ 252 public synchronized void flushReportPluginMap() 253 { 254 this.reportPluginMap = null; 255 } 256 257 /** 258 * @return a Map of plugins field with <code>ReportPlugin#getKey()</code> as key 259 * @see org.apache.maven.model.ReportPlugin#getKey() 260 */ 261 public synchronized java.util.Map<String, ReportPlugin> getReportPluginsAsMap() 262 { 263 if ( reportPluginMap == null ) 264 { 265 reportPluginMap = new java.util.LinkedHashMap<String, ReportPlugin>(); 266 if ( getPlugins() != null ) 267 { 268 for ( java.util.Iterator<ReportPlugin> it = getPlugins().iterator(); it.hasNext(); ) 269 { 270 ReportPlugin reportPlugin = (ReportPlugin) it.next(); 271 reportPluginMap.put( reportPlugin.getKey(), reportPlugin ); 272 } 273 } 274 } 275 276 return reportPluginMap; 277 } 278 279 280 }