![JAR search and dependency download from the Maven repository](/logo.png)
io.getunleash.FeatureToggle Maven / Gradle / Ivy
package io.getunleash;
import static java.util.Collections.emptyList;
import io.getunleash.lang.Nullable;
import io.getunleash.variant.VariantDefinition;
import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
public final class FeatureToggle {
private final String name;
private final boolean enabled;
private final List strategies;
@Nullable private final List variants;
private final boolean impressionData;
@Nullable private final List dependencies;
public FeatureToggle(String name, boolean enabled, List strategies) {
this(name, enabled, strategies, emptyList(), false, emptyList());
}
public FeatureToggle(
String name,
boolean enabled,
List strategies,
List variants) {
this(name, enabled, strategies, variants, false, emptyList());
}
public FeatureToggle(
String name,
boolean enabled,
List strategies,
@Nullable List variants,
@Nullable Boolean impressionData) {
this(name, enabled, strategies, variants, impressionData, emptyList());
}
public FeatureToggle(
String name,
boolean enabled,
List strategies,
@Nullable List variants,
@Nullable Boolean impressionData,
@Nullable List dependencies) {
this.name = name;
this.enabled = enabled;
this.strategies = strategies;
this.variants = variants;
this.impressionData = impressionData != null ? impressionData : false;
this.dependencies = dependencies;
}
public String getName() {
return name;
}
public boolean isEnabled() {
return enabled;
}
@Nonnull
public List getStrategies() {
if (strategies == null) {
return Collections.emptyList();
}
return this.strategies;
}
@Nonnull
public List getVariants() {
if (variants == null) {
return Collections.emptyList();
} else {
return variants;
}
}
@Nonnull
public List getDependencies() {
if (dependencies == null) {
return Collections.emptyList();
} else {
return dependencies;
}
}
public boolean hasDependencies() {
return dependencies != null && !dependencies.isEmpty();
}
@Nullable
public boolean hasImpressionData() {
return impressionData;
}
@Override
public String toString() {
return "FeatureToggle{"
+ "name='"
+ name
+ '\''
+ ", enabled="
+ enabled
+ ", strategies="
+ strategies
+ ", variants="
+ variants
+ ", impressionData="
+ impressionData
+ ", dependencies="
+ dependencies
+ '}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy