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