Interface ComparatorBuilder

All Known Implementing Classes:
ComparatorBuilder.DefaultComparatorBuilder

public interface ComparatorBuilder
The comparator builder.
Author:
Christian Bremer
  • Method Details

    • 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