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 * Definition of include or exclude patterns.
010 * 
011 * @version $Revision$ $Date$
012 */
013@SuppressWarnings( "all" )
014public class PatternSet
015    implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
016{
017
018      //--------------------------/
019     //- Class/Member Variables -/
020    //--------------------------/
021
022    /**
023     * Field includes.
024     */
025    private java.util.List<String> includes;
026
027    /**
028     * Field excludes.
029     */
030    private java.util.List<String> excludes;
031
032    /**
033     * Field locations.
034     */
035    private java.util.Map<Object, InputLocation> locations;
036
037
038      //-----------/
039     //- Methods -/
040    //-----------/
041
042    /**
043     * Method addExclude.
044     * 
045     * @param string
046     */
047    public void addExclude( String string )
048    {
049        getExcludes().add( string );
050    } //-- void addExclude( String )
051
052    /**
053     * Method addInclude.
054     * 
055     * @param string
056     */
057    public void addInclude( String string )
058    {
059        getIncludes().add( string );
060    } //-- void addInclude( String )
061
062    /**
063     * Method clone.
064     * 
065     * @return PatternSet
066     */
067    public PatternSet clone()
068    {
069        try
070        {
071            PatternSet copy = (PatternSet) super.clone();
072
073            if ( this.includes != null )
074            {
075                copy.includes = new java.util.ArrayList<String>();
076                copy.includes.addAll( this.includes );
077            }
078
079            if ( this.excludes != null )
080            {
081                copy.excludes = new java.util.ArrayList<String>();
082                copy.excludes.addAll( this.excludes );
083            }
084
085            if ( copy.locations != null )
086            {
087                copy.locations = new java.util.LinkedHashMap( copy.locations );
088            }
089
090            return copy;
091        }
092        catch ( java.lang.Exception ex )
093        {
094            throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
095                + " does not support clone()" ).initCause( ex );
096        }
097    } //-- PatternSet clone()
098
099    /**
100     * Method getExcludes.
101     * 
102     * @return List
103     */
104    public java.util.List<String> getExcludes()
105    {
106        if ( this.excludes == null )
107        {
108            this.excludes = new java.util.ArrayList<String>();
109        }
110
111        return this.excludes;
112    } //-- java.util.List<String> getExcludes()
113
114    /**
115     * Method getIncludes.
116     * 
117     * @return List
118     */
119    public java.util.List<String> getIncludes()
120    {
121        if ( this.includes == null )
122        {
123            this.includes = new java.util.ArrayList<String>();
124        }
125
126        return this.includes;
127    } //-- java.util.List<String> getIncludes()
128
129    /**
130     * 
131     * 
132     * @param key
133     * @return InputLocation
134     */
135    public InputLocation getLocation( Object key )
136    {
137        return ( locations != null ) ? locations.get( key ) : null;
138    } //-- InputLocation getLocation( Object )
139
140    /**
141     * Method removeExclude.
142     * 
143     * @param string
144     */
145    public void removeExclude( String string )
146    {
147        getExcludes().remove( string );
148    } //-- void removeExclude( String )
149
150    /**
151     * Method removeInclude.
152     * 
153     * @param string
154     */
155    public void removeInclude( String string )
156    {
157        getIncludes().remove( string );
158    } //-- void removeInclude( String )
159
160    /**
161     * Set a list of patterns to exclude, e.g.
162     * <code>**&#47;*.xml</code>
163     * 
164     * @param excludes
165     */
166    public void setExcludes( java.util.List<String> excludes )
167    {
168        this.excludes = excludes;
169    } //-- void setExcludes( java.util.List )
170
171    /**
172     * Set a list of patterns to include, e.g.
173     * <code>**&#47;*.xml</code>.
174     * 
175     * @param includes
176     */
177    public void setIncludes( java.util.List<String> includes )
178    {
179        this.includes = includes;
180    } //-- void setIncludes( java.util.List )
181
182    /**
183     * 
184     * 
185     * @param key
186     * @param location
187     */
188    public void setLocation( Object key, InputLocation location )
189    {
190        if ( location != null )
191        {
192            if ( this.locations == null )
193            {
194                this.locations = new java.util.LinkedHashMap<Object, InputLocation>();
195            }
196            this.locations.put( key, location );
197        }
198    } //-- void setLocation( Object, InputLocation )
199
200    
201            
202    /**
203     * @see java.lang.Object#toString()
204     */
205    public String toString()
206    {
207        StringBuilder sb = new StringBuilder( 128 );
208
209        sb.append("PatternSet [includes: {");
210        for (java.util.Iterator i = getIncludes().iterator(); i.hasNext(); )
211        {
212            String str = (String) i.next();
213            sb.append(str).append(", ");
214        }
215        if (sb.substring(sb.length() - 2).equals(", ")) sb.delete(sb.length() - 2, sb.length());
216
217        sb.append("}, excludes: {");
218        for (java.util.Iterator i = getExcludes().iterator(); i.hasNext(); )
219        {
220            String str = (String) i.next();
221            sb.append(str).append(", ");
222        }
223        if (sb.substring(sb.length() - 2).equals(", ")) sb.delete(sb.length() - 2, sb.length());
224
225        sb.append("}]");
226        return sb.toString();
227    }
228            
229          
230}