Java provider

Get Started

An OpenFeature Provider is a pluggable integration layer that connects the OpenFeature SDK to a specific feature flag management system (e.g., VWO or custom in-house solutions). OpenFeature is an open-source standard for feature flagging, designed to provide a vendor-agnostic approach, enabling organizations to switch between feature flagging tools without rewriting application code.

This VWO Openfeature Provider for Java helps you integrate feature management and experimentation systems within your Java based server applications.

🚧

Please Note

This library is intended to be used in server-side contexts and has not been evaluated for use on mobile devices.

Requirements

The Java SDK supports:

  • Open JDK - 8 onwards
  • Oracle JDK - 8 onwards

SDK Installation

Install dependencies using mvn install

Add below Maven dependency in your project.

<dependency>
    <groupId>com.vwo.sdk</groupId>
    <artifactId>vwo-openfeature-provider-java</artifactId>
    <version>LATEST</version>
</dependency>

Usage

import dev.openfeature.sdk.*;
import com.vwo.VWOProvider;
import java.util.Map;
OpenFeatureAPI api = OpenFeatureAPI.getInstance();
Map<String, Object> options = new HashMap<>();
options.put("accountId", 1234);
options.put("sdkKey", "32-alpha-numeric-sdk-key");
api.setProvider(new VWOProvider(vwoClient));
EvaluationContext context = new ImmutableContext(new HashMap() {
       {
           put("userId", new Value("user1")); // userId
           put("key", new Value("variableKey")); // variable key
           put("customVariables", new Value(new ImmutableContext(new HashMap() {
               {
                   put("key", new Value("value"));
               }
           })));
       }
});

Client vwoClient = api.getClient("vwo-openfeature-provider-java-provider");
apiClient.getStringValue("featureKey", "defaultValue", context)