From ddb114475bcfb7c51bc708d01d4e0c060946946c Mon Sep 17 00:00:00 2001 From: Martin Zanoni Date: Tue, 17 Feb 2026 09:53:01 +0100 Subject: [PATCH] feat: api version 1.280.0 --- Generator/Generator.csproj | 2 +- Generator/JavaWriter.cs | 119 ++++++++++++++++-- .../java/com/relewise/client/Tracker.java | 4 + ...artTriggerResultTriggerResultResponse.java | 50 ++++++++ ...rchTriggerResultTriggerResultResponse.java | 50 ++++++++ .../model/AuthenticatedIdCondition.java | 68 ++++++++++ ...estTriggerResultTriggerResultResponse.java | 50 ++++++++ .../model/ContentThenSortBySpecification.java | 28 +++++ .../com/relewise/client/model/DataObject.java | 51 ++++++++ .../model/DataObjectDoubleSelector.java | 107 ++++++++++++++++ .../relewise/client/model/EmailCondition.java | 68 ++++++++++ .../client/model/FeedComposition.java | 36 +++++- .../com/relewise/client/model/FeedDwell.java | 10 +- .../relewise/client/model/FeedItemClick.java | 4 +- .../client/model/FeedItemPreview.java | 4 +- .../com/relewise/client/model/FeedSeed.java | 2 +- .../client/model/IdentifierCondition.java | 84 +++++++++++++ .../client/model/MultilingualCollection.java | 51 ++++++++ .../model/MultilingualCollectionValue.java | 62 +++++++++ ...estTriggerResultTriggerResultResponse.java | 50 ++++++++ ...roductCategoryThenSortBySpecification.java | 28 +++++ ...ngeTriggerResultTriggerResultResponse.java | 50 ++++++++ ...estTriggerResultTriggerResultResponse.java | 50 ++++++++ .../model/ProductThenSortBySpecification.java | 28 +++++ .../TrackUserAdministrativeActionRequest.java | 48 +++++++ .../com/relewise/client/model/Trackable.java | 1 + .../client/model/TrackingRequest.java | 1 + ...ityTriggerResultTriggerResultResponse.java | 50 ++++++++ .../model/UserAdministrativeAction.java | 59 +++++++++ .../UserAdministrativeActionDeleteUser.java | 34 +++++ ...nistrativeActionRemoveClassifications.java | 62 +++++++++ ...AdministrativeActionRemoveIdentifiers.java | 62 +++++++++ .../UserAdministrativeActionUpdateAction.java | 31 +++++ .../relewise/client/model/UserCondition.java | 3 + .../relewise/client/model/ValueSelector.java | 1 + ...ngeTriggerResultTriggerResultResponse.java | 50 ++++++++ 36 files changed, 1435 insertions(+), 23 deletions(-) create mode 100644 src/src/main/java/com/relewise/client/model/AbandonedCartTriggerResultTriggerResultResponse.java create mode 100644 src/src/main/java/com/relewise/client/model/AbandonedSearchTriggerResultTriggerResultResponse.java create mode 100644 src/src/main/java/com/relewise/client/model/AuthenticatedIdCondition.java create mode 100644 src/src/main/java/com/relewise/client/model/ContentCategoryInterestTriggerResultTriggerResultResponse.java create mode 100644 src/src/main/java/com/relewise/client/model/ContentThenSortBySpecification.java create mode 100644 src/src/main/java/com/relewise/client/model/DataObject.java create mode 100644 src/src/main/java/com/relewise/client/model/DataObjectDoubleSelector.java create mode 100644 src/src/main/java/com/relewise/client/model/EmailCondition.java create mode 100644 src/src/main/java/com/relewise/client/model/IdentifierCondition.java create mode 100644 src/src/main/java/com/relewise/client/model/MultilingualCollection.java create mode 100644 src/src/main/java/com/relewise/client/model/MultilingualCollectionValue.java create mode 100644 src/src/main/java/com/relewise/client/model/ProductCategoryInterestTriggerResultTriggerResultResponse.java create mode 100644 src/src/main/java/com/relewise/client/model/ProductCategoryThenSortBySpecification.java create mode 100644 src/src/main/java/com/relewise/client/model/ProductChangeTriggerResultTriggerResultResponse.java create mode 100644 src/src/main/java/com/relewise/client/model/ProductInterestTriggerResultTriggerResultResponse.java create mode 100644 src/src/main/java/com/relewise/client/model/ProductThenSortBySpecification.java create mode 100644 src/src/main/java/com/relewise/client/model/TrackUserAdministrativeActionRequest.java create mode 100644 src/src/main/java/com/relewise/client/model/UserActivityTriggerResultTriggerResultResponse.java create mode 100644 src/src/main/java/com/relewise/client/model/UserAdministrativeAction.java create mode 100644 src/src/main/java/com/relewise/client/model/UserAdministrativeActionDeleteUser.java create mode 100644 src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveClassifications.java create mode 100644 src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveIdentifiers.java create mode 100644 src/src/main/java/com/relewise/client/model/UserAdministrativeActionUpdateAction.java create mode 100644 src/src/main/java/com/relewise/client/model/VariantChangeTriggerResultTriggerResultResponse.java diff --git a/Generator/Generator.csproj b/Generator/Generator.csproj index 15f3be22..295d6520 100644 --- a/Generator/Generator.csproj +++ b/Generator/Generator.csproj @@ -9,7 +9,7 @@ - + diff --git a/Generator/JavaWriter.cs b/Generator/JavaWriter.cs index 4e95f16b..08b4b779 100644 --- a/Generator/JavaWriter.cs +++ b/Generator/JavaWriter.cs @@ -32,7 +32,13 @@ public void ClearFolder() public JavaWriter(Assembly assembly, string basePath, XmlDocumentation xmlDocumentation) { - _javaTypeWriters = new List { new JavaKeyValuePairWriter(this), new JavaEnumWriter(this), new JavaInterfaceWriter(this), new JavaClassWriter(this) }; + _javaTypeWriters = + [ + new JavaKeyValuePairWriter(this), + new JavaEnumWriter(this), + new JavaInterfaceWriter(this), + new JavaClassWriter(this) + ]; _javaTypeResolver = new JavaTypeResolver(assembly); Assembly = assembly; BasePath = basePath; @@ -47,19 +53,19 @@ public JavaWriter(Assembly assembly, string basePath, XmlDocumentation xmlDocume public void WriteTypes(IEnumerable types) { - foreach (var type in types) + foreach (Type type in types) { _javaTypeResolver.TypesToGenerate.Enqueue(type); } while (_javaTypeResolver.TypesToGenerate.Count > 0) { - var type = _javaTypeResolver.TypesToGenerate.Dequeue(); + Type type = _javaTypeResolver.TypesToGenerate.Dequeue(); if (type == typeof(object) || type == typeof(ValueType) || type == typeof(Enum)) continue; - var potentialNullableTypeName = TypeName(type); + string potentialNullableTypeName = TypeName(type); string typeName = potentialNullableTypeName.RemoveNullable(); if (_javaTypeResolver.IsWritten(typeName)) continue; @@ -69,10 +75,12 @@ public void WriteTypes(IEnumerable types) continue; } + DiscoverReferencedTypesFromSignatures(type); + using var streamWriter = File.CreateText($"{ModelsPath}{typeName}.java"); using var writer = new IndentedTextWriter(streamWriter); - var javaTypeWriter = _javaTypeWriters.FirstOrDefault(w => w.CanWrite(type)); + IJavaTypeWriter? javaTypeWriter = _javaTypeWriters.FirstOrDefault(w => w.CanWrite(type)); if (javaTypeWriter is null) { MissingTypeDefinitions.Add(type); @@ -85,17 +93,114 @@ public void WriteTypes(IEnumerable types) } } + private void DiscoverReferencedTypesFromSignatures(Type type) + { + const BindingFlags flags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly; + + foreach (var constructor in type.GetConstructors(flags)) + { + foreach (var parameter in constructor.GetParameters()) + { + DiscoverReferencedType(parameter.ParameterType); + } + } + + foreach (var method in type.GetMethods(flags)) + { + // Keep property/event accessors out of traversal, but include conversion operators. + if (method.IsSpecialName && method.Name is not "op_Implicit" and not "op_Explicit") + { + continue; + } + if (method.IsGenericMethodDefinition || method.ContainsGenericParameters) + { + continue; + } + + DiscoverReferencedType(method.ReturnType); + + foreach (var parameter in method.GetParameters()) + { + DiscoverReferencedType(parameter.ParameterType); + } + } + } + + private void DiscoverReferencedType(Type type) + { + if (type == typeof(void)) + { + return; + } + if (type.ContainsGenericParameters) + { + return; + } + + if (type.IsByRef || type.IsPointer) + { + if (type.GetElementType() is { } elementType) + { + DiscoverReferencedType(elementType); + } + return; + } + + if (type.IsArray) + { + if (type.GetElementType() is { } elementType) + { + DiscoverReferencedType(elementType); + } + return; + } + + if (type.IsGenericType || type.IsGenericTypeDefinition) + { + foreach (var genericArgument in type.GetGenericArguments()) + { + if (genericArgument.IsGenericParameter) + { + foreach (var constraint in genericArgument.GetGenericParameterConstraints()) + { + DiscoverReferencedType(constraint); + } + } + else + { + DiscoverReferencedType(genericArgument); + } + } + } + + if (type.IsGenericParameter) + { + foreach (var constraint in type.GetGenericParameterConstraints()) + { + DiscoverReferencedType(constraint); + } + return; + } + + if (type.IsGenericTypeDefinition || type.Assembly != Assembly) + { + return; + } + + TypeName(type); + } + public string TypeName(Type type) => _javaTypeResolver.ResolveType(type); public string TypeName(PropertyInfo property) { - var typeName = TypeName(property.PropertyType); + string typeName = TypeName(property.PropertyType); return PrependNullableIfApplicable(typeName, new NullabilityInfoContext().Create(property)); } public string TypeName(ParameterInfo property) { - var typeName = TypeName(property.ParameterType); + string typeName = TypeName(property.ParameterType); return PrependNullableIfApplicable(typeName, new NullabilityInfoContext().Create(property)); } diff --git a/src/src/main/java/com/relewise/client/Tracker.java b/src/src/main/java/com/relewise/client/Tracker.java index 9fe52eae..ab5cb3a9 100644 --- a/src/src/main/java/com/relewise/client/Tracker.java +++ b/src/src/main/java/com/relewise/client/Tracker.java @@ -109,6 +109,10 @@ public void track(TrackSearchTermRequest trackingRequest) throws IOException, In makeRequestAndValidate("TrackSearchTermRequest", trackingRequest, Void.class); } + public void track(TrackUserAdministrativeActionRequest trackingRequest) throws IOException, InterruptedException, ClientException { + makeRequestAndValidate("TrackUserAdministrativeActionRequest", trackingRequest, Void.class); + } + public void track(TrackUserUpdateRequest trackingRequest) throws IOException, InterruptedException, ClientException { makeRequestAndValidate("TrackUserUpdateRequest", trackingRequest, Void.class); } diff --git a/src/src/main/java/com/relewise/client/model/AbandonedCartTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/AbandonedCartTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..2d4e968f --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/AbandonedCartTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = AbandonedCartTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class AbandonedCartTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.AbandonedCartTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public AbandonedCartTriggerResult result; + public static AbandonedCartTriggerResultTriggerResultResponse create() + { + return new AbandonedCartTriggerResultTriggerResultResponse(); + } + public AbandonedCartTriggerResultTriggerResultResponse() + { + } + public AbandonedCartTriggerResult getResult() + { + return this.result; + } + public AbandonedCartTriggerResultTriggerResultResponse setResult(AbandonedCartTriggerResult result) + { + this.result = result; + return this; + } + @Override + public AbandonedCartTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/AbandonedSearchTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/AbandonedSearchTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..317ad930 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/AbandonedSearchTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = AbandonedSearchTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class AbandonedSearchTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.AbandonedSearchTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public AbandonedSearchTriggerResult result; + public static AbandonedSearchTriggerResultTriggerResultResponse create() + { + return new AbandonedSearchTriggerResultTriggerResultResponse(); + } + public AbandonedSearchTriggerResultTriggerResultResponse() + { + } + public AbandonedSearchTriggerResult getResult() + { + return this.result; + } + public AbandonedSearchTriggerResultTriggerResultResponse setResult(AbandonedSearchTriggerResult result) + { + this.result = result; + return this; + } + @Override + public AbandonedSearchTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/AuthenticatedIdCondition.java b/src/src/main/java/com/relewise/client/model/AuthenticatedIdCondition.java new file mode 100644 index 00000000..5162784d --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/AuthenticatedIdCondition.java @@ -0,0 +1,68 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = AuthenticatedIdCondition.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class AuthenticatedIdCondition extends UserCondition +{ + public String $type = "Relewise.Client.DataTypes.UserConditions.AuthenticatedIdCondition, Relewise.Client"; + public ArrayList authenticatedIds; + public static AuthenticatedIdCondition create() + { + return new AuthenticatedIdCondition(); + } + public AuthenticatedIdCondition() + { + this.negated = false; + } + public static AuthenticatedIdCondition create(Boolean negated) + { + return new AuthenticatedIdCondition(negated); + } + public AuthenticatedIdCondition(Boolean negated) + { + this.negated = negated; + } + public ArrayList getAuthenticatedIds() + { + return this.authenticatedIds; + } + public AuthenticatedIdCondition setAuthenticatedIds(String... authenticatedIds) + { + this.authenticatedIds = new ArrayList<>(Arrays.asList(authenticatedIds));; + return this; + } + public AuthenticatedIdCondition addToAuthenticatedIds(String authenticatedIds) + { + if (this.authenticatedIds == null) + { + this.authenticatedIds = new ArrayList<>(); + } + this.authenticatedIds.add(authenticatedIds); + return this; + } + @Override + public AuthenticatedIdCondition setNegated(Boolean negated) + { + this.negated = negated; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/ContentCategoryInterestTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/ContentCategoryInterestTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..0f68ac52 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/ContentCategoryInterestTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = ContentCategoryInterestTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ContentCategoryInterestTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.ContentCategoryInterestTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public ContentCategoryInterestTriggerResult result; + public static ContentCategoryInterestTriggerResultTriggerResultResponse create() + { + return new ContentCategoryInterestTriggerResultTriggerResultResponse(); + } + public ContentCategoryInterestTriggerResultTriggerResultResponse() + { + } + public ContentCategoryInterestTriggerResult getResult() + { + return this.result; + } + public ContentCategoryInterestTriggerResultTriggerResultResponse setResult(ContentCategoryInterestTriggerResult result) + { + this.result = result; + return this; + } + @Override + public ContentCategoryInterestTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/ContentThenSortBySpecification.java b/src/src/main/java/com/relewise/client/model/ContentThenSortBySpecification.java new file mode 100644 index 00000000..a20fb6cc --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/ContentThenSortBySpecification.java @@ -0,0 +1,28 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class ContentThenSortBySpecification +{ + public static ContentThenSortBySpecification create() + { + return new ContentThenSortBySpecification(); + } + public ContentThenSortBySpecification() + { + } +} diff --git a/src/src/main/java/com/relewise/client/model/DataObject.java b/src/src/main/java/com/relewise/client/model/DataObject.java new file mode 100644 index 00000000..bca1bb6f --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/DataObject.java @@ -0,0 +1,51 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class DataObject +{ + public HashMap data; + public static DataObject create(HashMap data) + { + return new DataObject(data); + } + public DataObject(HashMap data) + { + this.data = data; + } + public DataObject() + { + } + public HashMap getData() + { + return this.data; + } + public DataObject addToData(String key, DataValue value) + { + if (this.data == null) + { + this.data = new HashMap<>(); + } + this.data.put(key, value); + return this; + } + public DataObject setData(HashMap data) + { + this.data = data; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/DataObjectDoubleSelector.java b/src/src/main/java/com/relewise/client/model/DataObjectDoubleSelector.java new file mode 100644 index 00000000..8a48c867 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/DataObjectDoubleSelector.java @@ -0,0 +1,107 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +/** Selects a double value from a data object (or list of data objects) using an object path and optional filter. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = DataObjectDoubleSelector.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class DataObjectDoubleSelector extends ValueSelector +{ + public String $type = "Relewise.Client.Requests.ValueSelectors.DataObjectDoubleSelector, Relewise.Client"; + /** The data key on the target entity (e.g., product or variant data key) that contains the object or object list. */ + public String key; + /** The path within the data object that points to the numeric value to select. */ + public String[] objectPath; + /** Optional filter applied when the data key contains an object list. */ + public @Nullable DataObjectFilter objectFilter; + /** + * Creates a selector for a data object value. + * @param key The data key holding the object or object list. + * @param objectPath The path to the double value inside the object/object-list. + * @param objectFilter Optional filter to choose which object to read from an object list. + */ + public static DataObjectDoubleSelector create(String key, String[] objectPath, @Nullable DataObjectFilter objectFilter) + { + return new DataObjectDoubleSelector(key, objectPath, objectFilter); + } + /** + * Creates a selector for a data object value. + * @param key The data key holding the object or object list. + * @param objectPath The path to the double value inside the object/object-list. + * @param objectFilter Optional filter to choose which object to read from an object list. + */ + public DataObjectDoubleSelector(String key, String[] objectPath, @Nullable DataObjectFilter objectFilter) + { + this.key = key; + this.objectPath = objectPath; + this.objectFilter = objectFilter; + } + public DataObjectDoubleSelector() + { + } + /** The data key on the target entity (e.g., product or variant data key) that contains the object or object list. */ + public String getKey() + { + return this.key; + } + /** The path within the data object that points to the numeric value to select. */ + public String[] getObjectPath() + { + return this.objectPath; + } + /** Optional filter applied when the data key contains an object list. */ + public @Nullable DataObjectFilter getObjectFilter() + { + return this.objectFilter; + } + /** The data key on the target entity (e.g., product or variant data key) that contains the object or object list. */ + public DataObjectDoubleSelector setKey(String key) + { + this.key = key; + return this; + } + /** The path within the data object that points to the numeric value to select. */ + public DataObjectDoubleSelector setObjectPath(String... objectPath) + { + this.objectPath = objectPath; + return this; + } + /** The path within the data object that points to the numeric value to select. */ + public DataObjectDoubleSelector addToObjectPath(String objectPath) + { + if (this.objectPath == null) + { + this.objectPath = new String[] { objectPath }; + } + else + { + ArrayList existingList = new ArrayList<>(Arrays.asList(this.objectPath)); + existingList.add(objectPath); + this.objectPath = existingList.toArray(new String[0]); + } + return this; + } + /** Optional filter applied when the data key contains an object list. */ + public DataObjectDoubleSelector setObjectFilter(@Nullable DataObjectFilter objectFilter) + { + this.objectFilter = objectFilter; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/EmailCondition.java b/src/src/main/java/com/relewise/client/model/EmailCondition.java new file mode 100644 index 00000000..11d9dcbf --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/EmailCondition.java @@ -0,0 +1,68 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = EmailCondition.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class EmailCondition extends UserCondition +{ + public String $type = "Relewise.Client.DataTypes.UserConditions.EmailCondition, Relewise.Client"; + public ArrayList emails; + public static EmailCondition create() + { + return new EmailCondition(); + } + public EmailCondition() + { + this.negated = false; + } + public static EmailCondition create(Boolean negated) + { + return new EmailCondition(negated); + } + public EmailCondition(Boolean negated) + { + this.negated = negated; + } + public ArrayList getEmails() + { + return this.emails; + } + public EmailCondition setEmails(String... emails) + { + this.emails = new ArrayList<>(Arrays.asList(emails));; + return this; + } + public EmailCondition addToEmails(String emails) + { + if (this.emails == null) + { + this.emails = new ArrayList<>(); + } + this.emails.add(emails); + return this; + } + @Override + public EmailCondition setNegated(Boolean negated) + { + this.negated = negated; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/FeedComposition.java b/src/src/main/java/com/relewise/client/model/FeedComposition.java index 0847f90f..4b632f50 100644 --- a/src/src/main/java/com/relewise/client/model/FeedComposition.java +++ b/src/src/main/java/com/relewise/client/model/FeedComposition.java @@ -33,12 +33,16 @@ public class FeedComposition public @Nullable String name; /** Determines whether to include empty results for this composition element. Useful in combination with Name if you need to show a placeholder or alternative content when no results are found for this composition element. The default is false, meaning empty results will not be included in recommendation responses. */ public Boolean includeEmptyResults; - /** If specified, this composition will only be included in the rotation the specified number of times. Any subsequent rotations will exclude this composition element. */ + /** If specified, this composition will only be included in the rotation the specified number of times. Any subsequent rotations will exclude this composition element. Leave null to apply no limit. */ public @Nullable Integer rotationLimit; + /** If specified (minimum 1), this composition will only be included in the rotation the specified number of times per request. Any subsequent rotations within the same request will exclude this composition element. Leave null to apply no per-request limit. */ + public @Nullable Integer rotationLimitPerRequest; + /** If true, the entire composition element will be skipped if the requested count cannot be met. Example: If true: Requesting 3-5 results, but only 2 are available, then those 2 will be dropped as the lower bound of 3 cannot be met. Example: If false (default): Requesting 3-5 results, but only 2 are available, then those 2 will still be returned. */ + public Boolean skipEntirelyIfUnableToMeetCount; /** * Initializes a new instance of the FeedComposition class. * @param type The type of the entity represented by this composition element. - * @param count The desired range of counts for the entity. The lower bound must be greater than or equal to 0, and the upper bound must be greater than or equal to the lower bound. + * @param count The desired range of counts for the entity. The lower bound must be greater than or equal to 0, and the upper bound must be at least 1 and greater than or equal to the lower bound. */ public static FeedComposition create(FeedCompositionEntityType type, IntegerRange count) { @@ -47,7 +51,7 @@ public static FeedComposition create(FeedCompositionEntityType type, IntegerRang /** * Initializes a new instance of the FeedComposition class. * @param type The type of the entity represented by this composition element. - * @param count The desired range of counts for the entity. The lower bound must be greater than or equal to 0, and the upper bound must be greater than or equal to the lower bound. + * @param count The desired range of counts for the entity. The lower bound must be greater than or equal to 0, and the upper bound must be at least 1 and greater than or equal to the lower bound. */ public FeedComposition(FeedCompositionEntityType type, IntegerRange count) { @@ -92,11 +96,21 @@ public Boolean getIncludeEmptyResults() { return this.includeEmptyResults; } - /** If specified, this composition will only be included in the rotation the specified number of times. Any subsequent rotations will exclude this composition element. */ + /** If specified, this composition will only be included in the rotation the specified number of times. Any subsequent rotations will exclude this composition element. Leave null to apply no limit. */ public @Nullable Integer getRotationLimit() { return this.rotationLimit; } + /** If specified (minimum 1), this composition will only be included in the rotation the specified number of times per request. Any subsequent rotations within the same request will exclude this composition element. Leave null to apply no per-request limit. */ + public @Nullable Integer getRotationLimitPerRequest() + { + return this.rotationLimitPerRequest; + } + /** If true, the entire composition element will be skipped if the requested count cannot be met. Example: If true: Requesting 3-5 results, but only 2 are available, then those 2 will be dropped as the lower bound of 3 cannot be met. Example: If false (default): Requesting 3-5 results, but only 2 are available, then those 2 will still be returned. */ + public Boolean getSkipEntirelyIfUnableToMeetCount() + { + return this.skipEntirelyIfUnableToMeetCount; + } /** Gets or sets the type of the entity. */ public FeedComposition setType(FeedCompositionEntityType type) { @@ -139,10 +153,22 @@ public FeedComposition setIncludeEmptyResults(Boolean includeEmptyResults) this.includeEmptyResults = includeEmptyResults; return this; } - /** If specified, this composition will only be included in the rotation the specified number of times. Any subsequent rotations will exclude this composition element. */ + /** If specified, this composition will only be included in the rotation the specified number of times. Any subsequent rotations will exclude this composition element. Leave null to apply no limit. */ public FeedComposition setRotationLimit(@Nullable Integer rotationLimit) { this.rotationLimit = rotationLimit; return this; } + /** If specified (minimum 1), this composition will only be included in the rotation the specified number of times per request. Any subsequent rotations within the same request will exclude this composition element. Leave null to apply no per-request limit. */ + public FeedComposition setRotationLimitPerRequest(@Nullable Integer rotationLimitPerRequest) + { + this.rotationLimitPerRequest = rotationLimitPerRequest; + return this; + } + /** If true, the entire composition element will be skipped if the requested count cannot be met. Example: If true: Requesting 3-5 results, but only 2 are available, then those 2 will be dropped as the lower bound of 3 cannot be met. Example: If false (default): Requesting 3-5 results, but only 2 are available, then those 2 will still be returned. */ + public FeedComposition setSkipEntirelyIfUnableToMeetCount(Boolean skipEntirelyIfUnableToMeetCount) + { + this.skipEntirelyIfUnableToMeetCount = skipEntirelyIfUnableToMeetCount; + return this; + } } diff --git a/src/src/main/java/com/relewise/client/model/FeedDwell.java b/src/src/main/java/com/relewise/client/model/FeedDwell.java index 1f8d64cc..3223d286 100644 --- a/src/src/main/java/com/relewise/client/model/FeedDwell.java +++ b/src/src/main/java/com/relewise/client/model/FeedDwell.java @@ -29,13 +29,13 @@ public class FeedDwell extends Trackable implements IUserIdentifier public @Nullable User user; /** The unique identifier of the feed where the dwell occurred. This corresponds to the InitializedFeedId from a feed recommendation response. */ public UUID feedId; - /** The total time in milliseconds that the user spent viewing the visible items. Must be greater than 0. */ + /** The total time in milliseconds that the user spent viewing the visible items. Must be at least 1. */ public Integer dwellTimeMilliseconds; /** The collection of feed items that were visible to the user during the dwell period. Must contain at least one item. */ public FeedItem[] visibleItems; /** * Initializes a new instance of the FeedDwell class. - * @param user The user who was viewing the feed items. Must be an authenticated user. + * @param user The user who was viewing the feed items. * @param feedId The unique identifier of the feed where the dwell occurred. * @param dwellTimeMilliseconds The total time in milliseconds that the user spent viewing the visible items. * @param visibleItems The collection of feed items that were visible to the user during the dwell period. @@ -46,7 +46,7 @@ public static FeedDwell create(User user, UUID feedId, Integer dwellTimeMillisec } /** * Initializes a new instance of the FeedDwell class. - * @param user The user who was viewing the feed items. Must be an authenticated user. + * @param user The user who was viewing the feed items. * @param feedId The unique identifier of the feed where the dwell occurred. * @param dwellTimeMilliseconds The total time in milliseconds that the user spent viewing the visible items. * @param visibleItems The collection of feed items that were visible to the user during the dwell period. @@ -71,7 +71,7 @@ public UUID getFeedId() { return this.feedId; } - /** The total time in milliseconds that the user spent viewing the visible items. Must be greater than 0. */ + /** The total time in milliseconds that the user spent viewing the visible items. Must be at least 1. */ public Integer getDwellTimeMilliseconds() { return this.dwellTimeMilliseconds; @@ -93,7 +93,7 @@ public FeedDwell setFeedId(UUID feedId) this.feedId = feedId; return this; } - /** The total time in milliseconds that the user spent viewing the visible items. Must be greater than 0. */ + /** The total time in milliseconds that the user spent viewing the visible items. Must be at least 1. */ public FeedDwell setDwellTimeMilliseconds(Integer dwellTimeMilliseconds) { this.dwellTimeMilliseconds = dwellTimeMilliseconds; diff --git a/src/src/main/java/com/relewise/client/model/FeedItemClick.java b/src/src/main/java/com/relewise/client/model/FeedItemClick.java index 98a08969..8b475f54 100644 --- a/src/src/main/java/com/relewise/client/model/FeedItemClick.java +++ b/src/src/main/java/com/relewise/client/model/FeedItemClick.java @@ -33,7 +33,7 @@ public class FeedItemClick extends Trackable implements IUserIdentifier public FeedItem item; /** * Initializes a new instance of the FeedItemClick class. - * @param user The user who clicked the feed item. Must be an authenticated user. + * @param user The user who clicked the feed item. * @param feedId The unique identifier of the feed where the click occurred. * @param item The specific feed item that was clicked. */ @@ -43,7 +43,7 @@ public static FeedItemClick create(User user, UUID feedId, FeedItem item) } /** * Initializes a new instance of the FeedItemClick class. - * @param user The user who clicked the feed item. Must be an authenticated user. + * @param user The user who clicked the feed item. * @param feedId The unique identifier of the feed where the click occurred. * @param item The specific feed item that was clicked. */ diff --git a/src/src/main/java/com/relewise/client/model/FeedItemPreview.java b/src/src/main/java/com/relewise/client/model/FeedItemPreview.java index 544c90a8..ac13e6b7 100644 --- a/src/src/main/java/com/relewise/client/model/FeedItemPreview.java +++ b/src/src/main/java/com/relewise/client/model/FeedItemPreview.java @@ -33,7 +33,7 @@ public class FeedItemPreview extends Trackable implements IUserIdentifier public FeedItem item; /** * Initializes a new instance of the FeedItemPreview class. - * @param user The user who previewed the feed item. Must be an authenticated user. + * @param user The user who previewed the feed item. * @param feedId The unique identifier of the feed where the preview occurred. * @param item The specific feed item that was previewed. */ @@ -43,7 +43,7 @@ public static FeedItemPreview create(User user, UUID feedId, FeedItem item) } /** * Initializes a new instance of the FeedItemPreview class. - * @param user The user who previewed the feed item. Must be an authenticated user. + * @param user The user who previewed the feed item. * @param feedId The unique identifier of the feed where the preview occurred. * @param item The specific feed item that was previewed. */ diff --git a/src/src/main/java/com/relewise/client/model/FeedSeed.java b/src/src/main/java/com/relewise/client/model/FeedSeed.java index b8983392..9b283568 100644 --- a/src/src/main/java/com/relewise/client/model/FeedSeed.java +++ b/src/src/main/java/com/relewise/client/model/FeedSeed.java @@ -15,7 +15,7 @@ import java.util.Set; import java.util.HashSet; -/** Defines the settings for seeding the feed with specific products or content. Useful, for example, when you want to show a feed based on specific product(s) or content, such as for a feed on a PDP/CDP, a shopping cart, or an order. */ +/** Defines the settings for seeding the feed with specific products or content. Useful, for example, when you want to show a feed based on specific product(s) or content, such as for a feed on a PDP/CDP, a shopping cart, or an order. When provided, at least one of ProductAndVariantIds or ContentIds must be provided. */ @JsonIgnoreProperties(ignoreUnknown = true) public class FeedSeed { diff --git a/src/src/main/java/com/relewise/client/model/IdentifierCondition.java b/src/src/main/java/com/relewise/client/model/IdentifierCondition.java new file mode 100644 index 00000000..9f6375c8 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/IdentifierCondition.java @@ -0,0 +1,84 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = IdentifierCondition.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class IdentifierCondition extends UserCondition +{ + public String $type = "Relewise.Client.DataTypes.UserConditions.IdentifierCondition, Relewise.Client"; + public String key; + public ArrayList values; + public static IdentifierCondition create(String key) + { + return new IdentifierCondition(key); + } + public IdentifierCondition(String key) + { + this.key = key; + this.negated = false; + } + public static IdentifierCondition create(String key, Boolean negated) + { + return new IdentifierCondition(key, negated); + } + public IdentifierCondition(String key, Boolean negated) + { + this.key = key; + this.negated = negated; + } + public IdentifierCondition() + { + this.negated = false; + } + public String getKey() + { + return this.key; + } + public ArrayList getValues() + { + return this.values; + } + public IdentifierCondition setKey(String key) + { + this.key = key; + return this; + } + public IdentifierCondition setValues(String... values) + { + this.values = new ArrayList<>(Arrays.asList(values));; + return this; + } + public IdentifierCondition addToValues(String values) + { + if (this.values == null) + { + this.values = new ArrayList<>(); + } + this.values.add(values); + return this; + } + @Override + public IdentifierCondition setNegated(Boolean negated) + { + this.negated = negated; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/MultilingualCollection.java b/src/src/main/java/com/relewise/client/model/MultilingualCollection.java new file mode 100644 index 00000000..1b2f2316 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/MultilingualCollection.java @@ -0,0 +1,51 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class MultilingualCollection +{ + public ArrayList values; + public static MultilingualCollection create(MultilingualCollectionValue... collections) + { + return new MultilingualCollection(collections); + } + public MultilingualCollection(MultilingualCollectionValue... collections) + { + this.values = new ArrayList<>(Arrays.asList(collections)); + } + public MultilingualCollection() + { + } + public ArrayList getValues() + { + return this.values; + } + public MultilingualCollection setValues(MultilingualCollectionValue... values) + { + this.values = new ArrayList<>(Arrays.asList(values));; + return this; + } + public MultilingualCollection addToValues(MultilingualCollectionValue values) + { + if (this.values == null) + { + this.values = new ArrayList<>(); + } + this.values.add(values); + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/MultilingualCollectionValue.java b/src/src/main/java/com/relewise/client/model/MultilingualCollectionValue.java new file mode 100644 index 00000000..8fe678e7 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/MultilingualCollectionValue.java @@ -0,0 +1,62 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class MultilingualCollectionValue +{ + public Language language; + public ArrayList values; + public static MultilingualCollectionValue create(Language language, String... values) + { + return new MultilingualCollectionValue(language, values); + } + public MultilingualCollectionValue(Language language, String... values) + { + this.language = language; + this.values = new ArrayList<>(Arrays.asList(values)); + } + public MultilingualCollectionValue() + { + } + public Language getLanguage() + { + return this.language; + } + public ArrayList getValues() + { + return this.values; + } + public MultilingualCollectionValue setLanguage(Language language) + { + this.language = language; + return this; + } + public MultilingualCollectionValue setValues(String... values) + { + this.values = new ArrayList<>(Arrays.asList(values));; + return this; + } + public MultilingualCollectionValue addToValues(String values) + { + if (this.values == null) + { + this.values = new ArrayList<>(); + } + this.values.add(values); + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/ProductCategoryInterestTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/ProductCategoryInterestTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..85b03940 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/ProductCategoryInterestTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = ProductCategoryInterestTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProductCategoryInterestTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.ProductCategoryInterestTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public ProductCategoryInterestTriggerResult result; + public static ProductCategoryInterestTriggerResultTriggerResultResponse create() + { + return new ProductCategoryInterestTriggerResultTriggerResultResponse(); + } + public ProductCategoryInterestTriggerResultTriggerResultResponse() + { + } + public ProductCategoryInterestTriggerResult getResult() + { + return this.result; + } + public ProductCategoryInterestTriggerResultTriggerResultResponse setResult(ProductCategoryInterestTriggerResult result) + { + this.result = result; + return this; + } + @Override + public ProductCategoryInterestTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/ProductCategoryThenSortBySpecification.java b/src/src/main/java/com/relewise/client/model/ProductCategoryThenSortBySpecification.java new file mode 100644 index 00000000..9831ef8c --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/ProductCategoryThenSortBySpecification.java @@ -0,0 +1,28 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProductCategoryThenSortBySpecification +{ + public static ProductCategoryThenSortBySpecification create() + { + return new ProductCategoryThenSortBySpecification(); + } + public ProductCategoryThenSortBySpecification() + { + } +} diff --git a/src/src/main/java/com/relewise/client/model/ProductChangeTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/ProductChangeTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..a8b54752 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/ProductChangeTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = ProductChangeTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProductChangeTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.ProductChangeTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public ProductChangeTriggerResult result; + public static ProductChangeTriggerResultTriggerResultResponse create() + { + return new ProductChangeTriggerResultTriggerResultResponse(); + } + public ProductChangeTriggerResultTriggerResultResponse() + { + } + public ProductChangeTriggerResult getResult() + { + return this.result; + } + public ProductChangeTriggerResultTriggerResultResponse setResult(ProductChangeTriggerResult result) + { + this.result = result; + return this; + } + @Override + public ProductChangeTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/ProductInterestTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/ProductInterestTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..ffe09d98 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/ProductInterestTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = ProductInterestTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProductInterestTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.ProductInterestTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public ProductInterestTriggerResult result; + public static ProductInterestTriggerResultTriggerResultResponse create() + { + return new ProductInterestTriggerResultTriggerResultResponse(); + } + public ProductInterestTriggerResultTriggerResultResponse() + { + } + public ProductInterestTriggerResult getResult() + { + return this.result; + } + public ProductInterestTriggerResultTriggerResultResponse setResult(ProductInterestTriggerResult result) + { + this.result = result; + return this; + } + @Override + public ProductInterestTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/ProductThenSortBySpecification.java b/src/src/main/java/com/relewise/client/model/ProductThenSortBySpecification.java new file mode 100644 index 00000000..168872b5 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/ProductThenSortBySpecification.java @@ -0,0 +1,28 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProductThenSortBySpecification +{ + public static ProductThenSortBySpecification create() + { + return new ProductThenSortBySpecification(); + } + public ProductThenSortBySpecification() + { + } +} diff --git a/src/src/main/java/com/relewise/client/model/TrackUserAdministrativeActionRequest.java b/src/src/main/java/com/relewise/client/model/TrackUserAdministrativeActionRequest.java new file mode 100644 index 00000000..bf3efc21 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/TrackUserAdministrativeActionRequest.java @@ -0,0 +1,48 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = TrackUserAdministrativeActionRequest.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class TrackUserAdministrativeActionRequest extends TrackingRequest +{ + public String $type = "Relewise.Client.Requests.Tracking.TrackUserAdministrativeActionRequest, Relewise.Client"; + public UserAdministrativeAction administrativeAction; + public static TrackUserAdministrativeActionRequest create(UserAdministrativeAction administrativeAction) + { + return new TrackUserAdministrativeActionRequest(administrativeAction); + } + public TrackUserAdministrativeActionRequest(UserAdministrativeAction administrativeAction) + { + this.administrativeAction = administrativeAction; + } + public TrackUserAdministrativeActionRequest() + { + } + public UserAdministrativeAction getAdministrativeAction() + { + return this.administrativeAction; + } + public TrackUserAdministrativeActionRequest setAdministrativeAction(UserAdministrativeAction administrativeAction) + { + this.administrativeAction = administrativeAction; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/Trackable.java b/src/src/main/java/com/relewise/client/model/Trackable.java index 9340effe..321e5f80 100644 --- a/src/src/main/java/com/relewise/client/model/Trackable.java +++ b/src/src/main/java/com/relewise/client/model/Trackable.java @@ -47,6 +47,7 @@ @JsonSubTypes.Type(value = FeedItemClick.class, name = "Relewise.Client.DataTypes.Feed.FeedItemClick, Relewise.Client"), @JsonSubTypes.Type(value = ContentEngagement.class, name = "Relewise.Client.DataTypes.ContentEngagement, Relewise.Client"), @JsonSubTypes.Type(value = DisplayAdClick.class, name = "Relewise.Client.DataTypes.DisplayAdClick, Relewise.Client"), + @JsonSubTypes.Type(value = UserAdministrativeAction.class, name = "Relewise.Client.DataTypes.UserAdministrativeAction, Relewise.Client"), }) @JsonIgnoreProperties(ignoreUnknown = true) public abstract class Trackable diff --git a/src/src/main/java/com/relewise/client/model/TrackingRequest.java b/src/src/main/java/com/relewise/client/model/TrackingRequest.java index 7fd0a353..a791e419 100644 --- a/src/src/main/java/com/relewise/client/model/TrackingRequest.java +++ b/src/src/main/java/com/relewise/client/model/TrackingRequest.java @@ -48,6 +48,7 @@ @JsonSubTypes.Type(value = TrackFeedItemClickRequest.class, name = "Relewise.Client.Requests.Tracking.Feed.TrackFeedItemClickRequest, Relewise.Client"), @JsonSubTypes.Type(value = TrackContentEngagementRequest.class, name = "Relewise.Client.Requests.Tracking.TrackContentEngagementRequest, Relewise.Client"), @JsonSubTypes.Type(value = TrackDisplayAdClickRequest.class, name = "Relewise.Client.Requests.Tracking.TrackDisplayAdClickRequest, Relewise.Client"), + @JsonSubTypes.Type(value = TrackUserAdministrativeActionRequest.class, name = "Relewise.Client.Requests.Tracking.TrackUserAdministrativeActionRequest, Relewise.Client"), }) @JsonIgnoreProperties(ignoreUnknown = true) public abstract class TrackingRequest extends LicensedRequest diff --git a/src/src/main/java/com/relewise/client/model/UserActivityTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/UserActivityTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..74afcf51 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/UserActivityTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = UserActivityTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class UserActivityTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.UserActivityTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public UserActivityTriggerResult result; + public static UserActivityTriggerResultTriggerResultResponse create() + { + return new UserActivityTriggerResultTriggerResultResponse(); + } + public UserActivityTriggerResultTriggerResultResponse() + { + } + public UserActivityTriggerResult getResult() + { + return this.result; + } + public UserActivityTriggerResultTriggerResultResponse setResult(UserActivityTriggerResult result) + { + this.result = result; + return this; + } + @Override + public UserActivityTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/UserAdministrativeAction.java b/src/src/main/java/com/relewise/client/model/UserAdministrativeAction.java new file mode 100644 index 00000000..10287cd2 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/UserAdministrativeAction.java @@ -0,0 +1,59 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = UserAdministrativeAction.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class UserAdministrativeAction extends Trackable +{ + public String $type = "Relewise.Client.DataTypes.UserAdministrativeAction, Relewise.Client"; + public UserConditionCollection userConditions; + public UserAdministrativeActionUpdateAction userUpdateAction; + public static UserAdministrativeAction create(UserConditionCollection userConditions, UserAdministrativeActionUpdateAction userUpdateAction) + { + return new UserAdministrativeAction(userConditions, userUpdateAction); + } + public UserAdministrativeAction(UserConditionCollection userConditions, UserAdministrativeActionUpdateAction userUpdateAction) + { + this.userConditions = userConditions; + this.userUpdateAction = userUpdateAction; + } + public UserAdministrativeAction() + { + } + public UserConditionCollection getUserConditions() + { + return this.userConditions; + } + public UserAdministrativeActionUpdateAction getUserUpdateAction() + { + return this.userUpdateAction; + } + public UserAdministrativeAction setUserConditions(UserConditionCollection userConditions) + { + this.userConditions = userConditions; + return this; + } + public UserAdministrativeAction setUserUpdateAction(UserAdministrativeActionUpdateAction userUpdateAction) + { + this.userUpdateAction = userUpdateAction; + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/UserAdministrativeActionDeleteUser.java b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionDeleteUser.java new file mode 100644 index 00000000..1e531e32 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionDeleteUser.java @@ -0,0 +1,34 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = UserAdministrativeActionDeleteUser.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class UserAdministrativeActionDeleteUser extends UserAdministrativeActionUpdateAction +{ + public String $type = "Relewise.Client.DataTypes.UserAdministrativeAction+DeleteUser, Relewise.Client"; + public static UserAdministrativeActionDeleteUser create() + { + return new UserAdministrativeActionDeleteUser(); + } + public UserAdministrativeActionDeleteUser() + { + } +} diff --git a/src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveClassifications.java b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveClassifications.java new file mode 100644 index 00000000..a46033b2 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveClassifications.java @@ -0,0 +1,62 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = UserAdministrativeActionRemoveClassifications.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class UserAdministrativeActionRemoveClassifications extends UserAdministrativeActionUpdateAction +{ + public String $type = "Relewise.Client.DataTypes.UserAdministrativeAction+RemoveClassifications, Relewise.Client"; + /** Optional list of classification keys to remove from users matching UserConditions. If null removes all classifications. */ + public @Nullable String[] classificationKeys; + public static UserAdministrativeActionRemoveClassifications create() + { + return new UserAdministrativeActionRemoveClassifications(); + } + public UserAdministrativeActionRemoveClassifications() + { + } + /** Optional list of classification keys to remove from users matching UserConditions. If null removes all classifications. */ + public @Nullable String[] getClassificationKeys() + { + return this.classificationKeys; + } + /** Optional list of classification keys to remove from users matching UserConditions. If null removes all classifications. */ + public UserAdministrativeActionRemoveClassifications setClassificationKeys(String... classificationKeys) + { + this.classificationKeys = classificationKeys; + return this; + } + /** Optional list of classification keys to remove from users matching UserConditions. If null removes all classifications. */ + public UserAdministrativeActionRemoveClassifications addToClassificationKeys(String classificationKey) + { + if (this.classificationKeys == null) + { + this.classificationKeys = new String[] { classificationKey }; + } + else + { + ArrayList existingList = new ArrayList<>(Arrays.asList(this.classificationKeys)); + existingList.add(classificationKey); + this.classificationKeys = existingList.toArray(new String[0]); + } + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveIdentifiers.java b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveIdentifiers.java new file mode 100644 index 00000000..720b85c6 --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionRemoveIdentifiers.java @@ -0,0 +1,62 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = UserAdministrativeActionRemoveIdentifiers.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class UserAdministrativeActionRemoveIdentifiers extends UserAdministrativeActionUpdateAction +{ + public String $type = "Relewise.Client.DataTypes.UserAdministrativeAction+RemoveIdentifiers, Relewise.Client"; + /** Optional list of identifier keys whose values should be removed from users matching UserConditions. If null removes all identifiers. */ + public @Nullable String[] identifierKeys; + public static UserAdministrativeActionRemoveIdentifiers create() + { + return new UserAdministrativeActionRemoveIdentifiers(); + } + public UserAdministrativeActionRemoveIdentifiers() + { + } + /** Optional list of identifier keys whose values should be removed from users matching UserConditions. If null removes all identifiers. */ + public @Nullable String[] getIdentifierKeys() + { + return this.identifierKeys; + } + /** Optional list of identifier keys whose values should be removed from users matching UserConditions. If null removes all identifiers. */ + public UserAdministrativeActionRemoveIdentifiers setIdentifierKeys(String... identifierKeys) + { + this.identifierKeys = identifierKeys; + return this; + } + /** Optional list of identifier keys whose values should be removed from users matching UserConditions. If null removes all identifiers. */ + public UserAdministrativeActionRemoveIdentifiers addToIdentifierKeys(String identifierKey) + { + if (this.identifierKeys == null) + { + this.identifierKeys = new String[] { identifierKey }; + } + else + { + ArrayList existingList = new ArrayList<>(Arrays.asList(this.identifierKeys)); + existingList.add(identifierKey); + this.identifierKeys = existingList.toArray(new String[0]); + } + return this; + } +} diff --git a/src/src/main/java/com/relewise/client/model/UserAdministrativeActionUpdateAction.java b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionUpdateAction.java new file mode 100644 index 00000000..13b3310f --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/UserAdministrativeActionUpdateAction.java @@ -0,0 +1,31 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = UserAdministrativeActionDeleteUser.class, name = "Relewise.Client.DataTypes.UserAdministrativeAction+DeleteUser, Relewise.Client"), + @JsonSubTypes.Type(value = UserAdministrativeActionRemoveClassifications.class, name = "Relewise.Client.DataTypes.UserAdministrativeAction+RemoveClassifications, Relewise.Client"), + @JsonSubTypes.Type(value = UserAdministrativeActionRemoveIdentifiers.class, name = "Relewise.Client.DataTypes.UserAdministrativeAction+RemoveIdentifiers, Relewise.Client"), +}) +@JsonIgnoreProperties(ignoreUnknown = true) +public abstract class UserAdministrativeActionUpdateAction +{ + public String $type = ""; +} diff --git a/src/src/main/java/com/relewise/client/model/UserCondition.java b/src/src/main/java/com/relewise/client/model/UserCondition.java index 7ddfc510..2510cb91 100644 --- a/src/src/main/java/com/relewise/client/model/UserCondition.java +++ b/src/src/main/java/com/relewise/client/model/UserCondition.java @@ -34,6 +34,9 @@ @JsonSubTypes.Type(value = AndCondition.class, name = "Relewise.Client.DataTypes.UserConditions.AndCondition, Relewise.Client"), @JsonSubTypes.Type(value = HasDataCondition.class, name = "Relewise.Client.DataTypes.UserConditions.HasDataCondition, Relewise.Client"), @JsonSubTypes.Type(value = HasCompanyDataCondition.class, name = "Relewise.Client.DataTypes.UserConditions.HasCompanyDataCondition, Relewise.Client"), + @JsonSubTypes.Type(value = EmailCondition.class, name = "Relewise.Client.DataTypes.UserConditions.EmailCondition, Relewise.Client"), + @JsonSubTypes.Type(value = AuthenticatedIdCondition.class, name = "Relewise.Client.DataTypes.UserConditions.AuthenticatedIdCondition, Relewise.Client"), + @JsonSubTypes.Type(value = IdentifierCondition.class, name = "Relewise.Client.DataTypes.UserConditions.IdentifierCondition, Relewise.Client"), }) @JsonIgnoreProperties(ignoreUnknown = true) public abstract class UserCondition diff --git a/src/src/main/java/com/relewise/client/model/ValueSelector.java b/src/src/main/java/com/relewise/client/model/ValueSelector.java index 3c726aa5..aae8a9f0 100644 --- a/src/src/main/java/com/relewise/client/model/ValueSelector.java +++ b/src/src/main/java/com/relewise/client/model/ValueSelector.java @@ -22,6 +22,7 @@ @JsonSubTypes({ @JsonSubTypes.Type(value = DataDoubleSelector.class, name = "Relewise.Client.Requests.ValueSelectors.DataDoubleSelector, Relewise.Client"), @JsonSubTypes.Type(value = FixedDoubleValueSelector.class, name = "Relewise.Client.Requests.ValueSelectors.FixedDoubleValueSelector, Relewise.Client"), + @JsonSubTypes.Type(value = DataObjectDoubleSelector.class, name = "Relewise.Client.Requests.ValueSelectors.DataObjectDoubleSelector, Relewise.Client"), }) @JsonIgnoreProperties(ignoreUnknown = true) public abstract class ValueSelector diff --git a/src/src/main/java/com/relewise/client/model/VariantChangeTriggerResultTriggerResultResponse.java b/src/src/main/java/com/relewise/client/model/VariantChangeTriggerResultTriggerResultResponse.java new file mode 100644 index 00000000..118fb77f --- /dev/null +++ b/src/src/main/java/com/relewise/client/model/VariantChangeTriggerResultTriggerResultResponse.java @@ -0,0 +1,50 @@ +package com.relewise.client.model; + +import com.fasterxml.jackson.annotation.*; +import javax.annotation.Nullable; +import java.io.IOException; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.Arrays; +import java.util.UUID; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "$type", + defaultImpl = VariantChangeTriggerResultTriggerResultResponse.class) +@JsonIgnoreProperties(ignoreUnknown = true) +public class VariantChangeTriggerResultTriggerResultResponse extends TimedResponse +{ + public String $type = "Relewise.Client.Responses.Triggers.TriggerResultResponse`1[[Relewise.Client.Responses.Triggers.Results.VariantChangeTriggerResult, Relewise.Client, Version=1.280.0.0, Culture=neutral, PublicKeyToken=null]], Relewise.Client"; + public VariantChangeTriggerResult result; + public static VariantChangeTriggerResultTriggerResultResponse create() + { + return new VariantChangeTriggerResultTriggerResultResponse(); + } + public VariantChangeTriggerResultTriggerResultResponse() + { + } + public VariantChangeTriggerResult getResult() + { + return this.result; + } + public VariantChangeTriggerResultTriggerResultResponse setResult(VariantChangeTriggerResult result) + { + this.result = result; + return this; + } + @Override + public VariantChangeTriggerResultTriggerResultResponse setStatistics(Statistics statistics) + { + this.statistics = statistics; + return this; + } +}