@@ -256,7 +256,7 @@ public interface SplitClient {
256256 Map <String , SplitResult > getTreatmentsWithConfig (String key , List <String > featureFlagNames , Map <String , Object > attributes );
257257
258258 /**
259- * Same as {@link #getTreatments(Key, List<String> , Map)} but it returns for each feature flag the configuration associated to the
259+ * Same as {@link #getTreatments(Key, List, Map)} but it returns for each feature flag the configuration associated to the
260260 * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
261261 *
262262 * @param key the matching and bucketing keys. MUST NOT be null.
@@ -268,6 +268,21 @@ public interface SplitClient {
268268 */
269269 Map <String , SplitResult > getTreatmentsWithConfig (Key key , List <String > featureFlagNames , Map <String , Object > attributes );
270270
271+ /**
272+ * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
273+ * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
274+ * <p/>
275+ * <p/>
276+ * Examples include showing a different treatment to users on trial plan
277+ * vs. premium plan. Another example is to show a different treatment
278+ * to users created after a certain date.
279+ *
280+ * @param key a unique key of your customer (e.g. user_id, user_email, account_id, etc.) MUST not be null or empty.
281+ * @param flagSet the Flag Set name that you want to evaluate. MUST not be null or empty.
282+ * @return for each feature flag the evaluated treatment, the default treatment of this feature flag, or 'control'.
283+ */
284+ Map <String , String > getTreatmentsByFlagSet (String key , String flagSet );
285+
271286 /**
272287 * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
273288 * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
@@ -300,6 +315,21 @@ public interface SplitClient {
300315 */
301316 Map <String , String > getTreatmentsByFlagSet (Key key , String flagSet , Map <String , Object > attributes );
302317
318+ /**
319+ * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
320+ * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
321+ * <p/>
322+ * <p/>
323+ * Examples include showing a different treatment to users on trial plan
324+ * vs. premium plan. Another example is to show a different treatment
325+ * to users created after a certain date.
326+ *
327+ * @param key a unique key of your customer (e.g. user_id, user_email, account_id, etc.) MUST not be null or empty.
328+ * @param flagSets the names of Flag Sets that you want to evaluate. MUST not be null or empty.
329+ * @return for each feature flag the evaluated treatment, the default treatment of this feature flag, or 'control'.
330+ */
331+ Map <String , String > getTreatmentsByFlagSets (String key , List <String > flagSets );
332+
303333 /**
304334 * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
305335 * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
@@ -332,6 +362,22 @@ public interface SplitClient {
332362 */
333363 Map <String , String > getTreatmentsByFlagSets (Key key , List <String > flagSets , Map <String , Object > attributes );
334364
365+ /**
366+ * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
367+ * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
368+ * <p/>
369+ * <p/>
370+ * Examples include showing a different treatment to users on trial plan
371+ * vs. premium plan. Another example is to show a different treatment
372+ * to users created after a certain date.
373+ *
374+ * @param key a unique key of your customer (e.g. user_id, user_email, account_id, etc.) MUST not be null or empty.
375+ * @param flagSet the Flag Set name that you want to evaluate. MUST not be null or empty.
376+ * @return for each feature flag the evaluated treatment (the default treatment of this feature flag, or 'control') and a configuration
377+ * associated to this treatment if set.
378+ */
379+ Map <String , SplitResult > getTreatmentsWithConfigByFlagSet (String key , String flagSet );
380+
335381 /**
336382 * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
337383 * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
@@ -366,6 +412,22 @@ public interface SplitClient {
366412 */
367413 Map <String , SplitResult > getTreatmentsWithConfigByFlagSet (Key key , String flagSet , Map <String , Object > attributes );
368414
415+ /**
416+ * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
417+ * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
418+ * <p/>
419+ * <p/>
420+ * Examples include showing a different treatment to users on trial plan
421+ * vs. premium plan. Another example is to show a different treatment
422+ * to users created after a certain date.
423+ *
424+ * @param key a unique key of your customer (e.g. user_id, user_email, account_id, etc.) MUST not be null or empty.
425+ * @param flagSets the names of Flag Sets that you want to evaluate. MUST not be null or empty.
426+ * @return for each feature flag the evaluated treatment (the default treatment of this feature flag, or 'control') and a configuration
427+ * associated to this treatment if set.
428+ */
429+ Map <String , SplitResult > getTreatmentsWithConfigByFlagSets (String key , List <String > flagSets );
430+
369431 /**
370432 * Same as {@link #getTreatments(String, List<String>, Map)} but it returns for each feature flag the configuration associated to the
371433 * matching treatment if any. Otherwise {@link SplitResult.configurations()} will be null.
@@ -444,7 +506,6 @@ public interface SplitClient {
444506 * @param key the identifier of the entity
445507 * @param trafficType the type of the event
446508 * @param eventType the type of the event
447- * @param value the value of the event
448509 *
449510 * @return true if the track was successful, false otherwise
450511 */
0 commit comments