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