11package io .split .engine .experiments ;
22
33import com .google .common .collect .ImmutableList ;
4+ import io .split .client .dtos .Prerequisites ;
45import io .split .engine .matchers .AttributeMatcher ;
56import io .split .engine .matchers .RuleBasedSegmentMatcher ;
67import io .split .engine .matchers .UserDefinedSegmentMatcher ;
@@ -34,6 +35,7 @@ public class ParsedSplit {
3435 private final Map <String , String > _configurations ;
3536 private final HashSet <String > _flagSets ;
3637 private final boolean _impressionsDisabled ;
38+ private List <Prerequisites > _prerequisites ;
3739
3840 public static ParsedSplit createParsedSplitForTests (
3941 String feature ,
@@ -45,7 +47,8 @@ public static ParsedSplit createParsedSplitForTests(
4547 long changeNumber ,
4648 int algo ,
4749 HashSet <String > flagSets ,
48- boolean impressionsDisabled
50+ boolean impressionsDisabled ,
51+ List <Prerequisites > prerequisites
4952 ) {
5053 return new ParsedSplit (
5154 feature ,
@@ -60,7 +63,8 @@ public static ParsedSplit createParsedSplitForTests(
6063 algo ,
6164 null ,
6265 flagSets ,
63- impressionsDisabled
66+ impressionsDisabled ,
67+ prerequisites
6468 );
6569 }
6670
@@ -75,7 +79,8 @@ public static ParsedSplit createParsedSplitForTests(
7579 int algo ,
7680 Map <String , String > configurations ,
7781 HashSet <String > flagSets ,
78- boolean impressionsDisabled
82+ boolean impressionsDisabled ,
83+ List <Prerequisites > prerequisites
7984 ) {
8085 return new ParsedSplit (
8186 feature ,
@@ -90,7 +95,8 @@ public static ParsedSplit createParsedSplitForTests(
9095 algo ,
9196 configurations ,
9297 flagSets ,
93- impressionsDisabled
98+ impressionsDisabled ,
99+ prerequisites
94100 );
95101 }
96102
@@ -107,7 +113,8 @@ public ParsedSplit(
107113 int algo ,
108114 Map <String , String > configurations ,
109115 HashSet <String > flagSets ,
110- boolean impressionsDisabled
116+ boolean impressionsDisabled ,
117+ List <Prerequisites > prerequisites
111118 ) {
112119 _split = feature ;
113120 _seed = seed ;
@@ -125,6 +132,7 @@ public ParsedSplit(
125132 _configurations = configurations ;
126133 _flagSets = flagSets ;
127134 _impressionsDisabled = impressionsDisabled ;
135+ _prerequisites = prerequisites ;
128136 }
129137
130138 public String feature () {
@@ -171,6 +179,7 @@ public Map<String, String> configurations() {
171179 public boolean impressionsDisabled () {
172180 return _impressionsDisabled ;
173181 }
182+ public List <Prerequisites > prerequisites () { return _prerequisites ; }
174183
175184 @ Override
176185 public int hashCode () {
@@ -205,7 +214,8 @@ public boolean equals(Object obj) {
205214 && _changeNumber == other ._changeNumber
206215 && _algo == other ._algo
207216 && _configurations == null ? other ._configurations == null : _configurations .equals (other ._configurations )
208- && _impressionsDisabled == other ._impressionsDisabled ;
217+ && _impressionsDisabled == other ._impressionsDisabled
218+ && _prerequisites == other ._prerequisites ;
209219 }
210220
211221 @ Override
@@ -231,6 +241,9 @@ public String toString() {
231241 bldr .append (_configurations );
232242 bldr .append (", impressionsDisabled:" );
233243 bldr .append (_impressionsDisabled );
244+ bldr .append (", prerequisites:" );
245+ bldr .append (_prerequisites );
246+
234247 return bldr .toString ();
235248
236249 }
0 commit comments