com.atlassian.bamboo
Class DefaultFeatureManager

java.lang.Object
  extended by com.atlassian.bamboo.DefaultFeatureManager
All Implemented Interfaces:
FeatureManager

@Immutable
public class DefaultFeatureManager
extends Object
implements FeatureManager


Constructor Summary
DefaultFeatureManager()
           
 
Method Summary
 com.atlassian.fugue.Option<Long> getBuildArtifactSizeLimit()
          Maximum size of artifacts for single build result in bytes
 UnconfigurableFeatureDefaults getUnconfigurableFeatureDefaults()
           
 boolean isArtifactHandlerUiEnabled()
          Whether we let the user configure artifact handlers.
 boolean isBulkProjectRemoveAllowed()
          Whether project remove is allowed for bulk operations
 boolean isChangeBaseUrlAllowed()
          Whether administrators are allowed to change the instance's base URL.
 boolean isCreateBranchesForPullRequestsEnabled()
          Whether automatic creation of plan branches for Stash pull requests is enabled.
 boolean isDetectCapabilitiesOnStartup()
          Whether to force detection of server capabilities on startup
 boolean isElasticAgentsSupported()
          Whether elastic agents are enabled
 boolean isFusionDeploymentsSupportEnabled()
           
 boolean isGlobalSecuritySettingsEnabled()
          Whether you can edit the global security settings
 boolean isGzipCompressionSupported()
          Whether you can turn on GZip compression or not
 boolean isIMServerConfigurationSupported()
          Whether IM servers are configurable
 boolean isLegacyRepositoryEnabled()
          Whether to turn on old repositories like CVS and Perforce
 boolean isLimitedTimeQuarantineEnabled()
          Whether the limited time quarantine feature is enabled.
 boolean isLocalAgentsSupported()
          Whether local agents are enabled
 boolean isMailServerConfigurationSupported()
          Whether mail servers are configurable
 boolean isMavenProjectImportSupported()
          Whether you can import from a Maven pom.xml
 boolean isOnDemandAnalyticsBehaviour()
          Used by the analytics plugin to determine if Cloud specific analytics behaviour should be used (e.g.
 boolean isOnDemandInstance()
          Whether or not we're on Cloud.
 boolean isPasswordChangeAllowed()
          Whether users are allowed to change passwords
 boolean isPdlEnabled()
          Whether to use the new pdl or not
 boolean isPublicIpRequiredForVpc()
          Whether the current Bamboo setup prevents people from using VPCs unless their instances have a public IP.
 boolean isRemoteAgentShellEnabled()
           
 boolean isRemoteAgentsSupported()
          Whether remote agents are enabled
 boolean isRemovingLabelsAndCommentsAllowedForNonPlanAdmin()
          Returns true if EDIT permission on plan is not required for removing plans and labels
 boolean isRequiredEc2Configuration()
          Whether EC2 configuration is required for plan creation
 boolean isRequiresEc2TermsAcceptance()
          Whether EC2 configuration is blocked until users accept terms and conditions
 boolean isRestrictedAdminConfigurable()
          Whether restricted admin permission can be turn on or off
 boolean isRotpAdminShortcutsEnabled()
          Whether to use rotp admin shortcuts or not.
 boolean isRotpEnabled()
          Whether to show rotp features or not.
 boolean isRotpProjectShortcutsEnabled()
          Whether to show rotp project shortcuts feature or not.
 boolean isSignupConfigurable()
          Whether you can configure signups
 boolean isStashRepositoryPluginEnabled()
          Whether or not enable stash repository plugin enabled (ssh use)
 boolean isSupportToolsPluginEnabled()
          Whether or not to make the "Atlassian Support Tools" functionality available to admin users.
 boolean isTransportSupported(TransportProtocol transportProtocol)
          Whether given transport is enabled.
 boolean isTriggersOnEnvironmentPagesEnabled()
          Whether to show trigger part of Environment create and update pages
 boolean isUpdatingStashWithBuildStatusEnabled()
          Whether updating Stash with build status after builds are completed is enabled.
 boolean isUpmFullyFunctional()
          Whether the UPM is fully functional - allows plugin installation.
 boolean isUserManagementEnabled()
          Whether you can edit the users and groups
 boolean isUserProfileEnabled()
          Whether users can view their user profile page
 void setBambooPermissionManager(BambooPermissionManager bambooPermissionManager)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultFeatureManager

public DefaultFeatureManager()
Method Detail

isTransportSupported

public boolean isTransportSupported(@NotNull
                                    TransportProtocol transportProtocol)
Description copied from interface: FeatureManager
Whether given transport is enabled.

Specified by:
isTransportSupported in interface FeatureManager

isLocalAgentsSupported

public boolean isLocalAgentsSupported()
Description copied from interface: FeatureManager
Whether local agents are enabled

Specified by:
isLocalAgentsSupported in interface FeatureManager
Returns:

isRemoteAgentsSupported

public boolean isRemoteAgentsSupported()
Description copied from interface: FeatureManager
Whether remote agents are enabled

Specified by:
isRemoteAgentsSupported in interface FeatureManager
Returns:

isElasticAgentsSupported

public boolean isElasticAgentsSupported()
Description copied from interface: FeatureManager
Whether elastic agents are enabled

Specified by:
isElasticAgentsSupported in interface FeatureManager
Returns:

isGzipCompressionSupported

public boolean isGzipCompressionSupported()
Description copied from interface: FeatureManager
Whether you can turn on GZip compression or not

Specified by:
isGzipCompressionSupported in interface FeatureManager
Returns:

isMavenProjectImportSupported

public boolean isMavenProjectImportSupported()
Description copied from interface: FeatureManager
Whether you can import from a Maven pom.xml

Specified by:
isMavenProjectImportSupported in interface FeatureManager
Returns:

isSignupConfigurable

public boolean isSignupConfigurable()
Description copied from interface: FeatureManager
Whether you can configure signups

Specified by:
isSignupConfigurable in interface FeatureManager
Returns:

isRestrictedAdminConfigurable

public boolean isRestrictedAdminConfigurable()
Description copied from interface: FeatureManager
Whether restricted admin permission can be turn on or off

Specified by:
isRestrictedAdminConfigurable in interface FeatureManager
Returns:

isPasswordChangeAllowed

public boolean isPasswordChangeAllowed()
Description copied from interface: FeatureManager
Whether users are allowed to change passwords

Specified by:
isPasswordChangeAllowed in interface FeatureManager
Returns:

isLegacyRepositoryEnabled

public boolean isLegacyRepositoryEnabled()
Description copied from interface: FeatureManager
Whether to turn on old repositories like CVS and Perforce

Specified by:
isLegacyRepositoryEnabled in interface FeatureManager
Returns:

isMailServerConfigurationSupported

public boolean isMailServerConfigurationSupported()
Description copied from interface: FeatureManager
Whether mail servers are configurable

Specified by:
isMailServerConfigurationSupported in interface FeatureManager
Returns:

isIMServerConfigurationSupported

public boolean isIMServerConfigurationSupported()
Description copied from interface: FeatureManager
Whether IM servers are configurable

Specified by:
isIMServerConfigurationSupported in interface FeatureManager
Returns:

isUserProfileEnabled

public boolean isUserProfileEnabled()
Description copied from interface: FeatureManager
Whether users can view their user profile page

Specified by:
isUserProfileEnabled in interface FeatureManager
Returns:

isGlobalSecuritySettingsEnabled

public boolean isGlobalSecuritySettingsEnabled()
Description copied from interface: FeatureManager
Whether you can edit the global security settings

Specified by:
isGlobalSecuritySettingsEnabled in interface FeatureManager
Returns:

isUserManagementEnabled

public boolean isUserManagementEnabled()
Description copied from interface: FeatureManager
Whether you can edit the users and groups

Specified by:
isUserManagementEnabled in interface FeatureManager
Returns:

isDetectCapabilitiesOnStartup

public boolean isDetectCapabilitiesOnStartup()
Description copied from interface: FeatureManager
Whether to force detection of server capabilities on startup

Specified by:
isDetectCapabilitiesOnStartup in interface FeatureManager
Returns:

isRequiresEc2TermsAcceptance

public boolean isRequiresEc2TermsAcceptance()
Description copied from interface: FeatureManager
Whether EC2 configuration is blocked until users accept terms and conditions

Specified by:
isRequiresEc2TermsAcceptance in interface FeatureManager
Returns:

isRequiredEc2Configuration

public boolean isRequiredEc2Configuration()
Description copied from interface: FeatureManager
Whether EC2 configuration is required for plan creation

Specified by:
isRequiredEc2Configuration in interface FeatureManager
Returns:

isBulkProjectRemoveAllowed

public boolean isBulkProjectRemoveAllowed()
Description copied from interface: FeatureManager
Whether project remove is allowed for bulk operations

Specified by:
isBulkProjectRemoveAllowed in interface FeatureManager
Returns:

getBuildArtifactSizeLimit

public com.atlassian.fugue.Option<Long> getBuildArtifactSizeLimit()
Description copied from interface: FeatureManager
Maximum size of artifacts for single build result in bytes

Specified by:
getBuildArtifactSizeLimit in interface FeatureManager
Returns:
maximum artifact size in bytes when limit set, Option.none() if not

isArtifactHandlerUiEnabled

public boolean isArtifactHandlerUiEnabled()
Description copied from interface: FeatureManager
Whether we let the user configure artifact handlers.

Specified by:
isArtifactHandlerUiEnabled in interface FeatureManager

isRotpEnabled

public boolean isRotpEnabled()
Description copied from interface: FeatureManager
Whether to show rotp features or not.

Specified by:
isRotpEnabled in interface FeatureManager

isRotpProjectShortcutsEnabled

public boolean isRotpProjectShortcutsEnabled()
Description copied from interface: FeatureManager
Whether to show rotp project shortcuts feature or not.

Specified by:
isRotpProjectShortcutsEnabled in interface FeatureManager

isRotpAdminShortcutsEnabled

public boolean isRotpAdminShortcutsEnabled()
Description copied from interface: FeatureManager
Whether to use rotp admin shortcuts or not.

Specified by:
isRotpAdminShortcutsEnabled in interface FeatureManager

isPdlEnabled

public boolean isPdlEnabled()
Description copied from interface: FeatureManager
Whether to use the new pdl or not

Specified by:
isPdlEnabled in interface FeatureManager

isTriggersOnEnvironmentPagesEnabled

public boolean isTriggersOnEnvironmentPagesEnabled()
Description copied from interface: FeatureManager
Whether to show trigger part of Environment create and update pages

Specified by:
isTriggersOnEnvironmentPagesEnabled in interface FeatureManager

isChangeBaseUrlAllowed

public boolean isChangeBaseUrlAllowed()
Description copied from interface: FeatureManager
Whether administrators are allowed to change the instance's base URL.

Specified by:
isChangeBaseUrlAllowed in interface FeatureManager
Returns:
true; if administrators are allowed to change the instance's base URL; otherwise, false.

isUpmFullyFunctional

public boolean isUpmFullyFunctional()
Description copied from interface: FeatureManager
Whether the UPM is fully functional - allows plugin installation.

Specified by:
isUpmFullyFunctional in interface FeatureManager
Returns:
true; if the UPM is fully functional - allows plugin installation; otherwise, false.

isSupportToolsPluginEnabled

public boolean isSupportToolsPluginEnabled()
Description copied from interface: FeatureManager
Whether or not to make the "Atlassian Support Tools" functionality available to admin users.

Specified by:
isSupportToolsPluginEnabled in interface FeatureManager
Returns:

isOnDemandInstance

public boolean isOnDemandInstance()
Description copied from interface: FeatureManager
Whether or not we're on Cloud. Used to disable certain actions

Specified by:
isOnDemandInstance in interface FeatureManager

isFusionDeploymentsSupportEnabled

public boolean isFusionDeploymentsSupportEnabled()
Specified by:
isFusionDeploymentsSupportEnabled in interface FeatureManager
Returns:
Whether Bamboo should provide environment related data to Fusion plugin (BDEV-4007)

isStashRepositoryPluginEnabled

public boolean isStashRepositoryPluginEnabled()
Description copied from interface: FeatureManager
Whether or not enable stash repository plugin enabled (ssh use)

Specified by:
isStashRepositoryPluginEnabled in interface FeatureManager
Returns:

isRemovingLabelsAndCommentsAllowedForNonPlanAdmin

public boolean isRemovingLabelsAndCommentsAllowedForNonPlanAdmin()
Description copied from interface: FeatureManager
Returns true if EDIT permission on plan is not required for removing plans and labels

Specified by:
isRemovingLabelsAndCommentsAllowedForNonPlanAdmin in interface FeatureManager
Returns:

getUnconfigurableFeatureDefaults

public UnconfigurableFeatureDefaults getUnconfigurableFeatureDefaults()
Specified by:
getUnconfigurableFeatureDefaults in interface FeatureManager

setBambooPermissionManager

public void setBambooPermissionManager(@NotNull
                                       BambooPermissionManager bambooPermissionManager)

isUpdatingStashWithBuildStatusEnabled

public boolean isUpdatingStashWithBuildStatusEnabled()
Description copied from interface: FeatureManager
Whether updating Stash with build status after builds are completed is enabled.

Specified by:
isUpdatingStashWithBuildStatusEnabled in interface FeatureManager
Returns:

isPublicIpRequiredForVpc

public boolean isPublicIpRequiredForVpc()
Description copied from interface: FeatureManager
Whether the current Bamboo setup prevents people from using VPCs unless their instances have a public IP.

Specified by:
isPublicIpRequiredForVpc in interface FeatureManager

isCreateBranchesForPullRequestsEnabled

public boolean isCreateBranchesForPullRequestsEnabled()
Description copied from interface: FeatureManager
Whether automatic creation of plan branches for Stash pull requests is enabled.

Specified by:
isCreateBranchesForPullRequestsEnabled in interface FeatureManager

isRemoteAgentShellEnabled

public boolean isRemoteAgentShellEnabled()
Specified by:
isRemoteAgentShellEnabled in interface FeatureManager

isOnDemandAnalyticsBehaviour

public boolean isOnDemandAnalyticsBehaviour()
Description copied from interface: FeatureManager
Used by the analytics plugin to determine if Cloud specific analytics behaviour should be used (e.g. no opt-in message, reduced anonymisation)

Specified by:
isOnDemandAnalyticsBehaviour in interface FeatureManager
Returns:
true if running Cloud

isLimitedTimeQuarantineEnabled

public boolean isLimitedTimeQuarantineEnabled()
Description copied from interface: FeatureManager
Whether the limited time quarantine feature is enabled.

Specified by:
isLimitedTimeQuarantineEnabled in interface FeatureManager


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.