Class PropertyBasedStateRepository

  • All Implemented Interfaces:
    StateRepository
    Direct Known Subclasses:
    FileBasedStateRepository

    public class PropertyBasedStateRepository
    extends Object
    implements StateRepository
    This implementation of StateRepository stores the state of features in a Properties format. The properties are managed through an implementation of PropertySource to manage the actual source of the property values.

    The file format has changed since version 2.0.0 because of the new extendable activation strategy support. Old file formats will be automatically migrated. The new format looks like this:

     FEATURE_ONE = true
     FEATURE_ONE.strategy = gradual
     FEATURE_ONE.param.percentage = 25
     FEATURE_TWO = false
     

    A feature is enabled if the value is one of true, yes, enable, or enabled; any other value and the feature is considered disabled.

    • Constructor Detail

      • PropertyBasedStateRepository

        public PropertyBasedStateRepository​(PropertySource propertySource)
    • Method Detail

      • getFeatureState

        public FeatureState getFeatureState​(Feature feature)
        Description copied from interface: StateRepository
        Get the persisted state of a feature from the repository. If the repository doesn't contain any information regarding this feature it must return null.
        Specified by:
        getFeatureState in interface StateRepository
        Parameters:
        feature - The feature to read the state for
        Returns:
        The persisted feature state or null