Class DefaultFactoryModuleDescriptor<T>

java.lang.Object
com.atlassian.plugin.descriptors.AbstractModuleDescriptor<T>
com.atlassian.confluence.plugin.descriptor.DefaultFactoryModuleDescriptor<T>
Type Parameters:
T -
All Implemented Interfaces:
com.atlassian.plugin.ModuleDescriptor<T>, com.atlassian.plugin.Resourced, com.atlassian.plugin.ScopeAware, com.atlassian.plugin.StateAware
Direct Known Subclasses:
BackupRestoreProviderModuleDescriptor, CommandCreatorModuleDescriptor, MacroMetadataModuleDescriptor, MacroSchemaMigratorModuleDescriptor, ModelMetadataProviderModuleDescriptor, PluginExistingEntityFinderModuleDescriptor

public abstract class DefaultFactoryModuleDescriptor<T> extends com.atlassian.plugin.descriptors.AbstractModuleDescriptor<T>
An implementation that uses the default module factory to produce modules.

Implementing classes should implement getModule and delegate to getModuleFromProvider. The plugin system uses the return type of getModule to determine the class of the module that this descriptor produces.

  • Field Summary

    Fields inherited from class com.atlassian.plugin.descriptors.AbstractModuleDescriptor

    key, moduleClass, moduleClassName, moduleFactory, name, plugin, resources
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    DefaultFactoryModuleDescriptor(com.atlassian.plugin.module.ModuleFactory moduleFactory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    abstract T
    Implementing classes should implement this method and call getModuleFromProvider, this is required as AbstractModuleDescriptor.getModuleReturnClass() uses the return type of this method to determine the module class.
    protected T
     
    void
    init(@NonNull com.atlassian.plugin.Plugin plugin, @NonNull com.atlassian.plugin.module.Element element)
     

    Methods inherited from class com.atlassian.plugin.descriptors.AbstractModuleDescriptor

    assertModuleClassImplements, checkPermissions, destroy, equals, getCompleteKey, getDescription, getDescriptionKey, getI18nNameKey, getKey, getMinJavaVersion, getModuleClass, getModuleClassName, getName, getParams, getPlugin, getPluginKey, getRequiredPermissions, getResourceDescriptor, getResourceDescriptors, getResourceLocation, getScopeKey, hashCode, isBroken, isEnabled, isEnabledByDefault, isSystemModule, loadClass, satisfiesMinJavaVersion, setBroken, setPlugin, toString, validate

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.atlassian.plugin.ModuleDescriptor

    getDisplayName
  • Constructor Details

    • DefaultFactoryModuleDescriptor

      protected DefaultFactoryModuleDescriptor(com.atlassian.plugin.module.ModuleFactory moduleFactory)
  • Method Details

    • init

      public void init(@NonNull com.atlassian.plugin.Plugin plugin, @NonNull com.atlassian.plugin.module.Element element) throws com.atlassian.plugin.PluginParseException
      Specified by:
      init in interface com.atlassian.plugin.ModuleDescriptor<T>
      Overrides:
      init in class com.atlassian.plugin.descriptors.AbstractModuleDescriptor<T>
      Throws:
      com.atlassian.plugin.PluginParseException
    • getModule

      public abstract T getModule()
      Implementing classes should implement this method and call getModuleFromProvider, this is required as AbstractModuleDescriptor.getModuleReturnClass() uses the return type of this method to determine the module class. The JVM's type erasure means that it must be implemented with a non-generic type for getModuleReturnClass() to succeed.
      Specified by:
      getModule in interface com.atlassian.plugin.ModuleDescriptor<T>
      Specified by:
      getModule in class com.atlassian.plugin.descriptors.AbstractModuleDescriptor<T>
    • getModuleFromProvider

      protected T getModuleFromProvider()
    • enabled

      public void enabled()
      Specified by:
      enabled in interface com.atlassian.plugin.StateAware
      Overrides:
      enabled in class com.atlassian.plugin.descriptors.AbstractModuleDescriptor<T>
    • disabled

      public void disabled()
      Specified by:
      disabled in interface com.atlassian.plugin.StateAware
      Overrides:
      disabled in class com.atlassian.plugin.descriptors.AbstractModuleDescriptor<T>