Builder for creating an instance of a Filter.
Example
define([
"blueconic/api/data/domain/Filter"
], function(Filter) {
// The profile property contains any of the selected values.
const filter1 = new Filter.Builder().property("geo_city_name").containsAny(['barcelona', 'baku']).build();
// The profile property does not contain any of the selected values.
const filter2 = new Filter.Builder().property("geo_city_name").notContainsAny(['monaco city', 'hanoi']).build();
});
Functions
-
staticblueconic.api.data.domain.Filter.Builder.Builder#build()blueconic.api.data.domain.Filter
-
Builds the Filter based on the set properties.
Returns:
Type Description blueconic.api.data.domain.Filter The constructed filter. -
staticblueconic.api.data.domain.Filter.Builder.Builder#containsAll(values)blueconic.api.data.domain.Filter.Builder
-
Contains all of the values of the arguments.
Name Type Description values Array.<String> The values to match against.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // The profile property contains all the selected values. const filter1 = new Filter.Builder().property("geo_city_name").containsAll(['sochi', 'zandvoort']).build(); // Include profiles that are part of all of the selected segments. const filter2 = new Filter.Builder().segments().containsAll([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); // Include profiles for which consent is unknown for all of the given objectives. const filter3 = new Filter.Builder().objectives(Filter.CONSENT_OPERATOR.UNKNOWN).containsAll(['objective1', 'objective2']).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#containsAny(values)blueconic.api.data.domain.Filter.Builder
-
Contain at least one value of the arguments.
Name Type Description values Array.<String> The values to match against.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // The profile property contains any of the selected values. const filter1 = new Filter.Builder().property("geo_city_name").containsAny(['barcelona', 'baku']).build(); // Include profiles that are part of any of the selected segments. const filter2 = new Filter.Builder().segments().containsAny([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); // Include profiles for which consent is unknown for any of the given objectives. const filter3 = new Filter.Builder().objectives(Filter.CONSENT_OPERATOR.UNKNOWN).containsAny(['objective1', 'objective2']).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#empty()blueconic.api.data.domain.Filter.Builder
-
Can be set to make this a query that checks whether the value is empty.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // The profile property must be empty. const filter1 = new Filter.Builder().property("geo_city_name").empty().build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#groupProperty(propertyId)blueconic.api.data.domain.Filter.Builder
-
Specifies that this is a filter on a group property.
Name Type Description propertyId String The grouptype property id to filter on (e.g. store_name).
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // The group property contains any of the selected values. const filter1 = new Filter.Builder().property("favorite_store").groupProperty("store_name").containsAny(['Albert Heijn', 'Target']).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#inRange(minRange, maxRange)blueconic.api.data.domain.Filter.Builder
-
Specifies the range (min / max) of the value of the property. The arguments can be null.
Name Type Description minRange number The the min value of the property.
maxRange number The the max value of the property.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // Number minimal value of 8. const filter1 = new Filter.Builder().property("visits").inRange(8, null).build(); // Number in range between 1 to 5. const filter2 = new Filter.Builder().property("visits").inRange(1, 5).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#lastDays()blueconic.api.data.domain.Filter.Builder
-
Used with date properties to specify the last n days.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // Last 4 days. const filter1 = new Filter.Builder().property("firstvisit").lastDays(4).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#nextDays(nextDays)blueconic.api.data.domain.Filter.Builder
-
Used with date properties to specify the next n days.
Name Type Description nextDays number Used with date properties to specify the next n days.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // In the next 4 days. const filter1 = new Filter.Builder().property("firstvisit").nextDays(4).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#notContainsAll(values)blueconic.api.data.domain.Filter.Builder
-
Doesn't contain all of the values of the arguments.
Name Type Description values String The values to match against.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // The profile property does not contain all the selected values. const filter1 = new Filter.Builder().property("geo_city_name").notContainsAll(['boston', 'spa']).build(); // Include profiles that are not part of all of the selected segments. const filter2 = new Filter.Builder().segments().notContainsAll([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); })
-
staticblueconic.api.data.domain.Filter.Builder.Builder#notContainsAny(values)blueconic.api.data.domain.Filter.Builder
-
Doesn't contain any of the values of the arguments.
Name Type Description values Array.<String> The values to match against.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // The profile property does not contain any of the selected values. const filter1 = new Filter.Builder().property("geo_city_name").notContainsAny(['monaco city', 'hanoi']).build(); // Include profiles that are not part of any of the selected segments. const filter2 = new Filter.Builder().segments().notContainsAny([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#notEmpty()blueconic.api.data.domain.Filter.Builder
-
Can be set to make this a query that checks whether the value is not empty.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // The profile property must not be empty. const filter1 = new Filter.Builder().property("geo_city_name").notEmpty().build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#notInRange(minRange, maxRange)blueconic.api.data.domain.Filter.Builder
-
Specifies the inversed range (min / max) of the value of the property. The arguments can be null.
Name Type Description minRange number The the min value of the property.
maxRange number The the max value of the property.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // Number outside of range 1 to 5. const filter1 = new Filter.Builder().property("visits").notInRange(1, 5).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#notLastDays(lastDays)blueconic.api.data.domain.Filter.Builder
-
Used with date properties to specify the in in the last n days.
Name Type Description lastDays number Used with date properties to specify the inversed last n days.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // Not in the last 4 days. const filter1 = new Filter.Builder().property("firstvisit").notLastDays(4).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#notNextDays(nextDays)blueconic.api.data.domain.Filter.Builder
-
Used with date properties to specify not the next n days.
Name Type Description nextDays number Used with date properties to specify the inversed next n days.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // Not in the next 4 days. const filter1 = new Filter.Builder().property("firstvisit").notNextDays(4).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#objectives(consent)blueconic.api.data.domain.Filter.Builder
-
Specifies that this is a filter on objectives.
Name Type Description consent String The type of consent needed for the objectives. See Filter.CONSENT_OPERATOR for possible values.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // Include profiles for which consent is unknown for any of the given objectives. const filter1 = new Filter.Builder().objectives(Filter.CONSENT_OPERATOR.UNKNOWN).containsAny(['objective1', 'objective2']).build(); // Include profiles for which consent is unknown for all of the given objectives. const filter2 = new Filter.Builder().objectives(Filter.CONSENT_OPERATOR.UNKNOWN).containsAll(['objective1', 'objective2']).build(); // Include profiles for which consent is not needed or gave consent for all of the given objectives const filter3 = new Filter.Builder().objectives(Filter.CONSENT_OPERATOR.CONSENTED_OR_UNNEEDED).containsAll(['objective1', 'objective2']).build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#property(propertyId)blueconic.api.data.domain.Filter.Builder
-
Specifies that this is a filter on a profile property.
Name Type Description propertyId String The property id to filter on.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { const filter1 = new Filter.Builder().property("geo_city_name").build(); const filter2 = new Filter.Builder().property("visits").build(); });
-
staticblueconic.api.data.domain.Filter.Builder.Builder#segments()blueconic.api.data.domain.Filter.Builder
-
Specifies that this is a filter on segments.
Returns:
Type Description blueconic.api.data.domain.Filter.Builder The Builder object, which allows for method chaining. Example
define([ "blueconic/api/data/domain/Filter" ], function(Filter) { // Include profiles that are part of any of the selected segments. const filter1 = new Filter.Builder().segments().containsAny([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); // Include profiles that are not part of any of the selected segments. const filter2 = new Filter.Builder().segments().notContainsAny([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); // Include profiles that are part of all of the selected segments. const filter3 = new Filter.Builder().segments().containsAll([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); // Include profiles that are not part of all of the selected segments. const filter4 = new Filter.Builder().segments().notContainsAll([knownVisitorsSegment.id, allVisitorsSegment.id]).build(); });