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 * Contains the configuration information of the container like
010 * Plugin.
011 *
012 * @version $Revision$ $Date$
013 */
014 @SuppressWarnings( "all" )
015 public class ConfigurationContainer
016 implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
017 {
018
019 //--------------------------/
020 //- Class/Member Variables -/
021 //--------------------------/
022
023 /**
024 *
025 *
026 * Whether any configuration should be propagated
027 * to child POMs. Note: While the type
028 * of this field is <code>String</code> for
029 * technical reasons, the semantic type is actually
030 * <code>Boolean</code>. Default value is
031 * <code>true</code>.
032 *
033 *
034 */
035 private String inherited;
036
037 /**
038 *
039 *
040 * <p>The configuration as DOM object.</p>
041 * <p>By default, every element content is trimmed,
042 * but starting with Maven 3.1.0, you can add
043 * <code>xml:space="preserve"</code> to elements
044 * you want to preserve whitespace.</p>
045 * <p>You can control how child POMs inherit
046 * configuration from parent POMs by adding
047 * <code>combine.children</code>
048 * or <code>combine.self</code> attributes to the
049 * children of the configuration element:</p>
050 * <ul>
051 * <li><code>combine.children</code>: available
052 * values are <code>merge</code> (default) and
053 * <code>append</code>,</li>
054 * <li><code>combine.self</code>: available values
055 * are <code>merge</code> (default) and
056 * <code>override</code>.</li>
057 * </ul>
058 * <p>See <a
059 * href="http://maven.apache.org/pom.html#Plugins">POM
060 * Reference documentation</a> and
061 * <a
062 * href="http://plexus.codehaus.org/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a>
063 * for more information.</p>
064 *
065 *
066 */
067 private Object configuration;
068
069 /**
070 * Field locations.
071 */
072 private java.util.Map<Object, InputLocation> locations;
073
074
075 //-----------/
076 //- Methods -/
077 //-----------/
078
079 /**
080 * Method clone.
081 *
082 * @return ConfigurationContainer
083 */
084 public ConfigurationContainer clone()
085 {
086 try
087 {
088 ConfigurationContainer copy = (ConfigurationContainer) super.clone();
089
090 if ( this.configuration != null )
091 {
092 copy.configuration = new org.codehaus.plexus.util.xml.Xpp3Dom( (org.codehaus.plexus.util.xml.Xpp3Dom) this.configuration );
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 } //-- ConfigurationContainer clone()
108
109 /**
110 * Get <p>The configuration as DOM object.</p>
111 * <p>By default, every element content is trimmed,
112 * but starting with Maven 3.1.0, you can add
113 * <code>xml:space="preserve"</code> to elements
114 * you want to preserve whitespace.</p>
115 * <p>You can control how child POMs inherit
116 * configuration from parent POMs by adding
117 * <code>combine.children</code>
118 * or <code>combine.self</code> attributes to the
119 * children of the configuration element:</p>
120 * <ul>
121 * <li><code>combine.children</code>: available
122 * values are <code>merge</code> (default) and
123 * <code>append</code>,</li>
124 * <li><code>combine.self</code>: available values
125 * are <code>merge</code> (default) and
126 * <code>override</code>.</li>
127 * </ul>
128 * <p>See <a
129 * href="http://maven.apache.org/pom.html#Plugins">POM
130 * Reference documentation</a> and
131 * <a
132 * href="http://plexus.codehaus.org/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a>
133 * for more information.</p>
134 *
135 * @return Object
136 */
137 public Object getConfiguration()
138 {
139 return this.configuration;
140 } //-- Object getConfiguration()
141
142 /**
143 * Get whether any configuration should be propagated to child
144 * POMs. Note: While the type
145 * of this field is <code>String</code> for
146 * technical reasons, the semantic type is actually
147 * <code>Boolean</code>. Default value is
148 * <code>true</code>.
149 *
150 * @return String
151 */
152 public String getInherited()
153 {
154 return this.inherited;
155 } //-- String getInherited()
156
157 /**
158 *
159 *
160 * @param key
161 * @return InputLocation
162 */
163 public InputLocation getLocation( Object key )
164 {
165 return ( locations != null ) ? locations.get( key ) : null;
166 } //-- InputLocation getLocation( Object )
167
168 /**
169 * Set <p>The configuration as DOM object.</p>
170 * <p>By default, every element content is trimmed,
171 * but starting with Maven 3.1.0, you can add
172 * <code>xml:space="preserve"</code> to elements
173 * you want to preserve whitespace.</p>
174 * <p>You can control how child POMs inherit
175 * configuration from parent POMs by adding
176 * <code>combine.children</code>
177 * or <code>combine.self</code> attributes to the
178 * children of the configuration element:</p>
179 * <ul>
180 * <li><code>combine.children</code>: available
181 * values are <code>merge</code> (default) and
182 * <code>append</code>,</li>
183 * <li><code>combine.self</code>: available values
184 * are <code>merge</code> (default) and
185 * <code>override</code>.</li>
186 * </ul>
187 * <p>See <a
188 * href="http://maven.apache.org/pom.html#Plugins">POM
189 * Reference documentation</a> and
190 * <a
191 * href="http://plexus.codehaus.org/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a>
192 * for more information.</p>
193 *
194 * @param configuration
195 */
196 public void setConfiguration( Object configuration )
197 {
198 this.configuration = configuration;
199 } //-- void setConfiguration( Object )
200
201 /**
202 * Set whether any configuration should be propagated to child
203 * POMs. Note: While the type
204 * of this field is <code>String</code> for
205 * technical reasons, the semantic type is actually
206 * <code>Boolean</code>. Default value is
207 * <code>true</code>.
208 *
209 * @param inherited
210 */
211 public void setInherited( String inherited )
212 {
213 this.inherited = inherited;
214 } //-- void setInherited( String )
215
216 /**
217 *
218 *
219 * @param key
220 * @param location
221 */
222 public void setLocation( Object key, InputLocation location )
223 {
224 if ( location != null )
225 {
226 if ( this.locations == null )
227 {
228 this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
229 }
230 this.locations.put( key, location );
231 }
232 } //-- void setLocation( Object, InputLocation )
233
234
235
236 public boolean isInherited()
237 {
238 return ( inherited != null ) ? Boolean.parseBoolean( inherited ) : true;
239 }
240
241 public void setInherited( boolean inherited )
242 {
243 this.inherited = String.valueOf( inherited );
244 }
245
246 private boolean inheritanceApplied = true;
247
248 public void unsetInheritanceApplied()
249 {
250 this.inheritanceApplied = false;
251 }
252
253 public boolean isInheritanceApplied()
254 {
255 return inheritanceApplied;
256 }
257
258
259 }