public class Feature extends Object implements Serializable
Features Flags or Features Toggle have been introduced by Martin Fowler for continuous delivery perspective. It consists of enable/disable some functionalities at runtime.
SecurityManagement : Even a feature is enabled, you can limit its usage to a group of users (for instance BETA Tester) before wide over all your users.
| Constructor and Description |
|---|
Feature(String uid)
Simplest constructor initializing feature to disable.
|
Feature(String uid,
boolean penable)
Simple constructor initializing feature with status enable/disable.
|
Feature(String uid,
boolean penable,
String pdescription)
Simplest Constructor (without security concerns)
|
Feature(String uid,
boolean penable,
String pdescription,
String group)
Simplest Constructor (without security concerns)
|
Feature(String uid,
boolean penable,
String pdescription,
String group,
Collection<String> auths)
Constructor with limited access roles definitions
|
Feature(String uid,
boolean penable,
String pdescription,
String group,
Collection<String> auths,
FlippingStrategy strat)
Constructor with limited access roles definitions
|
| Modifier and Type | Method and Description |
|---|---|
void |
disable()
Disable target feature
|
void |
enable()
Enable target feature
|
Map<String,AbstractProperty<?>> |
getCustomProperties()
Getter accessor for attribute 'customProperties'.
|
String |
getDescription()
Getter accessor for attribute 'description'.
|
FlippingStrategy |
getFlippingStrategy()
Getter accessor for attribute 'flippingStrategy'.
|
String |
getGroup()
Getter accessor for attribute 'group'.
|
Set<String> |
getPermissions()
Getter accessor for attribute 'permissions'.
|
<T> AbstractProperty<T> |
getProperty(String propId)
Accessor to read a custom property from Feature.
|
String |
getUid()
Getter accessor for attribute 'uid'.
|
boolean |
isEnable()
Getter accessor for attribute 'enable'.
|
void |
setCustomProperties(Map<String,AbstractProperty<?>> customProperties)
Setter accessor for attribute 'customProperties'.
|
void |
setDescription(String description)
Setter accessor for attribute 'description'.
|
void |
setEnable(boolean enable)
Setter accessor for attribute 'enable'.
|
void |
setFlippingStrategy(FlippingStrategy flippingStrategy)
Setter accessor for attribute 'flippingStrategy'.
|
void |
setGroup(String group)
Setter accessor for attribute 'group'.
|
void |
setPermissions(Set<String> permissions)
Setter accessor for attribute 'permissions'.
|
void |
setUid(String uid)
Setter accessor for attribute 'uid'.
|
void |
toggle()
Toggle target feature (from enable to disable and vice versa)
|
String |
toJson()
Convert Feature to JSON.
|
String |
toString() |
public Feature(String uid)
uid - unique feature name (required)public Feature(String uid, boolean penable)
uid - unique feature name (required)penable - initial feature statepublic Feature(String uid, boolean penable, String pdescription)
uid - unique feature name (required)penable - initial feature statepdescription - description of feature.public Feature(String uid, boolean penable, String pdescription, String group)
uid - unique feature name (required)penable - initial feature statepdescription - description of feature.public Feature(String uid, boolean penable, String pdescription, String group, Collection<String> auths)
uid - unique feature name (required)penable - initial feature statepdescription - description of feature.auths - limited roles to use the feature even if enabledpublic Feature(String uid, boolean penable, String pdescription, String group, Collection<String> auths, FlippingStrategy strat)
uid - unique feature name (required)penable - initial feature statepdescription - description of feature.auths - limited roles to use the feature even if enabledpublic String toJson()
public void enable()
public void disable()
public void toggle()
public String getUid()
public void setUid(String uid)
uid - new value for 'uid 'public boolean isEnable()
public void setEnable(boolean enable)
enable - new value for 'enable 'public String getDescription()
public void setDescription(String description)
description - new value for 'description 'public FlippingStrategy getFlippingStrategy()
public void setFlippingStrategy(FlippingStrategy flippingStrategy)
flippingStrategy - new value for 'flippingStrategy 'public String getGroup()
public void setGroup(String group)
group - new value for 'group 'public Set<String> getPermissions()
public void setPermissions(Set<String> permissions)
permissions - new value for 'permissions 'public <T> AbstractProperty<T> getProperty(String propId)
propId - propertypublic Map<String,AbstractProperty<?>> getCustomProperties()
public void setCustomProperties(Map<String,AbstractProperty<?>> customProperties)
customProperties - new value for 'customProperties 'Copyright © 2013–2015 FF4J. All rights reserved.