Class TransactionalPluginLoader

  • All Implemented Interfaces:
    com.atlassian.plugin.loaders.DiscardablePluginLoader, com.atlassian.plugin.loaders.DynamicPluginLoader, com.atlassian.plugin.loaders.PluginLoader

    @Transactional(rollbackFor=com.atlassian.plugin.PluginException.class)
    public class TransactionalPluginLoader
    extends Object
    implements com.atlassian.plugin.loaders.DynamicPluginLoader, com.atlassian.plugin.loaders.DiscardablePluginLoader
    A PluginLoader implementation that adds Transactional annotations.
    Since:
    7.16
    See Also:
    DatabaseClassLoadingPluginLoader
    • Constructor Detail

      • TransactionalPluginLoader

        public TransactionalPluginLoader​(com.atlassian.plugin.loaders.DynamicPluginLoader delegateLoader,
                                         com.atlassian.plugin.loaders.DiscardablePluginLoader delegateDiscardableLoader)
    • Method Detail

      • canLoad

        public String canLoad​(com.atlassian.plugin.PluginArtifact pluginArtifact)
        Specified by:
        canLoad in interface com.atlassian.plugin.loaders.DynamicPluginLoader
      • loadAllPlugins

        @Transactional(readOnly=true)
        public Iterable<com.atlassian.plugin.Plugin> loadAllPlugins​(com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory)
        Specified by:
        loadAllPlugins in interface com.atlassian.plugin.loaders.PluginLoader
      • loadFoundPlugins

        @Transactional(readOnly=true)
        public Iterable<com.atlassian.plugin.Plugin> loadFoundPlugins​(com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory)
        Specified by:
        loadFoundPlugins in interface com.atlassian.plugin.loaders.PluginLoader
      • supportsAddition

        @Transactional(readOnly=true)
        public boolean supportsAddition()
        Specified by:
        supportsAddition in interface com.atlassian.plugin.loaders.PluginLoader
      • supportsRemoval

        @Transactional(readOnly=true)
        public boolean supportsRemoval()
        Specified by:
        supportsRemoval in interface com.atlassian.plugin.loaders.PluginLoader
      • removePlugin

        public void removePlugin​(com.atlassian.plugin.Plugin plugin)
        Specified by:
        removePlugin in interface com.atlassian.plugin.loaders.PluginLoader
      • isDynamicPluginLoader

        @Transactional(readOnly=true)
        public boolean isDynamicPluginLoader()
        Specified by:
        isDynamicPluginLoader in interface com.atlassian.plugin.loaders.PluginLoader
      • createModule

        public com.atlassian.plugin.ModuleDescriptor<?> createModule​(com.atlassian.plugin.Plugin plugin,
                                                                     org.dom4j.Element module,
                                                                     com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory)
        Specified by:
        createModule in interface com.atlassian.plugin.loaders.PluginLoader
      • discardPlugin

        public void discardPlugin​(com.atlassian.plugin.Plugin plugin)
        Specified by:
        discardPlugin in interface com.atlassian.plugin.loaders.DiscardablePluginLoader