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