package com.atlassian.labs.speakeasy.commonjs.descriptor; import com.atlassian.labs.speakeasy.descriptor.DescriptorGeneratorManagerImpl; import com.atlassian.labs.speakeasy.descriptor.external.ConditionGenerator; import com.atlassian.labs.speakeasy.descriptor.external.DescriptorGenerator; import com.atlassian.labs.speakeasy.descriptor.external.SpeakeasyWebResourceModuleDescriptor; import com.atlassian.plugin.ModuleDescriptor; import com.atlassian.plugin.PluginAccessor; import com.atlassian.plugin.hostcontainer.HostContainer; import com.atlassian.plugin.module.ModuleFactory; import org.osgi.framework.BundleContext; import static com.atlassian.labs.speakeasy.descriptor.DescriptorGeneratorManagerImpl.getStatefulKey; import static java.util.Collections.emptySet; /** * */ public class SpeakeasyCommonJsModulesDescriptor extends CommonJsModulesDescriptor implements DescriptorGenerator<CommonJsModulesDescriptor> { private final HostContainer hostContainer; private final ModuleFactory moduleFactory; private final BundleContext bundleContext; private final DescriptorGeneratorManagerImpl descriptorGeneratorManager; public SpeakeasyCommonJsModulesDescriptor(ModuleFactory moduleFactory, BundleContext bundleContext, HostContainer hostContainer, DescriptorGeneratorManagerImpl descriptorGeneratorManager, PluginAccessor pluginAccessor) { super(moduleFactory, bundleContext, hostContainer, pluginAccessor); this.moduleFactory = moduleFactory; this.bundleContext = bundleContext; this.hostContainer = hostContainer; this.descriptorGeneratorManager = descriptorGeneratorManager; } public Iterable<CommonJsModulesDescriptor> getDescriptorsToExposeForUsers(ConditionGenerator conditionGenerator, long state) { return emptySet(); } @Override public ModuleDescriptor createIndividualModuleDescriptor() { return new SpeakeasyWebResourceModuleDescriptor(moduleFactory, hostContainer, bundleContext, descriptorGeneratorManager); } @Override public String getModulesWebResourceCompleteKey() { return getStatefulKey(super.getModulesWebResourceCompleteKey(), getPluginBundle().getLastModified()); } }