<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>io.material.feature</groupId>
<artifactId>feature-targeting</artifactId>
<version>1.0.0</version>
</dependency>
import io.material.targeting.FeatureFlagProvider;
public class CustomFeatureFlagProvider implements FeatureFlagProvider {
@Override
public boolean isEnabled(FeatureFlag featureFlag) {
return false;
}
}
import io.material.targeting.FeatureFlag;
public class MyFeatureFlags {
public static final FeatureFlag FEATURE_A = new FeatureFlag("featureA");
public static final FeatureFlag FEATURE_B = new FeatureFlag("featureB");
}
import io.material.targeting.FeatureFlag;
import com.google.inject.Inject;
public class MyLibrary {
private final FeatureFlagProvider featureFlagProvider;
@Inject
public MyLibrary(FeatureFlagProvider featureFlagProvider) {
this.featureFlagProvider = featureFlagProvider;
}
public void doSomething() {
if (featureFlagProvider.isEnabled(MyFeatureFlags.FEATURE_A)) {
System.out.println("Doing something for FEATURE_A");
} else {
System.out.println("Doing something else");
}
}
}