Class BootstrapFeatureManager
java.lang.Object
com.atlassian.jira.config.feature.BootstrapFeatureManager
- All Implemented Interfaces:
FeatureManager
Simple feature manager used during bootstrap. Setup does not use features at all currently.
- Since:
- v5.0
-
Field Summary
Fields inherited from interface com.atlassian.jira.config.FeatureManager
SYSTEM_PROPERTY_PREFIX
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
disableSiteDarkFeature
(String feature) Disables a site-wide feature.void
disableUserDarkFeature
(ApplicationUser user, String feature) Disables a feature for a particular user.void
enableSiteDarkFeature
(String feature) Enables a site-wide feature.void
enableUserDarkFeature
(ApplicationUser user, String feature) Enables a feature for a particular User.CreatesDarkFeatures
instances from the PropertySet associated with the current user.Returns a set containing the feature keys of all features that are currently enabled.io.atlassian.fugue.Option<FeatureFlag>
getFeatureFlag
(String featureKey) Return a feature flag by keyboolean
Returns true if the currently logged in user has permission to edit site dark features.boolean
isEnabled
(CoreFeatures coreFeature) Checks whetherfeature
is enabled either in the running JIRA instance or for the current user.boolean
Checks whether or not the specified feature is enabled.boolean
isEnabled
(FeatureFlag featureFlag) Checking the state of feature flagboolean
Checks whether featurefeatureKey
is enabled either in the running JIRA instance or for the current user.boolean
isEnabledForUser
(ApplicationUser user, String featureKey) Checks whether a feature with given featureKey is enabled in the running JIRA instance for the given user.
-
Constructor Details
-
BootstrapFeatureManager
public BootstrapFeatureManager()
-
-
Method Details
-
isEnabled
Description copied from interface:FeatureManager
Checks whether featurefeatureKey
is enabled either in the running JIRA instance or for the current user. If the featureKey relates to a feature flag that is defined, then it will also take the default values into consideration.- Specified by:
isEnabled
in interfaceFeatureManager
- Parameters:
featureKey
- feature key- Returns:
true
, if feature identified by featureKey is enabled,false
otherwise
-
isEnabled
Description copied from interface:FeatureManager
Checks whether or not the specified feature is enabled. This method should be prefered overFeatureManager.isEnabled(String)
for internal feature checks, particularly for core features that are not user-settable, as it will skip loading the current user's preferences when possible.- Specified by:
isEnabled
in interfaceFeatureManager
- Parameters:
coreFeature
- the feature to check- Returns:
true
iffeature
is enabled;false
otherwise
-
isEnabled
Description copied from interface:FeatureManager
Checking the state of feature flag- Specified by:
isEnabled
in interfaceFeatureManager
- Parameters:
featureFlag
- defined feature flag- Returns:
- state of the feature flag
-
getFeatureFlag
Description copied from interface:FeatureManager
Return a feature flag by key- Specified by:
getFeatureFlag
in interfaceFeatureManager
- Parameters:
featureKey
- the feature key string- Returns:
- optional value of feature flag
-
isEnabled
Description copied from interface:FeatureManager
Checks whetherfeature
is enabled either in the running JIRA instance or for the current user. This method should be prefered overFeatureManager.isEnabled(String)
for internal feature checks, particularly for core features that are not user-settable, as it will skip loading the current user's preferences when possible.- Specified by:
isEnabled
in interfaceFeatureManager
- Parameters:
coreFeature
- the core feature to check- Returns:
true
iffeature
is enabled;false
otherwise
-
getEnabledFeatureKeys
Description copied from interface:FeatureManager
Returns a set containing the feature keys of all features that are currently enabled.- Specified by:
getEnabledFeatureKeys
in interfaceFeatureManager
- Returns:
- a set containing the feature keys of all features that are currently enabled
-
getDarkFeatures
Description copied from interface:FeatureManager
CreatesDarkFeatures
instances from the PropertySet associated with the current user.- Specified by:
getDarkFeatures
in interfaceFeatureManager
- Returns:
- Returns the Dark Features state for the current user.
-
getRegisteredFlags
- Specified by:
getRegisteredFlags
in interfaceFeatureManager
- Returns:
- a list of feature flags in the system
-
enableUserDarkFeature
Description copied from interface:FeatureManager
Enables a feature for a particular User. Raises aFeatureEnabledEvent
.Since JIRA 5.1, this method raises a
FeatureEnabledEvent
if it is successful.- Specified by:
enableUserDarkFeature
in interfaceFeatureManager
- Parameters:
user
- the user to enable the feature forfeature
- the feature to enable
-
disableUserDarkFeature
Description copied from interface:FeatureManager
Disables a feature for a particular user.Since JIRA 5.1, this method raises a
FeatureDisabledEvent
if it is successful.- Specified by:
disableUserDarkFeature
in interfaceFeatureManager
- Parameters:
user
- the user to disable the feature forfeature
- the feature to disable
-
enableSiteDarkFeature
Description copied from interface:FeatureManager
Enables a site-wide feature.Since JIRA 5.1, this method raises a
FeatureEnabledEvent
if it is successful.- Specified by:
enableSiteDarkFeature
in interfaceFeatureManager
- Parameters:
feature
- the feature to enable
-
disableSiteDarkFeature
Description copied from interface:FeatureManager
Disables a site-wide feature.Since JIRA 5.1, this method raises a
FeatureDisabledEvent
if it is successful.- Specified by:
disableSiteDarkFeature
in interfaceFeatureManager
- Parameters:
feature
- the feature to disable
-
hasSiteEditPermission
public boolean hasSiteEditPermission()Description copied from interface:FeatureManager
Returns true if the currently logged in user has permission to edit site dark features.- Specified by:
hasSiteEditPermission
in interfaceFeatureManager
- Returns:
- true if the currently logged in user has permission to edit site dark features.
-
getDarkFeaturesForUser
- Specified by:
getDarkFeaturesForUser
in interfaceFeatureManager
- Parameters:
user
- the user being queried;null
represents the anonymous user- Returns:
- Returns the dark features state for the current user.
-
isEnabledForUser
Description copied from interface:FeatureManager
Checks whether a feature with given featureKey is enabled in the running JIRA instance for the given user.- Specified by:
isEnabledForUser
in interfaceFeatureManager
- Parameters:
user
- the user being queriedfeatureKey
- feature key- Returns:
true
, if feature identified by featureKey is enabled,false
otherwise
-