Class Functions

java.lang.Object
org.apache.calcite.linq4j.function.Functions

public abstract class Functions extends Object
Utilities relating to functions.
  • Field Details

  • Method Details

    • constant

      public static <T, R> Function1<T,R> constant(R r)
      Returns a 1-parameter function that always returns the same value.
    • constantNull

      public static <T, R> Function1<T,R> constantNull()
      Returns a 1-parameter function that always returns null.
    • truePredicate1

      public static <T> Predicate1<T> truePredicate1()
      A predicate with one parameter that always returns true.
      Type Parameters:
      T - First parameter type
      Returns:
      Predicate that always returns true
    • falsePredicate1

      public static <T> Predicate1<T> falsePredicate1()
      A predicate with one parameter that always returns true.
      Type Parameters:
      T - First parameter type
      Returns:
      Predicate that always returns true
    • truePredicate2

      public static <T1, T2> Predicate2<T1,T2> truePredicate2()
      A predicate with two parameters that always returns true.
      Type Parameters:
      T1 - First parameter type
      T2 - Second parameter type
      Returns:
      Predicate that always returns true
    • falsePredicate2

      public static <T1, T2> Predicate2<T1,T2> falsePredicate2()
      A predicate with two parameters that always returns false.
      Type Parameters:
      T1 - First parameter type
      T2 - Second parameter type
      Returns:
      Predicate that always returns false
    • identitySelector

      public static <TSource> Function1<TSource,TSource> identitySelector()
    • toStringSelector

      public static <TSource> Function1<TSource,String> toStringSelector()
      Returns a selector that calls the Object.toString() method on each element.
    • ofTypePredicate

      public static <T, T2> Predicate1<T> ofTypePredicate(Class<T2> clazz)
      Creates a predicate that returns whether an object is an instance of a particular type or is null.
      Type Parameters:
      T - Type of objects to test
      T2 - Desired type
      Parameters:
      clazz - Desired type
      Returns:
      Predicate that tests for desired type
    • toPredicate2

      public static <T1, T2> Predicate2<T1,T2> toPredicate2(Predicate1<T1> p1)
    • toPredicate

      public static <T1, T2> Predicate2<T1,T2> toPredicate(Function2<T1,T2,Boolean> function)
      Converts a 2-parameter function to a predicate.
    • functionClass

      public static Class<? extends Function> functionClass(Type aClass)
      Returns the appropriate interface for a lambda function with 1 argument and the given return type.

      For example: functionClass(Integer.TYPE) returns IntegerFunction1.class; functionClass(String.class) returns Function1.class.

      Parameters:
      aClass - Return type
      Returns:
      Function class
    • adapt

      public static <T1> Function1<T1,Integer> adapt(IntegerFunction1<T1> f)
      Adapts an IntegerFunction1 (that returns an int) to an Function1 returning an Integer.
    • adapt

      public static <T1> Function1<T1,Double> adapt(DoubleFunction1<T1> f)
      Adapts a DoubleFunction1 (that returns a double) to an Function1 returning a Double.
    • adapt

      public static <T1> Function1<T1,Long> adapt(LongFunction1<T1> f)
      Adapts a LongFunction1 (that returns a long) to an Function1 returning a Long.
    • adapt

      public static <T1> Function1<T1,Float> adapt(FloatFunction1<T1> f)
      Adapts a FloatFunction1 (that returns a float) to an Function1 returning a Float.
    • adapt

      @Deprecated public static <T1, R> List<R> adapt(List<T1> list, Function1<T1,R> f)
      Deprecated.
      Use Lists.transform(java.util.List<F>, com.google.common.base.Function<? super F, ? extends T>)
      Creates a view of a list that applies a function to each element.
    • adapt

      @Deprecated public static <T, R> List<R> adapt(T[] ts, Function1<T,R> f)
      Deprecated.
      Use Lists.transform(java.util.List<F>, com.google.common.base.Function<? super F, ? extends T>) and Arrays.asList(Object[])
      Creates a view of an array that applies a function to each element.
    • apply

      public static <T1, R> List<R> apply(List<T1> list, Function1<T1,R> f)
      Creates a copy of a list, applying a function to each element.
    • filter

      public static <E> List<E> filter(List<E> list, Predicate1<E> predicate)
      Returns a list that contains only elements of list that match predicate. Avoids allocating a list if all elements match or no elements match.
    • exists

      public static <E> boolean exists(List<? extends E> list, Predicate1<E> predicate)
      Returns whether there is an element in list for which predicate is true.
    • all

      public static <E> boolean all(List<? extends E> list, Predicate1<E> predicate)
      Returns whether predicate is true for all elements of list.
    • generate

      public static <E> List<E> generate(int size, IntFunction<E> fn)
      Returns a list generated by applying a function to each index between 0 and size - 1.
    • ignore0

      public static <R> Function0<R> ignore0()
      Returns a function of arity 0 that does nothing.
      Type Parameters:
      R - Return type
      Returns:
      Function that does nothing.
    • ignore1

      public static <R, T0> Function1<R,T0> ignore1()
      Returns a function of arity 1 that does nothing.
      Type Parameters:
      R - Return type
      T0 - Type of parameter 0
      Returns:
      Function that does nothing.
    • ignore2

      public static <R, T0, T1> Function2<R,T0,T1> ignore2()
      Returns a function of arity 2 that does nothing.
      Type Parameters:
      R - Return type
      T0 - Type of parameter 0
      T1 - Type of parameter 1
      Returns:
      Function that does nothing.
    • nullsComparator

      public static <T extends Comparable<T>> Comparator<T> nullsComparator(boolean nullsFirst, boolean reverse)
      Returns a Comparator that handles null values.
      Parameters:
      nullsFirst - Whether nulls come before all other values
      reverse - Whether to reverse the usual order of Comparables
    • nullsComparator

      public static <T extends Comparable<T>> Comparator<T> nullsComparator(boolean nullsFirst, boolean reverse, Comparator<T> comparator)
      Returns a Comparator that handles null values.
      Parameters:
      nullsFirst - Whether nulls come before all other values
      reverse - Whether to reverse the usual order of Comparables
      comparator - Comparator to be used for comparison
    • identityComparer

      public static <T> EqualityComparer<T> identityComparer()
      Returns an EqualityComparer that uses object identity and hash code.
    • arrayComparer

      public static <T> EqualityComparer<T[]> arrayComparer()
      Returns an EqualityComparer that works on arrays of objects.
    • selectorComparer

      public static <T, T2> EqualityComparer<T> selectorComparer(Function1<T,T2> selector)
      Returns an EqualityComparer that uses a selector function.
    • compareLists

      public static int compareLists(List<?> b0, List<?> b1)
    • compareMaps

      public static int compareMaps(Map<?,?> b0, Map<?,?> b1)
      Compares two maps.

      Since maps in Calcite are implemented using LinkedHashMap, which guarantees insertion order, this method follows DuckDB's behavior by comparing entries in order. For each entry, it first compares the key and then the value.

    • compareObjectArrays

      public static int compareObjectArrays(@Nullable Object @Nullable [] b0, @Nullable Object @Nullable [] b1)