Skip to content

Commit 5f14bb9

Browse files
committed
refactor: move OpenFeatureAPIFactory to sdk package and remove createIsolated()
Signed-off-by: marcozabel <marco.zabel@dynatrace.com>
1 parent 7b9b39d commit 5f14bb9

4 files changed

Lines changed: 4 additions & 24 deletions

File tree

src/main/java/dev/openfeature/sdk/OpenFeatureAPI.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,24 +56,6 @@ public static OpenFeatureAPI getInstance() {
5656
return SingletonHolder.INSTANCE;
5757
}
5858

59-
/**
60-
* Creates a new, independent {@link OpenFeatureAPI} instance with fully
61-
* isolated state.
62-
*
63-
* <p>Each instance maintains its own providers, evaluation context, hooks,
64-
* event handlers, and transaction context propagators. Instances do not
65-
* share state with the global singleton or with each other.
66-
*
67-
* <p>For better discoverability, prefer using
68-
* {@link dev.openfeature.sdk.isolated.OpenFeatureAPIFactory#createAPI()}.
69-
*
70-
* @return a new API instance
71-
* @see dev.openfeature.sdk.isolated.OpenFeatureAPIFactory#createAPI()
72-
*/
73-
public static OpenFeatureAPI createIsolated() {
74-
return new OpenFeatureAPI();
75-
}
76-
7759
/**
7860
* Get metadata about the default provider.
7961
*

src/main/java/dev/openfeature/sdk/isolated/OpenFeatureAPIFactory.java renamed to src/main/java/dev/openfeature/sdk/OpenFeatureAPIFactory.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
package dev.openfeature.sdk.isolated;
2-
3-
import dev.openfeature.sdk.OpenFeatureAPI;
1+
package dev.openfeature.sdk;
42

53
/**
64
* Factory for creating isolated OpenFeature API instances.
@@ -16,7 +14,6 @@
1614
* <p><strong>Spec references:</strong>
1715
* <ul>
1816
* <li>Requirement 1.8.1 &mdash; factory function for isolated instances</li>
19-
* <li>Requirement 1.8.3 &mdash; distinct package for discoverability</li>
2017
* </ul>
2118
*
2219
* @see <a href="https://openfeature.dev/specification/sections/flag-evaluation#18-isolated-api-instances">
@@ -40,9 +37,8 @@ private OpenFeatureAPIFactory() {
4037
* }</pre>
4138
*
4239
* @return a new API instance
43-
* @see OpenFeatureAPI#createIsolated()
4440
*/
4541
public static OpenFeatureAPI createAPI() {
46-
return OpenFeatureAPI.createIsolated();
42+
return new OpenFeatureAPI();
4743
}
4844
}

src/test/java/dev/openfeature/sdk/isolated/IsolatedAPISingeltonTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import dev.openfeature.sdk.ImmutableContext;
77
import dev.openfeature.sdk.NoOpTransactionContextPropagator;
88
import dev.openfeature.sdk.OpenFeatureAPI;
9+
import dev.openfeature.sdk.OpenFeatureAPIFactory;
910
import dev.openfeature.sdk.providers.memory.InMemoryProvider;
1011
import java.util.Map;
1112
import org.junit.jupiter.api.AfterEach;

src/test/java/dev/openfeature/sdk/isolated/IsolatedAPITest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import dev.openfeature.sdk.NoOpProvider;
77
import dev.openfeature.sdk.NoOpTransactionContextPropagator;
88
import dev.openfeature.sdk.OpenFeatureAPI;
9+
import dev.openfeature.sdk.OpenFeatureAPIFactory;
910
import dev.openfeature.sdk.ThreadLocalTransactionContextPropagator;
1011
import dev.openfeature.sdk.providers.memory.Flag;
1112
import dev.openfeature.sdk.providers.memory.InMemoryProvider;

0 commit comments

Comments
 (0)