View Javadoc

1   package com.atlassian.plugin.impl;
2   
3   import com.atlassian.plugin.util.ClassLoaderUtils;
4   
5   import java.net.URL;
6   import java.io.InputStream;
7   
8   /**
9    * A dynamic XML plugin that consists of the Atlassian plugin descriptor
10   *
11   * @since 2.1.0
12   */
13  public class XmlDynamicPlugin extends AbstractPlugin implements DynamicPlugin
14  {
15      private boolean bundledPlugin;
16      private boolean deletable;
17  
18  
19      public boolean isBundledPlugin()
20      {
21          return bundledPlugin;
22      }
23  
24      public boolean isUninstallable()
25      {
26          return true;
27      }
28  
29      public boolean isDeleteable()
30      {
31          return deletable;
32      }
33  
34      public boolean isDynamicallyLoaded()
35      {
36          return true;
37      }
38  
39      public void close()
40      {
41      }
42  
43      public void setDeletable(boolean deletable)
44      {
45          this.deletable = deletable;
46      }
47  
48      public void setBundled(boolean bundled)
49      {
50          this.bundledPlugin = bundled;
51      }
52  
53      public Class<?> loadClass(String clazz, Class callingClass) throws ClassNotFoundException
54      {
55          return ClassLoaderUtils.loadClass(clazz, callingClass);
56      }
57  
58      public ClassLoader getClassLoader()
59      {
60          return getClass().getClassLoader();
61      }
62  
63      public URL getResource(String name)
64      {
65          return ClassLoaderUtils.getResource(name, getClass());
66      }
67  
68      public InputStream getResourceAsStream(String name)
69      {
70          return ClassLoaderUtils.getResourceAsStream(name, getClass());
71      }
72  }