Interface ComparatorBuilder

    • Method Detail

      • builder

        static ComparatorBuilder builder()
        Creates a new comparator builder.
        Returns:
        the new comparator builder
      • add

        default ComparatorBuilder add​(Comparator<?> comparator)
        Adds the given comparator to this builder.
        Parameters:
        comparator - the comparator (can be null - then no comparator is added)
        Returns:
        the comparator builder
      • add

        default ComparatorBuilder add​(String field,
                                      Comparator<?> comparator)
        Adds the given comparator for the given field name or path to this builder.
        Parameters:
        field - the field name or path (can be null)
        comparator - the comparator (can be null - then no comparator is added)
        Returns:
        the comparator builder
      • add

        ComparatorBuilder add​(String field,
                              ValueExtractor valueExtractor,
                              Comparator<?> comparator)
        Adds the given comparator for the given field name or path to this builder. A custom value extractor can be specified.
        Parameters:
        field - the field name or path (can be null)
        valueExtractor - the value extractor (can be null)
        comparator - the comparator (can be null - then no comparator is added)
        Returns:
        the comparator builder
      • add

        default ComparatorBuilder add​(String field,
                                      boolean asc,
                                      boolean ignoreCase,
                                      boolean nullIsFirst)
        Creates and adds a value comparator for the given field name or path to this builder.
        Parameters:
        field - the field name or path (can be null)
        asc - true for an ascending order, false for a descending order
        ignoreCase - true for a case insensitive order, false for a case sensitive order
        nullIsFirst - specifies the order of null values
        Returns:
        the comparator builder
      • add

        ComparatorBuilder add​(String field,
                              boolean asc,
                              boolean ignoreCase,
                              boolean nullIsFirst,
                              ValueExtractor valueExtractor)
        Creates and adds a value comparator for the given field name or path to this builder. A custom value extractor can be specified.
        Parameters:
        field - the field name or path (can be null)
        asc - true for an ascending order, false for a descending order
        ignoreCase - true for a case insensitive order, false for a case sensitive order
        nullIsFirst - specifies the order of null values
        valueExtractor - the value extractor
        Returns:
        the comparator builder
      • add

        default ComparatorBuilder add​(ComparatorField field)
        Creates and adds a value comparator for the given field ordering description.
        Parameters:
        field - the field ordering description (can be null)
        Returns:
        the comparator builder
      • add

        default ComparatorBuilder add​(ComparatorField field,
                                      ValueExtractor valueExtractor)
        Creates and adds a value comparator for the given field ordering description. A custom value extractor can be specified.
        Parameters:
        field - the field ordering description (can be null)
        valueExtractor - the value extractor
        Returns:
        the comparator builder
      • addAll

        default ComparatorBuilder addAll​(Collection<? extends ComparatorField> fields)
        Creates and adds value comparators for the given field ordering descriptions.
        Parameters:
        fields - the ordering descriptions (can be null - no comparator will be added)
        Returns:
        the comparator builder
      • addAll

        default ComparatorBuilder addAll​(Collection<? extends ComparatorField> fields,
                                         ValueExtractor valueExtractor)
        Creates and adds value comparators for the given field ordering descriptions. A custom value extractor can be specified.
        Parameters:
        fields - the ordering descriptions (can be null - no comparator will be added)
        valueExtractor - the value extractor
        Returns:
        the comparator builder
      • addAll

        default ComparatorBuilder addAll​(ComparatorFields comparatorFields)
        Creates and adds value comparators for the given field ordering descriptions.
        Parameters:
        comparatorFields - the ordering descriptions (can be null - no comparator will be added)
        Returns:
        the comparator builder
      • addAll

        default ComparatorBuilder addAll​(ComparatorFields comparatorFields,
                                         ValueExtractor valueExtractor)
        Creates and adds value comparators for the given field ordering descriptions. A custom value extractor can be specified.
        Parameters:
        comparatorFields - the ordering descriptions (can be null - no comparator will be added)
        valueExtractor - the value extractor
        Returns:
        the comparator builder
      • fromWellKnownText

        default ComparatorBuilder fromWellKnownText​(String wkt)
        Creates and adds value comparators for the given well known text description (see ComparatorField.toWkt(), ComparatorFields.toWkt() and WellKnownTextParser).

        The syntax of the field ordering description is

         fieldNameOrPath0,asc,ignoreCase,nullIsFirst|fieldNameOrPath1,asc,ignoreCase,nullIsFirst
         

        For example

         person.lastName,asc,true,false|person.firstName,asc,true,false
         
        Parameters:
        wkt - the well known text (field ordering description)
        Returns:
        the comparator builder
      • fromWellKnownText

        ComparatorBuilder fromWellKnownText​(String wkt,
                                            WellKnownTextParser wktParser)
        Creates and adds value comparators for the given well known text description (see ComparatorField.toWkt(), ComparatorFields.toWkt() and WellKnownTextParser).

        The syntax of the field ordering depends on the WellKnownTextParser. The default is

         fieldNameOrPath0,asc,ignoreCase,nullIsFirst|fieldNameOrPath1,asc,ignoreCase,nullIsFirst
         

        For example

         person.lastName,asc,true,false|person.firstName,asc,true,false
         
        Parameters:
        wkt - the well known text (field ordering description)
        wktParser - the well known text parser (can be null)
        Returns:
        the comparator builder