View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.4.1 on 2012-01-20 18:09:18,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.model;
9   
10  /**
11   * Contains the plugins informations for the project.
12   * 
13   * @version $Revision$ $Date$
14   */
15  @SuppressWarnings( "all" )
16  public class PluginContainer
17      implements java.io.Serializable, java.lang.Cloneable, org.apache.maven.model.InputLocationTracker
18  {
19  
20        //--------------------------/
21       //- Class/Member Variables -/
22      //--------------------------/
23  
24      /**
25       * Field plugins.
26       */
27      private java.util.List<Plugin> plugins;
28  
29      /**
30       * Field locations.
31       */
32      private java.util.Map<Object, InputLocation> locations;
33  
34  
35        //-----------/
36       //- Methods -/
37      //-----------/
38  
39      /**
40       * Method addPlugin.
41       * 
42       * @param plugin
43       */
44      public void addPlugin( Plugin plugin )
45      {
46          getPlugins().add( plugin );
47      } //-- void addPlugin( Plugin )
48  
49      /**
50       * Method clone.
51       * 
52       * @return PluginContainer
53       */
54      public PluginContainer clone()
55      {
56          try
57          {
58              PluginContainer copy = (PluginContainer) super.clone();
59  
60              if ( this.plugins != null )
61              {
62                  copy.plugins = new java.util.ArrayList<Plugin>();
63                  for ( Plugin item : this.plugins )
64                  {
65                      copy.plugins.add( ( (Plugin) item).clone() );
66                  }
67              }
68  
69              if ( copy.locations != null )
70              {
71                  copy.locations = new java.util.LinkedHashMap( copy.locations );
72              }
73  
74              return copy;
75          }
76          catch ( java.lang.Exception ex )
77          {
78              throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
79                  + " does not support clone()" ).initCause( ex );
80          }
81      } //-- PluginContainer clone()
82  
83      /**
84       * 
85       * 
86       * @param key
87       * @return InputLocation
88       */
89      public InputLocation getLocation( Object key )
90      {
91          return ( locations != null ) ? locations.get( key ) : null;
92      } //-- InputLocation getLocation( Object )
93  
94      /**
95       * Method getPlugins.
96       * 
97       * @return List
98       */
99      public java.util.List<Plugin> getPlugins()
100     {
101         if ( this.plugins == null )
102         {
103             this.plugins = new java.util.ArrayList<Plugin>();
104         }
105 
106         return this.plugins;
107     } //-- java.util.List<Plugin> getPlugins()
108 
109     /**
110      * Method removePlugin.
111      * 
112      * @param plugin
113      */
114     public void removePlugin( Plugin plugin )
115     {
116         getPlugins().remove( plugin );
117     } //-- void removePlugin( Plugin )
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 list of plugins to use.
139      * 
140      * @param plugins
141      */
142     public void setPlugins( java.util.List<Plugin> plugins )
143     {
144         this.plugins = plugins;
145     } //-- void setPlugins( java.util.List )
146 
147     
148             
149     java.util.Map<String, Plugin> pluginMap;
150 
151     /**
152      * Reset the <code>pluginsMap</code> field to <code>null</code>
153      */
154     public synchronized void flushPluginMap()
155     {
156         this.pluginMap = null;
157     }
158 
159     /**
160      * @return a Map of plugins field with <code>Plugins#getKey()</code> as key
161      * @see org.apache.maven.model.Plugin#getKey()
162      */
163     public synchronized java.util.Map<String, Plugin> getPluginsAsMap()
164     {
165         if ( pluginMap == null )
166         {
167             pluginMap = new java.util.LinkedHashMap<String, Plugin>();
168             if ( plugins != null )
169             {
170                 for ( java.util.Iterator<Plugin> it = plugins.iterator(); it.hasNext(); )
171                 {
172                     Plugin plugin = (Plugin) it.next();
173                     pluginMap.put( plugin.getKey(), plugin );
174                 }
175             }
176         }
177 
178         return pluginMap;
179     }
180             
181           
182 }