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 * This is the file specification used to activate the profile. The
010 * missing value
011 *         will be the location of a file that needs to exist, and
012 * if it doesn't the profile will be
013 *         activated. On the other hand exists will test for the
014 * existence of the file and if it is
015 *         there the profile will be activated.
016 * 
017 * @version $Revision$ $Date$
018 */
019@SuppressWarnings( "all" )
020public class ActivationFile
021    implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
022{
023
024      //--------------------------/
025     //- Class/Member Variables -/
026    //--------------------------/
027
028    /**
029     * The name of the file that must be missing to activate the
030     *           profile.
031     */
032    private String missing;
033
034    /**
035     * The name of the file that must exist to activate the profile.
036     */
037    private String exists;
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 ActivationFile
053     */
054    public ActivationFile clone()
055    {
056        try
057        {
058            ActivationFile copy = (ActivationFile) 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    } //-- ActivationFile clone()
073
074    /**
075     * Get the name of the file that must exist to activate the
076     * profile.
077     * 
078     * @return String
079     */
080    public String getExists()
081    {
082        return this.exists;
083    } //-- String getExists()
084
085    /**
086     * 
087     * 
088     * @param key
089     * @return InputLocation
090     */
091    public InputLocation getLocation( Object key )
092    {
093        return ( locations != null ) ? locations.get( key ) : null;
094    } //-- InputLocation getLocation( Object )
095
096    /**
097     * Get the name of the file that must be missing to activate
098     * the
099     *           profile.
100     * 
101     * @return String
102     */
103    public String getMissing()
104    {
105        return this.missing;
106    } //-- String getMissing()
107
108    /**
109     * Set the name of the file that must exist to activate the
110     * profile.
111     * 
112     * @param exists
113     */
114    public void setExists( String exists )
115    {
116        this.exists = exists;
117    } //-- void setExists( String )
118
119    /**
120     * 
121     * 
122     * @param key
123     * @param location
124     */
125    public void setLocation( Object key, InputLocation location )
126    {
127        if ( location != null )
128        {
129            if ( this.locations == null )
130            {
131                this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
132            }
133            this.locations.put( key, location );
134        }
135    } //-- void setLocation( Object, InputLocation )
136
137    /**
138     * Set the name of the file that must be missing to activate
139     * the
140     *           profile.
141     * 
142     * @param missing
143     */
144    public void setMissing( String missing )
145    {
146        this.missing = missing;
147    } //-- void setMissing( String )
148
149}