001 /*
002 =================== DO NOT EDIT THIS FILE ====================
003 Generated by Modello 1.4.1 on 2013-02-24 03:32:14,
004 any modifications will be overwritten.
005 ==============================================================
006 */
007
008 package org.apache.maven.model;
009
010 /**
011 *
012 *
013 * The <code><plugin></code> element contains
014 * informations required for a report plugin.
015 *
016 *
017 *
018 * @version $Revision$ $Date$
019 */
020 @SuppressWarnings( "all" )
021 public class ReportPlugin
022 extends ConfigurationContainer
023 implements java.io.Serializable, java.lang.Cloneable
024 {
025
026 //--------------------------/
027 //- Class/Member Variables -/
028 //--------------------------/
029
030 /**
031 * The group ID of the reporting plugin in the repository.
032 */
033 private String groupId = "org.apache.maven.plugins";
034
035 /**
036 * The artifact ID of the reporting plugin in the repository.
037 */
038 private String artifactId;
039
040 /**
041 * The version of the reporting plugin to be used.
042 */
043 private String version;
044
045 /**
046 * Field reportSets.
047 */
048 private java.util.List<ReportSet> reportSets;
049
050
051 //-----------/
052 //- Methods -/
053 //-----------/
054
055 /**
056 * Method addReportSet.
057 *
058 * @param reportSet
059 */
060 public void addReportSet( ReportSet reportSet )
061 {
062 getReportSets().add( reportSet );
063 } //-- void addReportSet( ReportSet )
064
065 /**
066 * Method clone.
067 *
068 * @return ReportPlugin
069 */
070 public ReportPlugin clone()
071 {
072 try
073 {
074 ReportPlugin copy = (ReportPlugin) super.clone();
075
076 if ( this.reportSets != null )
077 {
078 copy.reportSets = new java.util.ArrayList<ReportSet>();
079 for ( ReportSet item : this.reportSets )
080 {
081 copy.reportSets.add( ( (ReportSet) item).clone() );
082 }
083 }
084
085 return copy;
086 }
087 catch ( java.lang.Exception ex )
088 {
089 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
090 + " does not support clone()" ).initCause( ex );
091 }
092 } //-- ReportPlugin clone()
093
094 /**
095 * Get the artifact ID of the reporting plugin in the
096 * repository.
097 *
098 * @return String
099 */
100 public String getArtifactId()
101 {
102 return this.artifactId;
103 } //-- String getArtifactId()
104
105 /**
106 * Get the group ID of the reporting plugin in the repository.
107 *
108 * @return String
109 */
110 public String getGroupId()
111 {
112 return this.groupId;
113 } //-- String getGroupId()
114
115 /**
116 * Method getReportSets.
117 *
118 * @return List
119 */
120 public java.util.List<ReportSet> getReportSets()
121 {
122 if ( this.reportSets == null )
123 {
124 this.reportSets = new java.util.ArrayList<ReportSet>();
125 }
126
127 return this.reportSets;
128 } //-- java.util.List<ReportSet> getReportSets()
129
130 /**
131 * Get the version of the reporting plugin to be used.
132 *
133 * @return String
134 */
135 public String getVersion()
136 {
137 return this.version;
138 } //-- String getVersion()
139
140 /**
141 * Method removeReportSet.
142 *
143 * @param reportSet
144 */
145 public void removeReportSet( ReportSet reportSet )
146 {
147 getReportSets().remove( reportSet );
148 } //-- void removeReportSet( ReportSet )
149
150 /**
151 * Set the artifact ID of the reporting plugin in the
152 * repository.
153 *
154 * @param artifactId
155 */
156 public void setArtifactId( String artifactId )
157 {
158 this.artifactId = artifactId;
159 } //-- void setArtifactId( String )
160
161 /**
162 * Set the group ID of the reporting plugin in the repository.
163 *
164 * @param groupId
165 */
166 public void setGroupId( String groupId )
167 {
168 this.groupId = groupId;
169 } //-- void setGroupId( String )
170
171 /**
172 * Set multiple specifications of a set of reports, each having
173 * (possibly) different
174 * configuration. This is the reporting parallel to
175 * an <code>execution</code> in the build.
176 *
177 * @param reportSets
178 */
179 public void setReportSets( java.util.List<ReportSet> reportSets )
180 {
181 this.reportSets = reportSets;
182 } //-- void setReportSets( java.util.List )
183
184 /**
185 * Set the version of the reporting plugin to be used.
186 *
187 * @param version
188 */
189 public void setVersion( String version )
190 {
191 this.version = version;
192 } //-- void setVersion( String )
193
194
195
196 private java.util.Map<String, ReportSet> reportSetMap = null;
197
198 /**
199 * Reset the <code>reportSetMap</code> field to <code>null</code>
200 */
201 public void flushReportSetMap()
202 {
203 this.reportSetMap = null;
204 }
205
206 /**
207 * @return a Map of reportSets field with <code>ReportSet#getId()</code> as key
208 * @see org.apache.maven.model.ReportSet#getId()
209 */
210 public java.util.Map<String, ReportSet> getReportSetsAsMap()
211 {
212 if ( reportSetMap == null )
213 {
214 reportSetMap = new java.util.LinkedHashMap<String, ReportSet>();
215 if ( getReportSets() != null )
216 {
217 for ( java.util.Iterator<ReportSet> i = getReportSets().iterator(); i.hasNext(); )
218 {
219 ReportSet reportSet = (ReportSet) i.next();
220 reportSetMap.put( reportSet.getId(), reportSet );
221 }
222 }
223 }
224
225 return reportSetMap;
226 }
227
228 /**
229 * @return the key of the report plugin, ie <code>groupId:artifactId</code>
230 */
231 public String getKey()
232 {
233 return constructKey( groupId, artifactId );
234 }
235
236 /**
237 * @param groupId
238 * @param artifactId
239 * @return the key of the report plugin, ie <code>groupId:artifactId</code>
240 */
241 public static String constructKey( String groupId, String artifactId )
242 {
243 return groupId + ":" + artifactId;
244 }
245
246
247 }