Class PlatformDrilldownFilterService

java.lang.Object
org.cxbox.core.service.drilldown.filter.PlatformDrilldownFilterService

public class PlatformDrilldownFilterService extends Object
Service for building URL-encoded filter expressions for platform business components.

This service provides methods to create filter strings compatible with various widget types and search operations. Each method handles null values gracefully and returns URL-encoded filter expressions ready for use in platform requests.

Example Usage


 PlatformUrlParametersFilterService service = new PlatformUrlParametersFilterService();

 // Single field filters
 String nameFilter = service.input(MyDTO_.name, "searchText");
 String statusFilter = service.dictionary(MyDTO_.status, Status.ACTIVE);
 String priceFilter = service.money(MyDTO_.price, 100L);

 // Range filters
 String dateRangeFilter = service.dateFromTo(MyDTO_.createdAt,
     LocalDate.of(2025, 1, 1),
     LocalDate.of(2025, 12, 31));

 

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    Utils class for generation filter as encoded url string
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    checkbox(@NotNull DtoField<? super D,Boolean> field, Boolean value)
    Generates url encoded string a SPECIFIC filter for a single boolean value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    date(@NonNull DtoField<? super D,LocalDateTime> field, LocalDate value)
    Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a single date value
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    dateFromTo(@NonNull DtoField<? super D,LocalDateTime> field, LocalDate from, LocalDate to)
    Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range date
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    dateTime(@NonNull DtoField<? super D,LocalDateTime> field, LocalDateTime value)
    Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range datetime
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    dateTimeFromTo(@NonNull DtoField<? super D,LocalDateTime> field, LocalDateTime from, LocalDateTime to)
    Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range date
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Dictionary>
    String
    dictionary(@NonNull DtoField<? super D,T> field, Collection<T> values)
    Generates url encoded string a EQUALS_ONE_OF filters for a collection dictionary value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Dictionary>
    String
    dictionary(@NonNull DtoField<? super D,T> field, T value)
    Generates url encoded string a EQUALS_ONE_OF filters for single dictionary value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Enum<?>>
    String
    dictionaryEnum(@NonNull DtoField<? super D,T> field, Collection<T> values)
    Generates url encoded string a EQUALS_ONE_OF filter for a collection enum value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Enum<?>>
    String
    dictionaryEnum(@NonNull DtoField<? super D,T> field, T value)
    Generates url encoded string a EQUALS_ONE_OF filter for a single enum value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable>
    String
    fileUpload(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string a CONTAINS filter for a single value.
    formUrlPart(org.cxbox.api.data.BcIdentifier bc, Collection<String> fieldsFilterString)
    Constructs a JSON-style URL-encoded filter fragment for the specified business component.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable>
    String
    inlinePickList(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string a CONTAINS filter for a single value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    input(@NonNull DtoField<? super D,String> field, String value)
    Generates url encoded string a CONTAINS filter for a single string value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number>
    String
    money(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string with EQUALS filter for a number value
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number>
    String
    moneyFromTo(@NotNull DtoField<? super D,T> field, T from, T to)
    Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range value
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable>
    String
    multifield(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string a CONTAINS filter for a single value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends MultivalueField>
    String
    multipleSelect(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string with EQUALS_ONE_OF filter for a multivalue
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    multiValue(@NonNull DtoField<? super D,MultivalueField> field, MultivalueField value)
    Generates url encoded string with EQUALS_ONE_OF filter for a value
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends MultivalueField>
    String
    multivalueHover(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string with EQUALS_ONE_OF filter for a multivalue
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number>
    String
    number(@NonNull DtoField<? super D,T> field, T value)
    Generates url encoded string with EQUALS filter for a value
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number>
    String
    numberFromTo(@NonNull DtoField<? super D,T> field, T from, T to)
    Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range value
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number>
    String
    percent(@NonNull DtoField<? super D,T> field, T value)
    Generates url encoded string with EQUALS filter for a value
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number>
    String
    percentFromTo(@NonNull DtoField<? super D,T> field, T from, T to)
    Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range value
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable>
    String
    pickList(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string a CONTAINS filter for a single value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Enum<?>>
    String
    radio(@NotNull DtoField<? super D,T> field, Collection<T> values)
    Generates url encoded string a EQUALS_ONE_OF filter for a multiple enum value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable>
    String
    suggestionPickList(@NotNull DtoField<? super D,T> field, T value)
    Generates url encoded string a CONTAINS filter for a single value.
    <D extends org.cxbox.api.data.dto.DataResponseDTO>
    String
    text(@NonNull DtoField<? super D,String> field, String value)
    Generates url encoded string a CONTAINS filter for a single string value.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PlatformDrilldownFilterService

      public PlatformDrilldownFilterService()
  • Method Details

    • formUrlPart

      public Optional<String> formUrlPart(org.cxbox.api.data.BcIdentifier bc, Collection<String> fieldsFilterString)
      Constructs a JSON-style URL-encoded filter fragment for the specified business component.

      This method processes the provided collection of filter expressions and builds a single JSON-like fragment in the format:

      
       "<bcName>":"<filter1>&<filter2>&…"
       
      where each element has already been URL-encoded and individual filters are joined by the pre-encoded ampersand constant AMPERSAND_URL_ENCODED.

      Processing steps:

      1. Remove any null or empty strings from fieldsFilterString.
      2. If no valid filters remain, return Optional.empty().
      3. Otherwise, join the cleaned filters with AMPERSAND_URL_ENCODED, wrap the result in quotes and prepend the BC name in quotes, producing a single fragment.

      Example:

      
       Collection<String> filters = List.of("field1.equals=value1", "field2.equals=value2");
       Optional<String> part = formUrlPart(myBc, filters);
       // part -> Optional.of("\"myBc\":\"field1.equals=value1%26field2.in=[value2]\"")
       
      Parameters:
      bc - the business component identifier BcIdentifier (must not be null)
      fieldsFilterString - a collection of filter strings; null or empty elements will be ignored
      Returns:
      an Optional containing the formatted filter fragment if at least one non-empty filter is present; otherwise, Optional.empty()
    • input

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String input(@NonNull @NonNull DtoField<? super D,String> field, @Nullable String value)
      Generates url encoded string a CONTAINS filter for a single string value.

      Note: Use only for fields having "type": "input" in *.widget.json and String type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.input(MyDTO_.name, "searchText");
       

      Parameters:
      field - DTO field (non-null)
      value - substring to match (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • dictionary

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Dictionary> String dictionary(@NonNull @NonNull DtoField<? super D,T> field, @Nullable T value)
      Generates url encoded string a EQUALS_ONE_OF filters for single dictionary value.

      Note: Use only for fields having "type": "dictionary" in *.widget.json and ? implements Dictionary type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.input(MyDTO_.dictionary, MyDictionary.VALUE1);
       

      Parameters:
      field - DTO field (non-null)
      value - substring to match (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • dictionary

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Dictionary> String dictionary(@NonNull @NonNull DtoField<? super D,T> field, @Nullable Collection<T> values)
      Generates url encoded string a EQUALS_ONE_OF filters for a collection dictionary value.

      Note: Use only for fields having "type": "dictionary" in *.widget.json and ? implements Dictionary type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.dictionary(MyDTO_.dictionary, List.of(MyDictionary.VALUE1, MyDictionary.VALUE2));
       

      Parameters:
      field - DTO field (non-null)
      values - the collection value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • dictionaryEnum

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Enum<?>> String dictionaryEnum(@NonNull @NonNull DtoField<? super D,T> field, @Nullable T value)
      Generates url encoded string a EQUALS_ONE_OF filter for a single enum value.

      Note: Use only for fields having "type": "dictionary" in *.widget.json and ? extends Enum<?> type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.dictionary(MyDTO_.dictionaryEnum, MyDictionaryEnum.VALUE1);
       

      Parameters:
      field - DTO field (non-null)
      value - a single enum value. substring to match (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • dictionaryEnum

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Enum<?>> String dictionaryEnum(@NonNull @NonNull DtoField<? super D,T> field, @Nullable Collection<T> values)
      Generates url encoded string a EQUALS_ONE_OF filter for a collection enum value.

      Note: Use only for fields having "type": "dictionary" in *.widget.json and ? extends Enum<?> type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.dictionaryEnum(MyDTO_.dictionary, List.of(MyDictionary.VALUE1,MyDictionary.VALUE2));
       

      Parameters:
      field - DTO field (non-null)
      values - a collection enum value (nullable )
      Returns:
      URL-encoded fragment or null if value is null
    • date

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String date(@NonNull @NonNull DtoField<? super D,LocalDateTime> field, @Nullable LocalDate value)
      Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a single date value

      Note: Use only for fields having "type": "date" in *.widget.json and LocalDateTime type in DTO.
      Note:Use only if disabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=false

      Example usage:

      
       platformUrlParametersFilterService.date(MyDTO_.date, LocalDate.now());
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • dateFromTo

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String dateFromTo(@NonNull @NonNull DtoField<? super D,LocalDateTime> field, @Nullable LocalDate from, @Nullable LocalDate to)
      Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range date

      Note: Use only for fields having "type": "date" in *.widget.json and LocalDateTime type in DTO.
      Note:Use only if enabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=true

      Example usage:

      
       platformUrlParametersFilterService.dateFromTo(MyDTO_.date,
           LocalDate.of(2025, 1, 1),
           LocalDate.of(2025, 1, 31))
       
      Parameters:
      field - the field to filter (must not be null)
      from - the lower bound (inclusive, may be null)
      to - the higher bound date (inclusive, may be null)
      Returns:
      URL-encoded fragment or null if value is null
    • dateTime

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String dateTime(@NonNull @NonNull DtoField<? super D,LocalDateTime> field, @Nullable LocalDateTime value)
      Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range datetime

      Note: Use only for fields having "type": "dateTime" in *.widget.json and LocalDateTime type in DTO.
      Note:Use only if disabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=false

      Example usage:

      
       platformUrlParametersFilterService.dictionary(MyDTO_.dateTime, LocalDateTime.now());
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • dateTimeFromTo

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String dateTimeFromTo(@NonNull @NonNull DtoField<? super D,LocalDateTime> field, @Nullable LocalDateTime from, @Nullable LocalDateTime to)
      Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range date

      Note: Use only for fields having "type": "dateTime" in *.widget.json and LocalDateTime type in DTO.
      Note:Use only if enabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=true

      Example usage:

      
       platformUrlParametersFilterService.dateFromTo(MyDTO_.dateTime,
           LocalDateTime.now(),
           LocalDateTime.now().plusYear(1))
       
      Parameters:
      field - the field to filter (must not be null)
      from - the lower bound (inclusive, may be null)
      to - the higher bound date (inclusive, may be null)
      Returns:
      URL-encoded fragment or null if value is null
    • multiValue

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String multiValue(@NonNull @NonNull DtoField<? super D,MultivalueField> field, @Nullable MultivalueField value)
      Generates url encoded string with EQUALS_ONE_OF filter for a value

      Note: Use only for fields having "type": "multivalue" in *.widget.json and MultivalueField type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.multivalue(MyDTO_.name, myMultivalue);
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • number

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number> String number(@NonNull @NonNull DtoField<? super D,T> field, T value)
      Generates url encoded string with EQUALS filter for a value

      Note: Use only for fields having "type": "number" in *.widget.json and ? extends Number type in DTO.
      Note:Use only if disabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=false

      Example usage:

      
       platformUrlParametersFilterService.number(MyDTO_.id, 111111111L);
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • numberFromTo

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number> String numberFromTo(@NonNull @NonNull DtoField<? super D,T> field, @Nullable T from, @Nullable T to)
      Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range value

      Note:Use only for fields having "type" : "number" in .widget.json and ? extend Number in DTO
      Note:Use only if enabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=true

      Example usage:

      
       platformUrlParametersFilterService.number(MyDTO_.id, 111111111L);
       

      Parameters:
      field - the date field to filter (must not be null)
      from - the lower bound(inclusive, may be null)
      to - the upper bound (inclusive, may be null)
      Returns:
      URL-encoded fragment or null if value is null
    • percent

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number> String percent(@NonNull @NonNull DtoField<? super D,T> field, T value)
      Generates url encoded string with EQUALS filter for a value

      Note: Use only for fields having "type": "percent" in *.widget.json and ? extends Number type in DTO.
      Note:Use only if disabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=false

      Example usage:

      
       platformUrlParametersFilterService.percent(MyDTO_.percent, 10);
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • percentFromTo

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number> String percentFromTo(@NonNull @NonNull DtoField<? super D,T> field, T from, T to)
      Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range value

      Note:Use only for fields having "type" : "percent" in .widget.json and ? extend Number in DTO
      Note:Use only if enabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=true

      Example usage:

      
       platformUrlParametersFilterService.percent(MyDTO_.percent, 1, 10);
       

      Parameters:
      field - the date field to filter (must not be null)
      from - the lower bound(inclusive, may be null)
      to - the upper bound (inclusive, may be null)
      Returns:
      URL-encoded fragment or null if value is null
    • text

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String text(@NonNull @NonNull DtoField<? super D,String> field, String value)
      Generates url encoded string a CONTAINS filter for a single string value.

      Note: Use only for fields having "type": "text" in *.widget.json and String type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.text(MyDTO_.text, "searchText");
       

      Parameters:
      field - DTO field (non-null)
      value - substring to match (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • radio

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Enum<?>> String radio(@NotNull @NotNull DtoField<? super D,T> field, Collection<T> values)
      Generates url encoded string a EQUALS_ONE_OF filter for a multiple enum value.

      Note: Use only for fields having "type": "radio" in *.widget.json and ? extends Enum<?> type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.radio(MyDTO_.radio, List.of(RadioEnum.VALUE));
       

      Parameters:
      field - the DTO field to filter by
      values - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • checkbox

      public <D extends org.cxbox.api.data.dto.DataResponseDTO> String checkbox(@NotNull @NotNull DtoField<? super D,Boolean> field, Boolean value)
      Generates url encoded string a SPECIFIC filter for a single boolean value.

      Note: Use only for fields having "type": "checkbox" in *.widget.json and Boolean type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.checkbox(MyDTO_.checkbox, true);
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • money

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number> String money(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string with EQUALS filter for a number value

      Note: Use only for fields having "type": "money" in *.widget.json and ? extends Number type in DTO.
      Note:Use only if disabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=false

      Example usage:

      
       CxboxFBBase<MyDTO> filterBuilder = new CxboxFBBase<>();
       filterBuilder.percent(MyDTO_.percent, 10);
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • moneyFromTo

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Number> String moneyFromTo(@NotNull @NotNull DtoField<? super D,T> field, T from, T to)
      Generates url encoded string with GREATER_OR_EQUAL_THAN and LESS_OR_EQUAL_THAN filter for a range value

      Note:Use only for fields having "type" : "money" in .widget.json and ? extend Number in DTO
      Note:Use only if enabled property filter-by-range-enabled-default cxbox.widget.fields.filter-by-range-enabled-default=true

      Example usage:

      
       platformUrlParametersFilterService.money(MyDTO_.money, 1000, 10000);
       

      Parameters:
      field - the date field to filter (must not be null)
      from - the lower bound(inclusive, may be null)
      to - the upper bound (inclusive, may be null)
      Returns:
      URL-encoded fragment or null if value is null
    • fileUpload

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable> String fileUpload(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string a CONTAINS filter for a single value.

      Note: Use only for fields having "type": "fileUpload" in *.widget.json and ? extends Serializable type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.fileUpload(MyDTO_.fileUpload, "UUID");
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • pickList

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable> String pickList(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string a CONTAINS filter for a single value.

      Note: Use only for fields having "type": "pickList" in *.widget.json and ? extends Serializable type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.pickList(MyDTO_.pickList,  "pickList");
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • inlinePickList

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable> String inlinePickList(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string a CONTAINS filter for a single value.

      Note: Use only for fields having "type": "inlinePickList" in *.widget.json and ? extends Serializable type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.inlinePickList(MyDTO_.inlinePickList,  "inlinePickList");
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • multifield

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable> String multifield(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string a CONTAINS filter for a single value.

      Note: Use only for fields having "type": "multifield" in *.widget.json and ? extends Serializable type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.multifield(MyDTO_.multifield, "multifield");
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • suggestionPickList

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends Serializable> String suggestionPickList(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string a CONTAINS filter for a single value.

      Note: Use only for fields having "type": "suggestionPickList" in *.widget.json and ? extends Serializable type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.suggestionPickList(MyDTO_.suggestionPickList, "suggestionPickList");
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • multivalueHover

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends MultivalueField> String multivalueHover(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string with EQUALS_ONE_OF filter for a multivalue

      Note: Use only for fields having "type": "multivalueHover" in *.widget.json and ? extends MultivalueField type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.multivalueHover(MyDTO_.multivalueHover, multivalueHover);
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field (nullable)
      Returns:
      URL-encoded fragment or null if value is null
    • multipleSelect

      public <D extends org.cxbox.api.data.dto.DataResponseDTO, T extends MultivalueField> String multipleSelect(@NotNull @NotNull DtoField<? super D,T> field, T value)
      Generates url encoded string with EQUALS_ONE_OF filter for a multivalue

      Note: Use only for fields having "type": "multipleSelect" in *.widget.json and ? extends MultivalueField type in DTO.

      Example usage:

      
       platformUrlParametersFilterService.multipleSelect(MyDTO_.name, multipleSelect);
       

      Parameters:
      field - the DTO field to filter by
      value - the value to search for in the field ( nullable)
      Returns:
      URL-encoded fragment or null if value is null