Interface ComparatorBuilder

    • Method Detail

      • newInstance

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

        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)
        Adds a default comparator for the given field (the value of the field must be comparable).
        Parameters:
        field - the field
        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

        default 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

        default 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 (can be null)
        Returns:
        the comparator builder
      • add

        default ComparatorBuilder add​(SortOrder 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​(SortOrder 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 (can be null)
        Returns:
        the comparator builder
      • addAll

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

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

        default ComparatorBuilder addAll​(Collection<? extends SortOrder> sortOrders,
                                         Function<SortOrder,​Comparator<?>> comparatorFunction)
        Adds comparators for the given sortOrders ordering descriptions.
        Parameters:
        sortOrders - the ordering descriptions (can be null - no comparator will be added)
        comparatorFunction - the comparator function
        Returns:
        the comparator builder
      • addAll

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

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

        default ComparatorBuilder addAll​(SortOrders sortOrders,
                                         Function<SortOrder,​Comparator<?>> comparatorFunction)
        Add all comparator builder.
        Parameters:
        sortOrders - the sort orders
        comparatorFunction - the comparator function
        Returns:
        the comparator builder
      • build

        <T> Comparator<T> build()
        Build comparator.
        Type Parameters:
        T - the type parameter
        Returns:
        the comparator