001 /*
002 =================== DO NOT EDIT THIS FILE ====================
003 Generated by Modello 1.4.1 on 2012-01-20 18:05:12,
004 any modifications will be overwritten.
005 ==============================================================
006 */
007
008 package org.apache.maven.model;
009
010 /**
011 *
012 *
013 * The <code><build></code> element contains
014 * informations required to build the project.
015 *
016 *
017 *
018 * @version $Revision$ $Date$
019 */
020 @SuppressWarnings( "all" )
021 public class Build
022 extends BuildBase
023 implements java.io.Serializable, java.lang.Cloneable
024 {
025
026 //--------------------------/
027 //- Class/Member Variables -/
028 //--------------------------/
029
030 /**
031 * This element specifies a directory containing the source of
032 * the project. The
033 * generated build system will compile the source
034 * in this directory when the project is
035 * built. The path given is relative to the project
036 * descriptor.
037 */
038 private String sourceDirectory;
039
040 /**
041 * This element specifies a directory containing the script
042 * sources of the
043 * project. This directory is meant to be different
044 * from the sourceDirectory, in that its
045 * contents will be copied to the output directory
046 * in most cases (since scripts are
047 * interpreted rather than compiled).
048 */
049 private String scriptSourceDirectory;
050
051 /**
052 * This element specifies a directory containing the unit test
053 * source of the
054 * project. The generated build system will compile
055 * these directories when the project is
056 * being tested. The path given is relative to the
057 * project descriptor.
058 */
059 private String testSourceDirectory;
060
061 /**
062 * The directory where compiled application classes are placed.
063 */
064 private String outputDirectory;
065
066 /**
067 * The directory where compiled test classes are placed.
068 */
069 private String testOutputDirectory;
070
071 /**
072 * Field extensions.
073 */
074 private java.util.List<Extension> extensions;
075
076
077 //-----------/
078 //- Methods -/
079 //-----------/
080
081 /**
082 * Method addExtension.
083 *
084 * @param extension
085 */
086 public void addExtension( Extension extension )
087 {
088 getExtensions().add( extension );
089 } //-- void addExtension( Extension )
090
091 /**
092 * Method clone.
093 *
094 * @return Build
095 */
096 public Build clone()
097 {
098 try
099 {
100 Build copy = (Build) super.clone();
101
102 if ( this.extensions != null )
103 {
104 copy.extensions = new java.util.ArrayList<Extension>();
105 for ( Extension item : this.extensions )
106 {
107 copy.extensions.add( ( (Extension) item).clone() );
108 }
109 }
110
111 return copy;
112 }
113 catch ( java.lang.Exception ex )
114 {
115 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
116 + " does not support clone()" ).initCause( ex );
117 }
118 } //-- Build clone()
119
120 /**
121 * Method getExtensions.
122 *
123 * @return List
124 */
125 public java.util.List<Extension> getExtensions()
126 {
127 if ( this.extensions == null )
128 {
129 this.extensions = new java.util.ArrayList<Extension>();
130 }
131
132 return this.extensions;
133 } //-- java.util.List<Extension> getExtensions()
134
135 /**
136 * Get the directory where compiled application classes are
137 * placed.
138 *
139 * @return String
140 */
141 public String getOutputDirectory()
142 {
143 return this.outputDirectory;
144 } //-- String getOutputDirectory()
145
146 /**
147 * Get this element specifies a directory containing the script
148 * sources of the
149 * project. This directory is meant to be different
150 * from the sourceDirectory, in that its
151 * contents will be copied to the output directory
152 * in most cases (since scripts are
153 * interpreted rather than compiled).
154 *
155 * @return String
156 */
157 public String getScriptSourceDirectory()
158 {
159 return this.scriptSourceDirectory;
160 } //-- String getScriptSourceDirectory()
161
162 /**
163 * Get this element specifies a directory containing the source
164 * of the project. The
165 * generated build system will compile the source
166 * in this directory when the project is
167 * built. The path given is relative to the project
168 * descriptor.
169 *
170 * @return String
171 */
172 public String getSourceDirectory()
173 {
174 return this.sourceDirectory;
175 } //-- String getSourceDirectory()
176
177 /**
178 * Get the directory where compiled test classes are placed.
179 *
180 * @return String
181 */
182 public String getTestOutputDirectory()
183 {
184 return this.testOutputDirectory;
185 } //-- String getTestOutputDirectory()
186
187 /**
188 * Get this element specifies a directory containing the unit
189 * test source of the
190 * project. The generated build system will compile
191 * these directories when the project is
192 * being tested. The path given is relative to the
193 * project descriptor.
194 *
195 * @return String
196 */
197 public String getTestSourceDirectory()
198 {
199 return this.testSourceDirectory;
200 } //-- String getTestSourceDirectory()
201
202 /**
203 * Method removeExtension.
204 *
205 * @param extension
206 */
207 public void removeExtension( Extension extension )
208 {
209 getExtensions().remove( extension );
210 } //-- void removeExtension( Extension )
211
212 /**
213 * Set a set of build extensions to use from this project.
214 *
215 * @param extensions
216 */
217 public void setExtensions( java.util.List<Extension> extensions )
218 {
219 this.extensions = extensions;
220 } //-- void setExtensions( java.util.List )
221
222 /**
223 * Set the directory where compiled application classes are
224 * placed.
225 *
226 * @param outputDirectory
227 */
228 public void setOutputDirectory( String outputDirectory )
229 {
230 this.outputDirectory = outputDirectory;
231 } //-- void setOutputDirectory( String )
232
233 /**
234 * Set this element specifies a directory containing the script
235 * sources of the
236 * project. This directory is meant to be different
237 * from the sourceDirectory, in that its
238 * contents will be copied to the output directory
239 * in most cases (since scripts are
240 * interpreted rather than compiled).
241 *
242 * @param scriptSourceDirectory
243 */
244 public void setScriptSourceDirectory( String scriptSourceDirectory )
245 {
246 this.scriptSourceDirectory = scriptSourceDirectory;
247 } //-- void setScriptSourceDirectory( String )
248
249 /**
250 * Set this element specifies a directory containing the source
251 * of the project. The
252 * generated build system will compile the source
253 * in this directory when the project is
254 * built. The path given is relative to the project
255 * descriptor.
256 *
257 * @param sourceDirectory
258 */
259 public void setSourceDirectory( String sourceDirectory )
260 {
261 this.sourceDirectory = sourceDirectory;
262 } //-- void setSourceDirectory( String )
263
264 /**
265 * Set the directory where compiled test classes are placed.
266 *
267 * @param testOutputDirectory
268 */
269 public void setTestOutputDirectory( String testOutputDirectory )
270 {
271 this.testOutputDirectory = testOutputDirectory;
272 } //-- void setTestOutputDirectory( String )
273
274 /**
275 * Set this element specifies a directory containing the unit
276 * test source of the
277 * project. The generated build system will compile
278 * these directories when the project is
279 * being tested. The path given is relative to the
280 * project descriptor.
281 *
282 * @param testSourceDirectory
283 */
284 public void setTestSourceDirectory( String testSourceDirectory )
285 {
286 this.testSourceDirectory = testSourceDirectory;
287 } //-- void setTestSourceDirectory( String )
288
289 }