Class Overview
ModuleDescriptor
which interprets <scm/>
tags in atlassian-plugin.xml
.
<scm id="scm" class="com.example.scm.CustomScm" weight="100"/>
Because this module descriptor uses the
ModuleFactory
to create the
Scm
instance, the "class" for the
Scm
may also reference a bean:
<component id="customScm" class="com.example.scm.CustomScm"/>
<scm id="scm" class="bean:customScm"/>
Using the "bean:" approach allows plugins to declare their custom
Scm
implementations as public components,
allowing other plugins to
component-import
them and use them.
This module descriptor caches the Scm
instance it creates, and returns the same instance on subsequent calls
until the module is disabled or uninstalled. As a result, as documented on the Scm
interface, implementations
are required to be thread-safe, because the same instance will be used by multiple threads.
SCMs are weighted
, which is used to control the order they are returned in when retrieving
ScmService#getAvailable() available SCMs. The higher the weight, the later in the set they will
appear. Additionally, if multiple SCMs are registered with the same ID
, the one with the lowest
weight will be used.
Summary
[Expand]
Inherited Fields |
From class
com.atlassian.plugin.descriptors.AbstractModuleDescriptor
protected
String |
key |
|
protected
Class<T> |
moduleClass |
|
protected
String |
moduleClassName |
|
protected
final
ModuleFactory |
moduleFactory |
|
protected
String |
name |
|
protected
Plugin |
plugin |
|
protected
Resources |
resources |
|
|
From interface
com.atlassian.bitbucket.util.Weighted
public
static
final
Comparator<Weighted> |
COMPARABLE |
Note that this comparator only considers weight. |
|
[Expand]
Inherited Methods |
From class
com.atlassian.bitbucket.scm.BaseWeightedModuleDescriptor
|
From class
com.atlassian.plugin.descriptors.AbstractModuleDescriptor
final
void
|
assertModuleClassImplements(Class<T> arg0)
|
final
void
|
checkPermissions()
|
void
|
destroy()
|
void
|
disabled()
|
void
|
enabled()
|
boolean
|
equals(Object arg0)
|
String
|
getCompleteKey()
|
String
|
getDescription()
|
String
|
getDescriptionKey()
|
String
|
getI18nNameKey()
|
String
|
getKey()
|
Float
|
getMinJavaVersion()
|
abstract
T
|
getModule()
|
Class<T>
|
getModuleClass()
|
String
|
getModuleClassName()
|
String
|
getName()
|
Map<String, String>
|
getParams()
|
Plugin
|
getPlugin()
|
String
|
getPluginKey()
|
Set<String>
|
getRequiredPermissions()
|
ResourceDescriptor
|
getResourceDescriptor(String arg0, String arg1)
|
List<ResourceDescriptor>
|
getResourceDescriptors()
|
ResourceLocation
|
getResourceLocation(String arg0, String arg1)
|
Optional<String>
|
getScopeKey()
|
int
|
hashCode()
|
void
|
init(Plugin arg0, Element arg1)
|
boolean
|
isBroken()
|
boolean
|
isEnabled()
|
boolean
|
isEnabledByDefault()
|
boolean
|
isSystemModule()
|
void
|
loadClass(Plugin arg0, String arg1)
|
void
|
provideValidationRules(ValidationPattern arg0)
|
boolean
|
satisfiesMinJavaVersion()
|
void
|
setBroken()
|
void
|
setPlugin(Plugin arg0)
|
String
|
toString()
|
|
From class
java.lang.Object
Object
|
clone()
|
boolean
|
equals(Object arg0)
|
void
|
finalize()
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
final
void
|
wait()
|
|
From interface
com.atlassian.bitbucket.util.Weighted
|
From interface
com.atlassian.plugin.ModuleDescriptor
void
|
destroy()
|
boolean
|
equals(Object arg0)
|
String
|
getCompleteKey()
|
String
|
getDescription()
|
String
|
getDescriptionKey()
|
String
|
getDisplayName()
|
String
|
getI18nNameKey()
|
String
|
getKey()
|
Float
|
getMinJavaVersion()
|
T
|
getModule()
|
Class<T>
|
getModuleClass()
|
String
|
getName()
|
Map<String, String>
|
getParams()
|
Plugin
|
getPlugin()
|
String
|
getPluginKey()
|
int
|
hashCode()
|
void
|
init(Plugin arg0, Element arg1)
|
boolean
|
isBroken()
|
boolean
|
isEnabled()
|
boolean
|
isEnabledByDefault()
|
boolean
|
isSystemModule()
|
boolean
|
satisfiesMinJavaVersion()
|
void
|
setBroken()
|
|
From interface
com.atlassian.plugin.Resourced
ResourceDescriptor
|
getResourceDescriptor(String arg0, String arg1)
|
List<ResourceDescriptor>
|
getResourceDescriptors()
|
ResourceLocation
|
getResourceLocation(String arg0, String arg1)
|
|
From interface
com.atlassian.plugin.ScopeAware
Optional<String>
|
getScopeKey()
|
|
From interface
com.atlassian.plugin.StateAware
void
|
disabled()
|
void
|
enabled()
|
|
From interface
java.lang.Comparable
|
Constants
public
static
final
String
XML_ELEMENT_NAME
Public Constructors
public
ScmModuleDescriptor
(ModuleFactory moduleFactory)
Public Methods
public
Scm
getModule
()
Retrieves the Scm
instance for this descriptor.
The first time this method is called after an SCM plugin is installed or enabled, the Scm
will be
retrieved from the ModuleFactory
and cached. Subsequent calls will retrieve the same instance.