Official Java client library for FigChain configuration management.
- Real-time configuration updates - Subscribe to configuration changes with long polling or fixed-rate strategies
- Rule-based rollouts - Evaluate feature flags and configurations based on user context
- Type-safe models - Avro-based serialization for efficient data transfer
- Flexible storage - In-memory or custom storage backends
- Java 21+ - Targets modern Java features
Add the FigChain repository to your pom.xml:
<repositories>
<repository>
<id>figchain-public</id>
<url>https://maven.repo.figchain.io/releases</url>
</repository>
</repositories>Add the dependency:
<dependency>
<groupId>io.figchain</groupId>
<artifactId>figchain-client</artifactId>
<version>1.0.6</version>
</dependency>Add the FigChain repository to your build.gradle:
repositories {
maven {
url = uri("https://maven.repo.figchain.io/releases")
}
}Add the dependency:
implementation 'io.figchain:figchain-client:1.0.6'import io.figchain.client.FcClient;
import io.figchain.client.FcClientBuilder;
import io.figchain.client.EvaluationContext;
// Build the client
FcClient client = new FcClientBuilder()
.apiKey("your-api-key")
.environmentId("your-environment-id")
.namespace("default")
.build();
// Start the client
client.start();
// Evaluate a configuration (for traffic split support)
EvaluationContext context = EvaluationContext.builder()
.addAttribute("userId", "user123")
.addAttribute("plan", "premium")
.build();
GeneratedConfigModel configValue = client.getEvaluatedFig("your-fig-key", context, GeneratedConfigModel.class);
// Shutdown when done
client.shutdown();For detailed usage instructions, see the Client Documentation.
- Java 21 or later
- Maven 3.8+ or Gradle 7+
mvn clean installThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.