public abstract class AbstractScm extends Object implements Scm
Scm that returns null for all of the optional contract members.
Required members have no default implementation.
Derived classes should provide their supported features to the constructor. The nullary
constructor assumes the SCM doesn't support any of the optional features.
SCM implementors are strongly encouraged to use this base class for their Scm implementation.
As new features are added SCMs built on this base class will better retain cross-version support because it
will provide null implementations of new optional members.
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractScm() |
protected |
AbstractScm(Set<com.atlassian.bitbucket.scm.ScmFeature> features) |
| Modifier and Type | Method and Description |
|---|---|
PluginCommandBuilderFactory |
getCommandBuilderFactory()
Retrieves a
PluginCommandBuilderFactory, used to create command builders for
custom SCM commands. |
PluginCompareCommandFactory |
getCompareCommandFactory()
Retrieves a
PluginCompareCommandFactory, used to create commands tailored for comparing
refs. |
Set<com.atlassian.bitbucket.scm.ScmFeature> |
getFeatures()
Retrieves the
features that are supported by this SCM. |
PluginPullRequestCommandFactory |
getPullRequestCommandFactory()
Retrieves a
PluginPullRequestCommandFactory, used to create commands tailored for use
supporting pull requests. |
PluginRefCommandFactory |
getRefCommandFactory()
Retrieves a
PluginRefCommandFactory, used to create commands tailored for creating
branches and tags. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBulkContentCommandFactory, getCommandFactory, getDefaultBranch, getExtendedCommandFactory, getId, getIntegrityCheckCommandFactory, getMergeStrategies, getMirrorCommandFactory, getName, getStatus, isEmptypublic PluginCommandBuilderFactory getCommandBuilderFactory()
ScmPluginCommandBuilderFactory, used to create command builders for
custom SCM commands.
Implementation Note: This method is optional. SCMs which do not support a ScmCommandBuilder
may return null.
getCommandBuilderFactory in interface Scmnull if the SCM does not support command buildersPluginCommandBuilderFactory,
ScmFeature.COMMAND_BUILDERSpublic PluginCompareCommandFactory getCompareCommandFactory()
ScmPluginCompareCommandFactory, used to create commands tailored for comparing
refs.
Implementation Note: This method is optional. SCMs which do not support comparing refs may return
null.
getCompareCommandFactory in interface Scmnull if the SCM does not support itPluginCompareCommandFactory,
ScmFeature.COMPARE@Nonnull public Set<com.atlassian.bitbucket.scm.ScmFeature> getFeatures()
Scmfeatures that are supported by this SCM.
Since the system relies on optional features to provide some functionality, like branch compare and pull
requests, it relies on this set to disable functionality that requires features the SCM doesn't provide.
Similarly, plugin developers can use the returned features to control which optional features they try
to use, rather than checking for null or handling UnsupportedOperationExceptions.
getFeatures in interface Scmnullpublic PluginPullRequestCommandFactory getPullRequestCommandFactory()
ScmPluginPullRequestCommandFactory, used to create commands tailored for use
supporting pull requests. Repositories using an SCM which implements this method will have
the ability to create, view and merge pull requests.
Implementation Note: This method is optional. SCMs which do not support pull requests may return
null. Repositories using such SCMs will not be able to create pull requests.
getPullRequestCommandFactory in interface Scmnull if the SCM does not support pull requestsPluginPullRequestCommandFactory,
ScmFeature.PULL_REQUESTSpublic PluginRefCommandFactory getRefCommandFactory()
ScmPluginRefCommandFactory, used to create commands tailored for creating
branches and tags.
Implementation Note: This method is optional. SCMs which do not support mutable refs may return
null. Repositories using such SCMs will not be able create
branches and tags.
getRefCommandFactory in interface ScmScmFeature.REFSCopyright © 2024 Atlassian. All rights reserved.