public static boolean isValid(String expression) { try { FilterExpression.of(expression); return true; } catch (IllegalArgumentException e) { return false; } }
public Builder filter(String filter) { this.filter = FilterExpression.of(filter); return this; }
/** * Add a treatment override for an identity * @param treatmentName The treatment an identity should receive * @param overrideName The name of the override * @param filter A filter expression that describes which attributes this override should apply for */ public Experiment addOverride(String overrideName, String treatmentName, String filter) { final FilterExpression filterExp = FilterExpression.of(filter); final TreatmentOverride override = new TreatmentOverride(overrideName, filterExp, treatment(treatmentName)); overrides.put(overrideName, override); return this; }
public Builder addOverride(String name, String filter, String treatmentName) { overrides.add(new TreatmentOverride(name, FilterExpression.of(filter), getTreatment(treatmentName))); return this; }
experiment.setFilter(FilterExpression.of(request.getFilter().orNull()));
experiment.setFilter(FilterExpression.of(request.getFilter()));
.addTreatment("control", "the default") .addTreatment("pie", "show them pie") .setFilter(FilterExpression.of("identified")) .allocate("control", 25) .allocate("pie", 25) .create("composite") .setFilter(FilterExpression.of(String.format("%s & %s", User.ATTR_IDENTIFIED, Device.ATTR_DEVICE))) .setHashAttributes(Device.ATTR_DEVICE) .addTreatment("control")