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     * 
010     *         
011     *         The <code>&lt;exclusion&gt;</code> element contains
012     * informations required to exclude
013     *         an artifact to the project.
014     *         
015     *       
016     * 
017     * @version $Revision$ $Date$
018     */
019    @SuppressWarnings( "all" )
020    public class Exclusion
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 artifact ID of the project to exclude.
030         */
031        private String artifactId;
032    
033        /**
034         * The group ID of the project to exclude.
035         */
036        private String groupId;
037    
038        /**
039         * Field locations.
040         */
041        private java.util.Map<Object, InputLocation> locations;
042    
043    
044          //-----------/
045         //- Methods -/
046        //-----------/
047    
048        /**
049         * Method clone.
050         * 
051         * @return Exclusion
052         */
053        public Exclusion clone()
054        {
055            try
056            {
057                Exclusion copy = (Exclusion) super.clone();
058    
059                if ( copy.locations != null )
060                {
061                    copy.locations = new java.util.LinkedHashMap( copy.locations );
062                }
063    
064                return copy;
065            }
066            catch ( java.lang.Exception ex )
067            {
068                throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
069                    + " does not support clone()" ).initCause( ex );
070            }
071        } //-- Exclusion clone()
072    
073        /**
074         * Get the artifact ID of the project to exclude.
075         * 
076         * @return String
077         */
078        public String getArtifactId()
079        {
080            return this.artifactId;
081        } //-- String getArtifactId()
082    
083        /**
084         * Get the group ID of the project to exclude.
085         * 
086         * @return String
087         */
088        public String getGroupId()
089        {
090            return this.groupId;
091        } //-- String getGroupId()
092    
093        /**
094         * 
095         * 
096         * @param key
097         * @return InputLocation
098         */
099        public InputLocation getLocation( Object key )
100        {
101            return ( locations != null ) ? locations.get( key ) : null;
102        } //-- InputLocation getLocation( Object )
103    
104        /**
105         * Set the artifact ID of the project to exclude.
106         * 
107         * @param artifactId
108         */
109        public void setArtifactId( String artifactId )
110        {
111            this.artifactId = artifactId;
112        } //-- void setArtifactId( String )
113    
114        /**
115         * Set the group ID of the project to exclude.
116         * 
117         * @param groupId
118         */
119        public void setGroupId( String groupId )
120        {
121            this.groupId = groupId;
122        } //-- void setGroupId( String )
123    
124        /**
125         * 
126         * 
127         * @param key
128         * @param location
129         */
130        public void setLocation( Object key, InputLocation location )
131        {
132            if ( location != null )
133            {
134                if ( this.locations == null )
135                {
136                    this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
137                }
138                this.locations.put( key, location );
139            }
140        } //-- void setLocation( Object, InputLocation )
141    
142    }