001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.8.1,
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     * The minimum version of Maven required to build the project,
024     * or to use this
025     *             plugin.
026     */
027    private String maven = "2.0";
028
029    /**
030     * Field locations.
031     */
032    private java.util.Map<Object, InputLocation> locations;
033
034
035      //-----------/
036     //- Methods -/
037    //-----------/
038
039    /**
040     * Method clone.
041     * 
042     * @return Prerequisites
043     */
044    public Prerequisites clone()
045    {
046        try
047        {
048            Prerequisites copy = (Prerequisites) super.clone();
049
050            if ( copy.locations != null )
051            {
052                copy.locations = new java.util.LinkedHashMap( copy.locations );
053            }
054
055            return copy;
056        }
057        catch ( java.lang.Exception ex )
058        {
059            throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
060                + " does not support clone()" ).initCause( ex );
061        }
062    } //-- Prerequisites clone()
063
064    /**
065     * 
066     * 
067     * @param key
068     * @return InputLocation
069     */
070    public InputLocation getLocation( Object key )
071    {
072        return ( locations != null ) ? locations.get( key ) : null;
073    } //-- InputLocation getLocation( Object )
074
075    /**
076     * Get the minimum version of Maven required to build the
077     * project, or to use this
078     *             plugin.
079     * 
080     * @return String
081     */
082    public String getMaven()
083    {
084        return this.maven;
085    } //-- String getMaven()
086
087    /**
088     * 
089     * 
090     * @param key
091     * @param location
092     */
093    public void setLocation( Object key, InputLocation location )
094    {
095        if ( location != null )
096        {
097            if ( this.locations == null )
098            {
099                this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
100            }
101            this.locations.put( key, location );
102        }
103    } //-- void setLocation( Object, InputLocation )
104
105    /**
106     * Set the minimum version of Maven required to build the
107     * project, or to use this
108     *             plugin.
109     * 
110     * @param maven
111     */
112    public void setMaven( String maven )
113    {
114        this.maven = maven;
115    } //-- void setMaven( String )
116
117}