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     * 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" )
020    public 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    }