Package com.fasterxml.jackson.core.util
Class JacksonFeatureSet<F extends JacksonFeature>
java.lang.Object
com.fasterxml.jackson.core.util.JacksonFeatureSet<F>
- All Implemented Interfaces:
Serializable
public final class JacksonFeatureSet<F extends JacksonFeature>
extends Object
implements Serializable
Container similar to
EnumSet
meant for storing sets of
JacksonFeature
s (usually Enum
s): main
difference being that these sets are immutable. Also only supports relatively
small sets of features: specifically, up to 31 features.- Since:
- 2.12
- See Also:
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
JacksonFeatureSet
(int bitmask) Constructor for creating instance with specific bitmask, wherein1
bit means matchingJacksonFeature
is enabled and0
disabled. -
Method Summary
Modifier and TypeMethodDescriptionint
Accessor for underlying bitmaskstatic <F extends JacksonFeature>
JacksonFeatureSet<F>fromBitmask
(int bitmask) static <F extends JacksonFeature>
JacksonFeatureSet<F>fromDefaults
(F[] allFeatures) "Default" factory which will calculate settings based on default-enabled status of all features.boolean
Main accessor for checking whether given feature is enabled in this feature set.Mutant factory for getting a set in which specified feature is enabled: will either return this instance (if no change), or newly created set (if there is change).Mutant factory for getting a set in which specified feature is disabled: will either return this instance (if no change), or newly created set (if there is change).
-
Field Details
-
_enabled
protected int _enabled
-
-
Constructor Details
-
JacksonFeatureSet
protected JacksonFeatureSet(int bitmask) Constructor for creating instance with specific bitmask, wherein1
bit means matchingJacksonFeature
is enabled and0
disabled.- Parameters:
bitmask
- Bitmask for features that are enabled
-
-
Method Details
-
fromDefaults
"Default" factory which will calculate settings based on default-enabled status of all features.- Type Parameters:
F
- Self-reference type for convenience- Parameters:
allFeatures
- Set of all features (enabled or disabled): usually fromEnum.values()
- Returns:
- Feature set instance constructed
-
fromBitmask
-
with
Mutant factory for getting a set in which specified feature is enabled: will either return this instance (if no change), or newly created set (if there is change).- Parameters:
feature
- Feature to enable in set returned- Returns:
- Newly created set of state of feature changed;
this
if not
-
without
Mutant factory for getting a set in which specified feature is disabled: will either return this instance (if no change), or newly created set (if there is change).- Parameters:
feature
- Feature to disable in set returned- Returns:
- Newly created set of state of feature changed;
this
if not
-
isEnabled
Main accessor for checking whether given feature is enabled in this feature set.- Parameters:
feature
- Feature to check- Returns:
- True if feature is enabled in this set; false otherwise
-
asBitmask
public int asBitmask()Accessor for underlying bitmask- Returns:
- Bitmask of enabled features
-