View Javadoc

1   package com.atlassian.plugin.impl;
2   
3   import com.atlassian.annotations.ExperimentalApi;
4   import com.atlassian.plugin.InstallationMode;
5   import com.atlassian.plugin.ModuleDescriptor;
6   import com.atlassian.plugin.Plugin;
7   import com.atlassian.plugin.PluginInformation;
8   import com.atlassian.plugin.PluginState;
9   import com.atlassian.plugin.Resourced;
10  import com.atlassian.plugin.elements.ResourceDescriptor;
11  import com.atlassian.plugin.elements.ResourceLocation;
12  
13  import java.io.InputStream;
14  import java.net.URL;
15  import java.util.Collection;
16  import java.util.Date;
17  import java.util.List;
18  import java.util.Set;
19  
20  import static com.google.common.base.Preconditions.checkNotNull;
21  
22  /**
23   * Delegating plugin that supports easy wrapping
24   * 
25   * Note: this class has a natural ordering that is inconsistent with equals
26   * 
27   * @since 2.2.0
28   */
29  public abstract class AbstractDelegatingPlugin
30      implements Plugin, Plugin.Resolvable, Plugin.EnabledMetricsSource, Comparable<Plugin>
31  {
32      private final Plugin delegate;
33  
34      public AbstractDelegatingPlugin(final Plugin delegate)
35      {
36          this.delegate = checkNotNull(delegate);
37      }
38  
39      public int getPluginsVersion()
40      {
41          return delegate.getPluginsVersion();
42      }
43  
44      public void setPluginsVersion(final int version)
45      {
46          delegate.setPluginsVersion(version);
47      }
48  
49      public String getName()
50      {
51          return delegate.getName();
52      }
53  
54      public void setName(final String name)
55      {
56          delegate.setName(name);
57      }
58  
59      public String getI18nNameKey()
60      {
61          return delegate.getI18nNameKey();
62      }
63  
64      public void setI18nNameKey(final String i18nNameKey)
65      {
66          delegate.setI18nNameKey(i18nNameKey);
67      }
68  
69      public String getKey()
70      {
71          return delegate.getKey();
72      }
73  
74      public void setKey(final String aPackage)
75      {
76          delegate.setKey(aPackage);
77      }
78  
79      public void addModuleDescriptor(final ModuleDescriptor<?> moduleDescriptor)
80      {
81          delegate.addModuleDescriptor(moduleDescriptor);
82      }
83  
84      public Collection<ModuleDescriptor<?>> getModuleDescriptors()
85      {
86          return delegate.getModuleDescriptors();
87      }
88  
89      public ModuleDescriptor<?> getModuleDescriptor(final String key)
90      {
91          return delegate.getModuleDescriptor(key);
92      }
93  
94      public <M> List<ModuleDescriptor<M>> getModuleDescriptorsByModuleClass(final Class<M> moduleClass)
95      {
96          return delegate.getModuleDescriptorsByModuleClass(moduleClass);
97      }
98  
99      @Override
100     public InstallationMode getInstallationMode()
101     {
102         return delegate.getInstallationMode();
103     }
104 
105     public boolean isEnabledByDefault()
106     {
107         return delegate.isEnabledByDefault();
108     }
109 
110     public void setEnabledByDefault(final boolean enabledByDefault)
111     {
112         delegate.setEnabledByDefault(enabledByDefault);
113     }
114 
115     public PluginInformation getPluginInformation()
116     {
117         return delegate.getPluginInformation();
118     }
119 
120     public void setPluginInformation(final PluginInformation pluginInformation)
121     {
122         delegate.setPluginInformation(pluginInformation);
123     }
124 
125     public void setResources(final Resourced resources)
126     {
127         delegate.setResources(resources);
128     }
129 
130     public PluginState getPluginState()
131     {
132         return delegate.getPluginState();
133     }
134 
135     public boolean isEnabled()
136     {
137         return delegate.isEnabled();
138     }
139 
140     public boolean isSystemPlugin()
141     {
142         return delegate.isSystemPlugin();
143     }
144 
145     public boolean containsSystemModule()
146     {
147         return delegate.containsSystemModule();
148     }
149 
150     public void setSystemPlugin(final boolean system)
151     {
152         delegate.setSystemPlugin(system);
153     }
154 
155     public boolean isBundledPlugin()
156     {
157         return delegate.isBundledPlugin();
158     }
159 
160     public Date getDateLoaded()
161     {
162         return delegate.getDateLoaded();
163     }
164 
165     @Override
166     public Date getDateInstalled()
167     {
168         return delegate.getDateInstalled();
169     }
170 
171     @Override
172     @ExperimentalApi
173     public Date getDateEnabling()
174     {
175         return EnabledMetricsSource.Default.getDateEnabling(delegate);
176     }
177 
178     @Override
179     @ExperimentalApi
180     public Date getDateEnabled()
181     {
182         return EnabledMetricsSource.Default.getDateEnabled(delegate);
183     }
184 
185     public boolean isUninstallable()
186     {
187         return delegate.isUninstallable();
188     }
189 
190     public boolean isDeleteable()
191     {
192         return delegate.isDeleteable();
193     }
194 
195     public boolean isDynamicallyLoaded()
196     {
197         return delegate.isDynamicallyLoaded();
198     }
199 
200     public <T> Class<T> loadClass(final String clazz, final Class<?> callingClass) throws ClassNotFoundException
201     {
202         return delegate.loadClass(clazz, callingClass);
203     }
204 
205     public ClassLoader getClassLoader()
206     {
207         return delegate.getClassLoader();
208     }
209 
210     public URL getResource(final String path)
211     {
212         return delegate.getResource(path);
213     }
214 
215     public InputStream getResourceAsStream(final String name)
216     {
217         return delegate.getResourceAsStream(name);
218     }
219 
220     public void setEnabled(final boolean enabled)
221     {
222         delegate.setEnabled(enabled);
223     }
224 
225     public void close()
226     {
227         delegate.close();
228     }
229 
230     public void install()
231     {
232         delegate.install();
233     }
234 
235     public void uninstall()
236     {
237         delegate.uninstall();
238     }
239 
240     public void enable()
241     {
242         delegate.enable();
243     }
244 
245     public void disable()
246     {
247         delegate.disable();
248     }
249 
250     public Set<String> getRequiredPlugins()
251     {
252         return delegate.getRequiredPlugins();
253     }
254 
255     public List<ResourceDescriptor> getResourceDescriptors()
256     {
257         return delegate.getResourceDescriptors();
258     }
259 
260     public List<ResourceDescriptor> getResourceDescriptors(final String type)
261     {
262         return delegate.getResourceDescriptors(type);
263     }
264 
265     public ResourceDescriptor getResourceDescriptor(final String type, final String name)
266     {
267         return delegate.getResourceDescriptor(type, name);
268     }
269 
270     public ResourceLocation getResourceLocation(final String type, final String name)
271     {
272         return delegate.getResourceLocation(type, name);
273     }
274 
275     public int compareTo(final Plugin o)
276     {
277         return delegate.compareTo(o);
278     }
279 
280     public Plugin getDelegate()
281     {
282         return delegate;
283     }
284 
285     @Override
286     public String toString()
287     {
288         return delegate.toString();
289     }
290 
291     public Set<String> getActivePermissions()
292     {
293         return delegate.getActivePermissions();
294     }
295 
296     @Override
297     public boolean hasAllPermissions()
298     {
299         return delegate.hasAllPermissions();
300     }
301 
302     @Override
303     public void resolve()
304     {
305         Resolvable.Default.resolve(delegate);
306     }
307 }