Class ProjectSettingsRestrictionProcessorModuleDescriptor

java.lang.Object
com.atlassian.plugin.descriptors.AbstractModuleDescriptor<ProjectSettingsRestrictionProcessor>
com.atlassian.bitbucket.settingsrestriction.ProjectSettingsRestrictionProcessorModuleDescriptor
All Implemented Interfaces:
com.atlassian.plugin.ModuleDescriptor<ProjectSettingsRestrictionProcessor>, com.atlassian.plugin.Resourced, com.atlassian.plugin.ScopeAware, com.atlassian.plugin.StateAware

public class ProjectSettingsRestrictionProcessorModuleDescriptor extends com.atlassian.plugin.descriptors.AbstractModuleDescriptor<ProjectSettingsRestrictionProcessor>
Module descriptor for providing ProjectSettingsRestrictionProcessor implementations.

Processors are invoked with batches of repositories. There is no weighting for processors, and thus no guarantee of atomicity in the repositories being sent from one to the next. It is therefore strongly recommended that if exporting multiple processors for a settings restriction that there is no dependency for one processer to complete for the other to be successful.

The class and key attributes are required.

Usage example:

     <project-settings-restriction-processor
          key="exampleModuleKey"
          class="com.example.bitbucket.internal.feature.ExampleProjectSettingsRestrictionProcessor"/>
 
Since:
8.10
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     

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

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

    Constructors
    Constructor
    Description
    ProjectSettingsRestrictionProcessorModuleDescriptor(com.atlassian.plugin.module.ModuleFactory moduleFactory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    Retrieve the module for this descriptor.
    protected void
    validate(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, init, isBroken, isEnabled, isEnabledByDefault, isSystemModule, loadClass, satisfiesMinJavaVersion, setBroken, setPlugin, toString

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface com.atlassian.plugin.ModuleDescriptor

    getDisplayName
  • Field Details

  • Constructor Details

    • ProjectSettingsRestrictionProcessorModuleDescriptor

      public ProjectSettingsRestrictionProcessorModuleDescriptor(com.atlassian.plugin.module.ModuleFactory moduleFactory)
  • Method Details

    • disabled

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

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

      Retrieve the module for this descriptor.

      The described module is cached for the lifecycle of its plugin. Implementations of ProjectSettingsRestrictionProcessor should be stateless and thread-safe as a single instance will be returned to all consumers of the descriptor.

      Specified by:
      getModule in interface com.atlassian.plugin.ModuleDescriptor<ProjectSettingsRestrictionProcessor>
      Specified by:
      getModule in class com.atlassian.plugin.descriptors.AbstractModuleDescriptor<ProjectSettingsRestrictionProcessor>
      Returns:
      the processor module being described
    • validate

      protected void validate(com.atlassian.plugin.module.Element element)
      Overrides:
      validate in class com.atlassian.plugin.descriptors.AbstractModuleDescriptor<ProjectSettingsRestrictionProcessor>