Skip to content

Conversation

@aarsilv
Copy link
Contributor

@aarsilv aarsilv commented Dec 9, 2025

📚Assignment Details Stacked Pull Requests📚

👉 AssignmentDetails return object and supporting classes (#175)
🔲 Parse more UFC metadata (#176)
🔲 Ingest details part of shared test cases (#177)
🔲 FlagEvaluator computes details (#183)
🔲 Ability to unwrap EppoValue to a given type (#184)
🔲 Public assignment details methods (#181)
🔲 Bandit details (#182)

Eppo Internal
🎟️ Ticket: FFESUPPORT-378 - Implement assignment details for common Java core

Motivation and Context

We want to bring detailed assignment capabilities (e.g., get<Type>Details()) to Android and Java SDKs.

Description

This pull request gets the ball rolling by preparing the return type that the get<Type>Details() methods will return.
This is a generic AssignmentDetails<T>, where T will be Boolean, Integer, Double, String, or JsonNode. The template type allows the top level variation of the details to be the desired type without the customer having to unbox.

How has this been documented?

Documentation will be updated for the upstream SDKs once this is incorporated into them

How has this been tested?

This chunk is untested in this pull request as they are currently unused, but will be tested later on by changes to FlagEvaluatorTest, BaseEppoClientTest, and BaseEppoClientBanditTest.

@aarsilv aarsilv changed the title Assignment Details Part 1 of 6: AssignmentDetails return object and supporting classes Assignment Details Part 1 of 7: AssignmentDetails return object and supporting classes Dec 10, 2025
*
* @param <T> The type of the variation value (Boolean, Integer, Double, String, etc.)
*/
public class AssignmentDetails<T> {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the top-level class that will be returned by get<type>Details() methods.

We use generics so that the customer's code doesn't have to unwrap an EppoValue if they retrieve the variation (which is top level, typed T).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants