1 package com.atlassian.plugin.osgi.factory.descriptor;
2
3 import com.atlassian.plugin.Permissions;
4 import com.atlassian.plugin.Plugin;
5 import com.atlassian.plugin.PluginParseException;
6 import com.atlassian.plugin.RequirePermission;
7 import com.atlassian.plugin.descriptors.AbstractModuleDescriptor;
8 import com.atlassian.plugin.descriptors.CannotDisable;
9 import com.atlassian.plugin.module.ModuleFactory;
10 import com.atlassian.plugin.osgi.module.BeanPrefixModuleFactory;
11 import com.atlassian.util.concurrent.NotNull;
12 import org.dom4j.Element;
13
14
15
16
17
18
19 @CannotDisable
20 @RequirePermission(Permissions.EXECUTE_JAVA)
21 public final class ComponentImportModuleDescriptor extends AbstractModuleDescriptor<Object>
22 {
23
24
25
26 public ComponentImportModuleDescriptor()
27 {
28 super(ModuleFactory.LEGACY_MODULE_FACTORY);
29 }
30
31 @Override
32 public void init(@NotNull Plugin plugin, @NotNull Element element) throws PluginParseException
33 {
34 super.init(plugin, element);
35 checkPermissions();
36 }
37
38 public Object getModule()
39 {
40 return new BeanPrefixModuleFactory().createModule(getKey(), this);
41 }
42 }