001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.8.3,
003// any modifications will be overwritten.
004// ==============================================================
005
006package org.apache.maven.model;
007
008/**
009 * Describes the prerequisites a project can have.
010 * 
011 * @version $Revision$ $Date$
012 */
013@SuppressWarnings( "all" )
014public class Prerequisites
015    implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
016{
017
018      //--------------------------/
019     //- Class/Member Variables -/
020    //--------------------------/
021
022    /**
023     * 
024     *             For a plugin project, the minimum version of
025     * Maven required to use
026     *             the resulting plugin.<br />
027     *             For specifying the minimum version of Maven
028     * required to build a
029     *             project, this element is <b>deprecated</b>. Use
030     * the Maven Enforcer
031     *             Plugin's <a
032     * href="https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html"><code>requireMavenVersion</code></a>
033     *             rule instead.
034     *             
035     *           
036     */
037    private String maven = "2.0";
038
039    /**
040     * Field locations.
041     */
042    private java.util.Map<Object, InputLocation> locations;
043
044
045      //-----------/
046     //- Methods -/
047    //-----------/
048
049    /**
050     * Method clone.
051     * 
052     * @return Prerequisites
053     */
054    public Prerequisites clone()
055    {
056        try
057        {
058            Prerequisites copy = (Prerequisites) super.clone();
059
060            if ( copy.locations != null )
061            {
062                copy.locations = new java.util.LinkedHashMap( copy.locations );
063            }
064
065            return copy;
066        }
067        catch ( java.lang.Exception ex )
068        {
069            throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
070                + " does not support clone()" ).initCause( ex );
071        }
072    } //-- Prerequisites clone()
073
074    /**
075     * 
076     * 
077     * @param key
078     * @return InputLocation
079     */
080    public InputLocation getLocation( Object key )
081    {
082        return ( locations != null ) ? locations.get( key ) : null;
083    } //-- InputLocation getLocation( Object )
084
085    /**
086     * Get for a plugin project, the minimum version of Maven
087     * required to use
088     *             the resulting plugin.<br />
089     *             For specifying the minimum version of Maven
090     * required to build a
091     *             project, this element is <b>deprecated</b>. Use
092     * the Maven Enforcer
093     *             Plugin's <a
094     * href="https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html"><code>requireMavenVersion</code></a>
095     *             rule instead.
096     * 
097     * @return String
098     */
099    public String getMaven()
100    {
101        return this.maven;
102    } //-- String getMaven()
103
104    /**
105     * 
106     * 
107     * @param key
108     * @param location
109     */
110    public void setLocation( Object key, InputLocation location )
111    {
112        if ( location != null )
113        {
114            if ( this.locations == null )
115            {
116                this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
117            }
118            this.locations.put( key, location );
119        }
120    } //-- void setLocation( Object, InputLocation )
121
122    /**
123     * Set for a plugin project, the minimum version of Maven
124     * required to use
125     *             the resulting plugin.<br />
126     *             For specifying the minimum version of Maven
127     * required to build a
128     *             project, this element is <b>deprecated</b>. Use
129     * the Maven Enforcer
130     *             Plugin's <a
131     * href="https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html"><code>requireMavenVersion</code></a>
132     *             rule instead.
133     * 
134     * @param maven
135     */
136    public void setMaven( String maven )
137    {
138        this.maven = maven;
139    } //-- void setMaven( String )
140
141}