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 org.dom4j.Element;
12
13 import javax.annotation.Nonnull;
14
15
16
17
18
19
20 @CannotDisable
21 @RequirePermission(Permissions.EXECUTE_JAVA)
22 public final class ComponentImportModuleDescriptor extends AbstractModuleDescriptor<Object> {
23
24
25
26 public ComponentImportModuleDescriptor() {
27 super(ModuleFactory.LEGACY_MODULE_FACTORY);
28 }
29
30 @Override
31 public void init(@Nonnull Plugin plugin, @Nonnull Element element) throws PluginParseException {
32 super.init(plugin, element);
33 checkPermissions();
34 }
35
36 public Object getModule() {
37 return new BeanPrefixModuleFactory().createModule(getKey(), this);
38 }
39 }