diff --git a/src/main/java/io/split/android/client/dtos/Excluded.java b/src/main/java/io/split/android/client/dtos/Excluded.java new file mode 100644 index 000000000..c4f26a618 --- /dev/null +++ b/src/main/java/io/split/android/client/dtos/Excluded.java @@ -0,0 +1,22 @@ +package io.split.android.client.dtos; + +import com.google.gson.annotations.SerializedName; + +import java.util.Set; + +public class Excluded { + + @SerializedName("keys") + private Set mKeys; + + @SerializedName("segments") + private Set mSegments; + + public Set getSegments() { + return mSegments; + } + + public Set getKeys() { + return mKeys; + } +} diff --git a/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java b/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java new file mode 100644 index 000000000..8fe887f64 --- /dev/null +++ b/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java @@ -0,0 +1,59 @@ +package io.split.android.client.dtos; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class RuleBasedSegment { + + @SerializedName("name") + private final String mName; + + @SerializedName("trafficTypeName") + private final String mTrafficTypeName; + + @SerializedName("changeNumber") + private final long mChangeNumber; + + @SerializedName("status") + private final Status mStatus; + + @SerializedName("conditions") + private final List mConditions; + + @SerializedName("excluded") + private final Excluded mExcluded; + + public RuleBasedSegment(String name, String trafficTypeName, long changeNumber, Status status, List conditions, Excluded excluded) { + mName = name; + mTrafficTypeName = trafficTypeName; + mChangeNumber = changeNumber; + mStatus = status; + mConditions = conditions; + mExcluded = excluded; + } + + public String getName() { + return mName; + } + + public String getTrafficTypeName() { + return mTrafficTypeName; + } + + public long getChangeNumber() { + return mChangeNumber; + } + + public Status getStatus() { + return mStatus; + } + + public List getConditions() { + return mConditions; + } + + public Excluded getExcluded() { + return mExcluded; + } +} diff --git a/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java b/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java new file mode 100644 index 000000000..b77388836 --- /dev/null +++ b/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java @@ -0,0 +1,46 @@ +package io.split.android.engine.experiments; + +import java.util.List; +import java.util.Set; + +public class ParsedRuleBasedSegment { + private final String mName; + private final Set mExcludedKeys; + private final Set mExcludedSegments; + private final List mParsedConditions; + private final String mTrafficTypeName; + private final long mChangeNumber; + + public ParsedRuleBasedSegment(String name, Set excludedKeys, Set excludedSegments, List parsedConditions, String trafficTypeName, long changeNumber) { + mName = name; + mExcludedKeys = excludedKeys; + mExcludedSegments = excludedSegments; + mParsedConditions = parsedConditions; + mTrafficTypeName = trafficTypeName; + mChangeNumber = changeNumber; + } + + public String getName() { + return mName; + } + + public Set getExcludedKeys() { + return mExcludedKeys; + } + + public Set getExcludedSegments() { + return mExcludedSegments; + } + + public List getParsedConditions() { + return mParsedConditions; + } + + public String getTrafficTypeName() { + return mTrafficTypeName; + } + + public long getChangeNumber() { + return mChangeNumber; + } +} \ No newline at end of file