public final class TestData.FlagBuilder.FlagRuleBuilder
extends java.lang.Object
TestData.FlagBuilder.
In the LaunchDarkly model, a flag can have any number of rules, and a rule can have any number of clauses. A clause is an individual test such as "name is 'X'". A rule matches a user if all of the rule's clauses match the user.
To start defining a rule, use one of the flag builder's matching methods such as
TestData.FlagBuilder.ifMatch(String, LDValue...). This defines the first clause for the rule.
Optionally, you may add more clauses with the rule builder's methods such as
andMatch(String, LDValue...). Finally, call thenReturn(boolean) or
thenReturn(int) to finish defining the rule.
| Constructor and Description |
|---|
FlagRuleBuilder() |
| Modifier and Type | Method and Description |
|---|---|
TestData.FlagBuilder.FlagRuleBuilder |
andMatch(ContextKind contextKind,
java.lang.String attribute,
LDValue... values)
Adds another clause, using the "is one of" operator.
|
TestData.FlagBuilder.FlagRuleBuilder |
andMatch(java.lang.String attribute,
LDValue... values)
Adds another clause, using the "is one of" operator.
|
TestData.FlagBuilder.FlagRuleBuilder |
andNotMatch(ContextKind contextKind,
java.lang.String attribute,
LDValue... values)
Adds another clause, using the "is not one of" operator.
|
TestData.FlagBuilder.FlagRuleBuilder |
andNotMatch(java.lang.String attribute,
LDValue... values)
Adds another clause, using the "is not one of" operator.
|
TestData.FlagBuilder |
thenReturn(boolean variation)
Finishes defining the rule, specifying the result value as a boolean.
|
TestData.FlagBuilder |
thenReturn(int variationIndex)
Finishes defining the rule, specifying the result as a variation index.
|
public TestData.FlagBuilder.FlagRuleBuilder andMatch(ContextKind contextKind, java.lang.String attribute, LDValue... values)
For example, this creates a rule that returns true if the name attribute for the
"company" context is "Ella" and the country is "gb":
testData.flag("flag")
.ifMatch(ContextKind.of("company"), "name", LDValue.of("Ella"))
.andMatch(ContextKind.of("company"), "country", LDValue.of("gb"))
.thenReturn(true));
contextKind - the context kind to matchattribute - the attribute to match againstvalues - values to compare toandNotMatch(ContextKind, String, LDValue...),
andMatch(String, LDValue...)public TestData.FlagBuilder.FlagRuleBuilder andMatch(java.lang.String attribute, LDValue... values)
andMatch(ContextKind, String, LDValue...) with ContextKind.DEFAULT as the context kind.
For example, this creates a rule that returns true if the name is "Patsy" and the
country is "gb":
testData.flag("flag")
.ifMatch("name", LDValue.of("Patsy"))
.andMatch("country", LDValue.of("gb"))
.thenReturn(true));
attribute - the user attribute to match againstvalues - values to compare toandNotMatch(String, LDValue...),
andMatch(ContextKind, String, LDValue...)public TestData.FlagBuilder.FlagRuleBuilder andNotMatch(ContextKind contextKind, java.lang.String attribute, LDValue... values)
For example, this creates a rule that returns true if the name attribute for the
"company" context is "Ella" and the country is not "gb":
testData.flag("flag")
.ifMatch(ContextKind.of("company"), "name", LDValue.of("Ella"))
.andNotMatch(ContextKind.of("company"), "country", LDValue.of("gb"))
.thenReturn(true));
contextKind - the context kind to matchattribute - the user attribute to match againstvalues - values to compare toandMatch(ContextKind, String, LDValue...),
andNotMatch(String, LDValue...)public TestData.FlagBuilder.FlagRuleBuilder andNotMatch(java.lang.String attribute, LDValue... values)
For example, this creates a rule that returns true if the name is "Patsy" and the
country is not "gb":
testData.flag("flag")
.ifMatch("name", LDValue.of("Patsy"))
.andNotMatch("country", LDValue.of("gb"))
.thenReturn(true));
attribute - the user attribute to match againstvalues - values to compare toandMatch(String, LDValue...),
andNotMatch(ContextKind, String, LDValue...)public TestData.FlagBuilder thenReturn(boolean variation)
variation - the value to return if the rule matches the userpublic TestData.FlagBuilder thenReturn(int variationIndex)
variationIndex - the variation to return if the rule matches the user: 0 for the first, 1
for the second, etc.