1 package com.atlassian.plugin.impl;
2
3 import com.atlassian.plugin.PluginArtifact;
4 import com.atlassian.plugin.PluginArtifactBackedPlugin;
5 import com.atlassian.plugin.util.ClassLoaderUtils;
6
7 import java.io.InputStream;
8 import java.net.URL;
9
10
11
12
13
14
15 public class XmlDynamicPlugin extends AbstractPlugin implements PluginArtifactBackedPlugin
16 {
17 private final PluginArtifact pluginArtifact;
18
19 public XmlDynamicPlugin(PluginArtifact pluginArtifact)
20 {
21 this.pluginArtifact = pluginArtifact;
22 }
23
24 public boolean isUninstallable()
25 {
26 return true;
27 }
28
29 public boolean isDeleteable()
30 {
31 return true;
32 }
33
34 public boolean isDynamicallyLoaded()
35 {
36 return true;
37 }
38
39 public void close()
40 {}
41
42 public <M> Class<M> loadClass(final String clazz, final Class<?> callingClass) throws ClassNotFoundException
43 {
44 return ClassLoaderUtils.loadClass(clazz, callingClass);
45 }
46
47 public ClassLoader getClassLoader()
48 {
49 return getClass().getClassLoader();
50 }
51
52 public URL getResource(final String name)
53 {
54 return ClassLoaderUtils.getResource(name, getClass());
55 }
56
57 public InputStream getResourceAsStream(final String name)
58 {
59 return ClassLoaderUtils.getResourceAsStream(name, getClass());
60 }
61
62 public PluginArtifact getPluginArtifact()
63 {
64 return pluginArtifact;
65 }
66 }