public class DefaultFeatureManager extends Object implements CachingFeatureManager, InitializingComponent
FeatureManager.SYSTEM_PROPERTY_PREFIX| Constructor and Description |
|---|
DefaultFeatureManager(JiraAuthenticationContext authenticationContext,
FeatureStore featureStore,
JiraProperties jiraSystemProperties,
com.atlassian.tenancy.api.TenantAccessor tenantAccessor,
FeatureFlagProviderAccessor featureFlagProviderAccessor,
com.atlassian.cache.CacheManager cacheManager,
RequestCacheFactory cacheFactory,
InstanceFeatureManager instanceFeatureManager,
FeatureFlagActivatorAccessor featureFlagActivatorAccessor) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterInstantiation() |
void |
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.
|
DarkFeatures |
getDarkFeatures()
Creates
DarkFeatures instances from the PropertySet associated
with the current user. |
DarkFeatures |
getDarkFeaturesForUser(ApplicationUser user) |
Set<String> |
getEnabledFeatureKeys()
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 key
|
Set<FeatureFlag> |
getRegisteredFlags() |
boolean |
hasSiteEditPermission()
Returns true if the currently logged in user has permission to edit site dark features.
|
boolean |
isEnabled(CoreFeatures feature)
Checks whether
feature is enabled either in the running JIRA instance
or for the current user. |
boolean |
isEnabled(Feature feature)
Checks whether or not the specified feature is enabled.
|
boolean |
isEnabled(FeatureFlag featureFlag)
Checking the state of feature flag
|
boolean |
isEnabled(String featureKey)
Checks whether feature
featureKey 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.
|
void |
onClearCache(ClearCacheEvent event) |
void |
reset()
Clears the cache and reloads the features from the data source
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisOnDemandpublic DefaultFeatureManager(JiraAuthenticationContext authenticationContext, FeatureStore featureStore, JiraProperties jiraSystemProperties, com.atlassian.tenancy.api.TenantAccessor tenantAccessor, FeatureFlagProviderAccessor featureFlagProviderAccessor, com.atlassian.cache.CacheManager cacheManager, RequestCacheFactory cacheFactory, InstanceFeatureManager instanceFeatureManager, FeatureFlagActivatorAccessor featureFlagActivatorAccessor)
public void afterInstantiation()
throws Exception
afterInstantiation in interface InitializingComponentExceptionpublic boolean isEnabled(FeatureFlag featureFlag)
FeatureManagerisEnabled in interface FeatureManagerfeatureFlag - defined feature flagpublic boolean isEnabled(String featureKey)
FeatureManagerfeatureKey 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.isEnabled in interface FeatureManagerfeatureKey - feature keytrue, if feature identified by featureKey is enabled, false otherwisepublic io.atlassian.fugue.Option<FeatureFlag> getFeatureFlag(String featureKey)
FeatureManagergetFeatureFlag in interface FeatureManagerfeatureKey - the feature key stringpublic boolean isEnabled(Feature feature)
FeatureManagerFeatureManager.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.isEnabled in interface FeatureManagerfeature - the feature to checktrue if feature is enabled; false otherwisepublic boolean isEnabledForUser(@Nullable ApplicationUser user, String featureKey)
FeatureManagerisEnabledForUser in interface FeatureManageruser - the user being queriedfeatureKey - feature keytrue, if feature identified by featureKey is enabled, false otherwisepublic boolean isEnabled(CoreFeatures feature)
FeatureManagerfeature is enabled either in the running JIRA instance
or for the current user. This method should be prefered over
FeatureManager.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.isEnabled in interface FeatureManagerfeature - the core feature to checktrue if feature is enabled; false otherwisepublic Set<FeatureFlag> getRegisteredFlags()
getRegisteredFlags in interface FeatureManagerpublic Set<String> getEnabledFeatureKeys()
FeatureManagergetEnabledFeatureKeys in interface FeatureManagerpublic DarkFeatures getDarkFeatures()
FeatureManagerDarkFeatures instances from the PropertySet associated
with the current user.getDarkFeatures in interface FeatureManagerpublic DarkFeatures getDarkFeaturesForUser(@Nullable ApplicationUser user)
getDarkFeaturesForUser in interface FeatureManageruser - the user being queried; null represents the anonymous userpublic void enableUserDarkFeature(ApplicationUser user, String feature)
FeatureManagerFeatureEnabledEvent.
Since JIRA 5.1, this method raises a FeatureEnabledEvent if it is successful.
enableUserDarkFeature in interface FeatureManageruser - the user to enable the feature forfeature - the feature to enablepublic void disableUserDarkFeature(ApplicationUser user, String feature)
FeatureManager
Since JIRA 5.1, this method raises a FeatureDisabledEvent if it is successful.
disableUserDarkFeature in interface FeatureManageruser - the user to disable the feature forfeature - the feature to disablepublic void enableSiteDarkFeature(String feature)
FeatureManager
Since JIRA 5.1, this method raises a FeatureEnabledEvent if it is successful.
enableSiteDarkFeature in interface FeatureManagerfeature - the feature to enablepublic void disableSiteDarkFeature(String feature)
FeatureManager
Since JIRA 5.1, this method raises a FeatureDisabledEvent if it is successful.
disableSiteDarkFeature in interface FeatureManagerfeature - the feature to disablepublic boolean hasSiteEditPermission()
FeatureManagerhasSiteEditPermission in interface FeatureManager@EventListener public void onClearCache(ClearCacheEvent event)
public void reset()
CachingFeatureManagerreset in interface CachingFeatureManagerCopyright © 2002-2019 Atlassian. All Rights Reserved.