private static NullAwareComparator<Object>[] makeNullAware( TypeComparator<Object>[] comparators, boolean[] orders) { checkArgument(comparators.length == orders.length); NullAwareComparator<?>[] result = new NullAwareComparator<?>[comparators.length]; for (int i = 0; i < comparators.length; i++) { result[i] = new NullAwareComparator<Object>(comparators[i], orders[i]); } return (NullAwareComparator<Object>[]) result; } }
@Override public TypeComparator<T> duplicate() { return new NullAwareComparator<T>(wrappedComparator.duplicate(), order); }
@Override public TypeComparator[] getFlatComparators() { // determine the flat comparators and wrap them again in null-aware comparators List<TypeComparator<?>> flatComparators = new ArrayList<>(); if (wrappedComparator instanceof CompositeTypeComparator) { ((CompositeTypeComparator) wrappedComparator).getFlatComparator(flatComparators); } else { flatComparators.add(wrappedComparator); } TypeComparator<?>[] result = new TypeComparator[flatComparators.size()]; for (int i = 0; i < result.length; i++) { result[i] = new NullAwareComparator<>(flatComparators.get(i), order); } return result; } }
public KeyExtractor(int[] keyPositions, boolean[] orders, InternalType[] types, TypeComparator[] comparators) { this.keyPositions = keyPositions; this.types = types; this.nullAwareComparators = new NullAwareComparator[comparators.length]; for (int i = 0; i < nullAwareComparators.length; i++) { nullAwareComparators[i] = new NullAwareComparator<>(comparators[i], orders[i]); } }
private static NullAwareComparator<Object>[] makeNullAware( TypeComparator<Object>[] comparators, boolean[] orders) { checkArgument(comparators.length == orders.length); NullAwareComparator<?>[] result = new NullAwareComparator<?>[comparators.length]; for (int i = 0; i < comparators.length; i++) { result[i] = new NullAwareComparator<Object>(comparators[i], orders[i]); } return (NullAwareComparator<Object>[]) result; } }
private static NullAwareComparator<Object>[] makeNullAware( TypeComparator<Object>[] comparators, boolean[] orders) { checkArgument(comparators.length == orders.length); NullAwareComparator<?>[] result = new NullAwareComparator<?>[comparators.length]; for (int i = 0; i < comparators.length; i++) { result[i] = new NullAwareComparator<Object>(comparators[i], orders[i]); } return (NullAwareComparator<Object>[]) result; } }
@Override public TypeComparator<T> duplicate() { return new NullAwareComparator<T>(wrappedComparator.duplicate(), order); }
@Override public TypeComparator<T> duplicate() { return new NullAwareComparator<T>(wrappedComparator.duplicate(), order); }
@Override public TypeComparator[] getFlatComparators() { // determine the flat comparators and wrap them again in null-aware comparators List<TypeComparator<?>> flatComparators = new ArrayList<>(); if (wrappedComparator instanceof CompositeTypeComparator) { ((CompositeTypeComparator) wrappedComparator).getFlatComparator(flatComparators); } else { flatComparators.add(wrappedComparator); } TypeComparator<?>[] result = new TypeComparator[flatComparators.size()]; for (int i = 0; i < result.length; i++) { result[i] = new NullAwareComparator<>(flatComparators.get(i), order); } return result; } }
@Override public TypeComparator[] getFlatComparators() { // determine the flat comparators and wrap them again in null-aware comparators List<TypeComparator<?>> flatComparators = new ArrayList<>(); if (wrappedComparator instanceof CompositeTypeComparator) { ((CompositeTypeComparator) wrappedComparator).getFlatComparator(flatComparators); } else { flatComparators.add(wrappedComparator); } TypeComparator<?>[] result = new TypeComparator[flatComparators.size()]; for (int i = 0; i < result.length; i++) { result[i] = new NullAwareComparator<>(flatComparators.get(i), order); } return result; } }