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