From 3fcec1a8dcfd734c8d22f72d4cd800afbb08b862 Mon Sep 17 00:00:00 2001 From: Neil Fuller Date: Mon, 18 Jan 2016 16:43:38 -0800 Subject: [PATCH] Add java.util.function APIs Bug: 26814204 (cherry picked from commit 311a97e7f41c494bc355f5d77adc276e2a400970) Change-Id: I3fab2b12676bd1460553b4cb45b1ff602f6c09c1 --- api/current.txt | 214 +++++++++++++++++++++++++++++++++++++++++++++++++ api/system-current.txt | 214 +++++++++++++++++++++++++++++++++++++++++++++++++ api/test-current.txt | 214 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 642 insertions(+) diff --git a/api/current.txt b/api/current.txt index 7da3ce3a509c..649d7fa79242 100644 --- a/api/current.txt +++ b/api/current.txt @@ -58016,8 +58016,11 @@ package java.util { method public static boolean equals(java.lang.Object, java.lang.Object); method public static int hash(java.lang.Object...); method public static int hashCode(java.lang.Object); + method public static boolean isNull(java.lang.Object); + method public static boolean nonNull(java.lang.Object); method public static T requireNonNull(T); method public static T requireNonNull(T, java.lang.String); + method public static T requireNonNull(T, java.util.function.Supplier); method public static java.lang.String toString(java.lang.Object); method public static java.lang.String toString(java.lang.Object, java.lang.String); } @@ -59722,6 +59725,217 @@ package java.util.concurrent.locks { } +package java.util.function { + + public abstract interface BiConsumer { + method public abstract void accept(T, U); + method public default java.util.function.BiConsumer andThen(java.util.function.BiConsumer); + } + + public abstract interface BiFunction { + method public default java.util.function.BiFunction andThen(java.util.function.Function); + method public abstract R apply(T, U); + } + + public abstract interface BiPredicate { + method public default java.util.function.BiPredicate and(java.util.function.BiPredicate); + method public default java.util.function.BiPredicate negate(); + method public default java.util.function.BiPredicate or(java.util.function.BiPredicate); + method public abstract boolean test(T, U); + } + + public abstract interface BinaryOperator implements java.util.function.BiFunction { + method public static java.util.function.BinaryOperator maxBy(java.util.Comparator); + method public static java.util.function.BinaryOperator minBy(java.util.Comparator); + } + + public abstract interface BooleanSupplier { + method public abstract boolean getAsBoolean(); + } + + public abstract interface Consumer { + method public abstract void accept(T); + method public default java.util.function.Consumer andThen(java.util.function.Consumer); + } + + public abstract interface DoubleBinaryOperator { + method public abstract double applyAsDouble(double, double); + } + + public abstract interface DoubleConsumer { + method public abstract void accept(double); + method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer); + } + + public abstract interface DoubleFunction { + method public abstract R apply(double); + } + + public abstract interface DoublePredicate { + method public default java.util.function.DoublePredicate and(java.util.function.DoublePredicate); + method public default java.util.function.DoublePredicate negate(); + method public default java.util.function.DoublePredicate or(java.util.function.DoublePredicate); + method public abstract boolean test(double); + } + + public abstract interface DoubleSupplier { + method public abstract double getAsDouble(); + } + + public abstract interface DoubleToIntFunction { + method public abstract int applyAsInt(double); + } + + public abstract interface DoubleToLongFunction { + method public abstract long applyAsLong(double); + } + + public abstract interface DoubleUnaryOperator { + method public default java.util.function.DoubleUnaryOperator andThen(java.util.function.DoubleUnaryOperator); + method public abstract double applyAsDouble(double); + method public default java.util.function.DoubleUnaryOperator compose(java.util.function.DoubleUnaryOperator); + method public static java.util.function.DoubleUnaryOperator identity(); + } + + public abstract interface Function { + method public default java.util.function.Function andThen(java.util.function.Function); + method public abstract R apply(T); + method public default java.util.function.Function compose(java.util.function.Function); + method public static java.util.function.Function identity(); + } + + public abstract interface IntBinaryOperator { + method public abstract int applyAsInt(int, int); + } + + public abstract interface IntConsumer { + method public abstract void accept(int); + method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer); + } + + public abstract interface IntFunction { + method public abstract R apply(int); + } + + public abstract interface IntPredicate { + method public default java.util.function.IntPredicate and(java.util.function.IntPredicate); + method public default java.util.function.IntPredicate negate(); + method public default java.util.function.IntPredicate or(java.util.function.IntPredicate); + method public abstract boolean test(int); + } + + public abstract interface IntSupplier { + method public abstract int getAsInt(); + } + + public abstract interface IntToDoubleFunction { + method public abstract double applyAsDouble(int); + } + + public abstract interface IntToLongFunction { + method public abstract long applyAsLong(int); + } + + public abstract interface IntUnaryOperator { + method public default java.util.function.IntUnaryOperator andThen(java.util.function.IntUnaryOperator); + method public abstract int applyAsInt(int); + method public default java.util.function.IntUnaryOperator compose(java.util.function.IntUnaryOperator); + method public static java.util.function.IntUnaryOperator identity(); + } + + public abstract interface LongBinaryOperator { + method public abstract long applyAsLong(long, long); + } + + public abstract interface LongConsumer { + method public abstract void accept(long); + method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer); + } + + public abstract interface LongFunction { + method public abstract R apply(long); + } + + public abstract interface LongPredicate { + method public default java.util.function.LongPredicate and(java.util.function.LongPredicate); + method public default java.util.function.LongPredicate negate(); + method public default java.util.function.LongPredicate or(java.util.function.LongPredicate); + method public abstract boolean test(long); + } + + public abstract interface LongSupplier { + method public abstract long getAsLong(); + } + + public abstract interface LongToDoubleFunction { + method public abstract double applyAsDouble(long); + } + + public abstract interface LongToIntFunction { + method public abstract int applyAsInt(long); + } + + public abstract interface LongUnaryOperator { + method public default java.util.function.LongUnaryOperator andThen(java.util.function.LongUnaryOperator); + method public abstract long applyAsLong(long); + method public default java.util.function.LongUnaryOperator compose(java.util.function.LongUnaryOperator); + method public static java.util.function.LongUnaryOperator identity(); + } + + public abstract interface ObjDoubleConsumer { + method public abstract void accept(T, double); + } + + public abstract interface ObjIntConsumer { + method public abstract void accept(T, int); + } + + public abstract interface ObjLongConsumer { + method public abstract void accept(T, long); + } + + public abstract interface Predicate { + method public default java.util.function.Predicate and(java.util.function.Predicate); + method public static java.util.function.Predicate isEqual(java.lang.Object); + method public default java.util.function.Predicate negate(); + method public default java.util.function.Predicate or(java.util.function.Predicate); + method public abstract boolean test(T); + } + + public abstract interface Supplier { + method public abstract T get(); + } + + public abstract interface ToDoubleBiFunction { + method public abstract double applyAsDouble(T, U); + } + + public abstract interface ToDoubleFunction { + method public abstract double applyAsDouble(T); + } + + public abstract interface ToIntBiFunction { + method public abstract int applyAsInt(T, U); + } + + public abstract interface ToIntFunction { + method public abstract int applyAsInt(T); + } + + public abstract interface ToLongBiFunction { + method public abstract long applyAsLong(T, U); + } + + public abstract interface ToLongFunction { + method public abstract long applyAsLong(T); + } + + public abstract interface UnaryOperator implements java.util.function.Function { + method public static java.util.function.UnaryOperator identity(); + } + +} + package java.util.jar { public class Attributes implements java.lang.Cloneable java.util.Map { diff --git a/api/system-current.txt b/api/system-current.txt index f4db4885d3b9..3c3054eaa5b6 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -61104,8 +61104,11 @@ package java.util { method public static boolean equals(java.lang.Object, java.lang.Object); method public static int hash(java.lang.Object...); method public static int hashCode(java.lang.Object); + method public static boolean isNull(java.lang.Object); + method public static boolean nonNull(java.lang.Object); method public static T requireNonNull(T); method public static T requireNonNull(T, java.lang.String); + method public static T requireNonNull(T, java.util.function.Supplier); method public static java.lang.String toString(java.lang.Object); method public static java.lang.String toString(java.lang.Object, java.lang.String); } @@ -62810,6 +62813,217 @@ package java.util.concurrent.locks { } +package java.util.function { + + public abstract interface BiConsumer { + method public abstract void accept(T, U); + method public default java.util.function.BiConsumer andThen(java.util.function.BiConsumer); + } + + public abstract interface BiFunction { + method public default java.util.function.BiFunction andThen(java.util.function.Function); + method public abstract R apply(T, U); + } + + public abstract interface BiPredicate { + method public default java.util.function.BiPredicate and(java.util.function.BiPredicate); + method public default java.util.function.BiPredicate negate(); + method public default java.util.function.BiPredicate or(java.util.function.BiPredicate); + method public abstract boolean test(T, U); + } + + public abstract interface BinaryOperator implements java.util.function.BiFunction { + method public static java.util.function.BinaryOperator maxBy(java.util.Comparator); + method public static java.util.function.BinaryOperator minBy(java.util.Comparator); + } + + public abstract interface BooleanSupplier { + method public abstract boolean getAsBoolean(); + } + + public abstract interface Consumer { + method public abstract void accept(T); + method public default java.util.function.Consumer andThen(java.util.function.Consumer); + } + + public abstract interface DoubleBinaryOperator { + method public abstract double applyAsDouble(double, double); + } + + public abstract interface DoubleConsumer { + method public abstract void accept(double); + method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer); + } + + public abstract interface DoubleFunction { + method public abstract R apply(double); + } + + public abstract interface DoublePredicate { + method public default java.util.function.DoublePredicate and(java.util.function.DoublePredicate); + method public default java.util.function.DoublePredicate negate(); + method public default java.util.function.DoublePredicate or(java.util.function.DoublePredicate); + method public abstract boolean test(double); + } + + public abstract interface DoubleSupplier { + method public abstract double getAsDouble(); + } + + public abstract interface DoubleToIntFunction { + method public abstract int applyAsInt(double); + } + + public abstract interface DoubleToLongFunction { + method public abstract long applyAsLong(double); + } + + public abstract interface DoubleUnaryOperator { + method public default java.util.function.DoubleUnaryOperator andThen(java.util.function.DoubleUnaryOperator); + method public abstract double applyAsDouble(double); + method public default java.util.function.DoubleUnaryOperator compose(java.util.function.DoubleUnaryOperator); + method public static java.util.function.DoubleUnaryOperator identity(); + } + + public abstract interface Function { + method public default java.util.function.Function andThen(java.util.function.Function); + method public abstract R apply(T); + method public default java.util.function.Function compose(java.util.function.Function); + method public static java.util.function.Function identity(); + } + + public abstract interface IntBinaryOperator { + method public abstract int applyAsInt(int, int); + } + + public abstract interface IntConsumer { + method public abstract void accept(int); + method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer); + } + + public abstract interface IntFunction { + method public abstract R apply(int); + } + + public abstract interface IntPredicate { + method public default java.util.function.IntPredicate and(java.util.function.IntPredicate); + method public default java.util.function.IntPredicate negate(); + method public default java.util.function.IntPredicate or(java.util.function.IntPredicate); + method public abstract boolean test(int); + } + + public abstract interface IntSupplier { + method public abstract int getAsInt(); + } + + public abstract interface IntToDoubleFunction { + method public abstract double applyAsDouble(int); + } + + public abstract interface IntToLongFunction { + method public abstract long applyAsLong(int); + } + + public abstract interface IntUnaryOperator { + method public default java.util.function.IntUnaryOperator andThen(java.util.function.IntUnaryOperator); + method public abstract int applyAsInt(int); + method public default java.util.function.IntUnaryOperator compose(java.util.function.IntUnaryOperator); + method public static java.util.function.IntUnaryOperator identity(); + } + + public abstract interface LongBinaryOperator { + method public abstract long applyAsLong(long, long); + } + + public abstract interface LongConsumer { + method public abstract void accept(long); + method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer); + } + + public abstract interface LongFunction { + method public abstract R apply(long); + } + + public abstract interface LongPredicate { + method public default java.util.function.LongPredicate and(java.util.function.LongPredicate); + method public default java.util.function.LongPredicate negate(); + method public default java.util.function.LongPredicate or(java.util.function.LongPredicate); + method public abstract boolean test(long); + } + + public abstract interface LongSupplier { + method public abstract long getAsLong(); + } + + public abstract interface LongToDoubleFunction { + method public abstract double applyAsDouble(long); + } + + public abstract interface LongToIntFunction { + method public abstract int applyAsInt(long); + } + + public abstract interface LongUnaryOperator { + method public default java.util.function.LongUnaryOperator andThen(java.util.function.LongUnaryOperator); + method public abstract long applyAsLong(long); + method public default java.util.function.LongUnaryOperator compose(java.util.function.LongUnaryOperator); + method public static java.util.function.LongUnaryOperator identity(); + } + + public abstract interface ObjDoubleConsumer { + method public abstract void accept(T, double); + } + + public abstract interface ObjIntConsumer { + method public abstract void accept(T, int); + } + + public abstract interface ObjLongConsumer { + method public abstract void accept(T, long); + } + + public abstract interface Predicate { + method public default java.util.function.Predicate and(java.util.function.Predicate); + method public static java.util.function.Predicate isEqual(java.lang.Object); + method public default java.util.function.Predicate negate(); + method public default java.util.function.Predicate or(java.util.function.Predicate); + method public abstract boolean test(T); + } + + public abstract interface Supplier { + method public abstract T get(); + } + + public abstract interface ToDoubleBiFunction { + method public abstract double applyAsDouble(T, U); + } + + public abstract interface ToDoubleFunction { + method public abstract double applyAsDouble(T); + } + + public abstract interface ToIntBiFunction { + method public abstract int applyAsInt(T, U); + } + + public abstract interface ToIntFunction { + method public abstract int applyAsInt(T); + } + + public abstract interface ToLongBiFunction { + method public abstract long applyAsLong(T, U); + } + + public abstract interface ToLongFunction { + method public abstract long applyAsLong(T); + } + + public abstract interface UnaryOperator implements java.util.function.Function { + method public static java.util.function.UnaryOperator identity(); + } + +} + package java.util.jar { public class Attributes implements java.lang.Cloneable java.util.Map { diff --git a/api/test-current.txt b/api/test-current.txt index e461e02c0274..8fbcff9218f1 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -58033,8 +58033,11 @@ package java.util { method public static boolean equals(java.lang.Object, java.lang.Object); method public static int hash(java.lang.Object...); method public static int hashCode(java.lang.Object); + method public static boolean isNull(java.lang.Object); + method public static boolean nonNull(java.lang.Object); method public static T requireNonNull(T); method public static T requireNonNull(T, java.lang.String); + method public static T requireNonNull(T, java.util.function.Supplier); method public static java.lang.String toString(java.lang.Object); method public static java.lang.String toString(java.lang.Object, java.lang.String); } @@ -59739,6 +59742,217 @@ package java.util.concurrent.locks { } +package java.util.function { + + public abstract interface BiConsumer { + method public abstract void accept(T, U); + method public default java.util.function.BiConsumer andThen(java.util.function.BiConsumer); + } + + public abstract interface BiFunction { + method public default java.util.function.BiFunction andThen(java.util.function.Function); + method public abstract R apply(T, U); + } + + public abstract interface BiPredicate { + method public default java.util.function.BiPredicate and(java.util.function.BiPredicate); + method public default java.util.function.BiPredicate negate(); + method public default java.util.function.BiPredicate or(java.util.function.BiPredicate); + method public abstract boolean test(T, U); + } + + public abstract interface BinaryOperator implements java.util.function.BiFunction { + method public static java.util.function.BinaryOperator maxBy(java.util.Comparator); + method public static java.util.function.BinaryOperator minBy(java.util.Comparator); + } + + public abstract interface BooleanSupplier { + method public abstract boolean getAsBoolean(); + } + + public abstract interface Consumer { + method public abstract void accept(T); + method public default java.util.function.Consumer andThen(java.util.function.Consumer); + } + + public abstract interface DoubleBinaryOperator { + method public abstract double applyAsDouble(double, double); + } + + public abstract interface DoubleConsumer { + method public abstract void accept(double); + method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer); + } + + public abstract interface DoubleFunction { + method public abstract R apply(double); + } + + public abstract interface DoublePredicate { + method public default java.util.function.DoublePredicate and(java.util.function.DoublePredicate); + method public default java.util.function.DoublePredicate negate(); + method public default java.util.function.DoublePredicate or(java.util.function.DoublePredicate); + method public abstract boolean test(double); + } + + public abstract interface DoubleSupplier { + method public abstract double getAsDouble(); + } + + public abstract interface DoubleToIntFunction { + method public abstract int applyAsInt(double); + } + + public abstract interface DoubleToLongFunction { + method public abstract long applyAsLong(double); + } + + public abstract interface DoubleUnaryOperator { + method public default java.util.function.DoubleUnaryOperator andThen(java.util.function.DoubleUnaryOperator); + method public abstract double applyAsDouble(double); + method public default java.util.function.DoubleUnaryOperator compose(java.util.function.DoubleUnaryOperator); + method public static java.util.function.DoubleUnaryOperator identity(); + } + + public abstract interface Function { + method public default java.util.function.Function andThen(java.util.function.Function); + method public abstract R apply(T); + method public default java.util.function.Function compose(java.util.function.Function); + method public static java.util.function.Function identity(); + } + + public abstract interface IntBinaryOperator { + method public abstract int applyAsInt(int, int); + } + + public abstract interface IntConsumer { + method public abstract void accept(int); + method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer); + } + + public abstract interface IntFunction { + method public abstract R apply(int); + } + + public abstract interface IntPredicate { + method public default java.util.function.IntPredicate and(java.util.function.IntPredicate); + method public default java.util.function.IntPredicate negate(); + method public default java.util.function.IntPredicate or(java.util.function.IntPredicate); + method public abstract boolean test(int); + } + + public abstract interface IntSupplier { + method public abstract int getAsInt(); + } + + public abstract interface IntToDoubleFunction { + method public abstract double applyAsDouble(int); + } + + public abstract interface IntToLongFunction { + method public abstract long applyAsLong(int); + } + + public abstract interface IntUnaryOperator { + method public default java.util.function.IntUnaryOperator andThen(java.util.function.IntUnaryOperator); + method public abstract int applyAsInt(int); + method public default java.util.function.IntUnaryOperator compose(java.util.function.IntUnaryOperator); + method public static java.util.function.IntUnaryOperator identity(); + } + + public abstract interface LongBinaryOperator { + method public abstract long applyAsLong(long, long); + } + + public abstract interface LongConsumer { + method public abstract void accept(long); + method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer); + } + + public abstract interface LongFunction { + method public abstract R apply(long); + } + + public abstract interface LongPredicate { + method public default java.util.function.LongPredicate and(java.util.function.LongPredicate); + method public default java.util.function.LongPredicate negate(); + method public default java.util.function.LongPredicate or(java.util.function.LongPredicate); + method public abstract boolean test(long); + } + + public abstract interface LongSupplier { + method public abstract long getAsLong(); + } + + public abstract interface LongToDoubleFunction { + method public abstract double applyAsDouble(long); + } + + public abstract interface LongToIntFunction { + method public abstract int applyAsInt(long); + } + + public abstract interface LongUnaryOperator { + method public default java.util.function.LongUnaryOperator andThen(java.util.function.LongUnaryOperator); + method public abstract long applyAsLong(long); + method public default java.util.function.LongUnaryOperator compose(java.util.function.LongUnaryOperator); + method public static java.util.function.LongUnaryOperator identity(); + } + + public abstract interface ObjDoubleConsumer { + method public abstract void accept(T, double); + } + + public abstract interface ObjIntConsumer { + method public abstract void accept(T, int); + } + + public abstract interface ObjLongConsumer { + method public abstract void accept(T, long); + } + + public abstract interface Predicate { + method public default java.util.function.Predicate and(java.util.function.Predicate); + method public static java.util.function.Predicate isEqual(java.lang.Object); + method public default java.util.function.Predicate negate(); + method public default java.util.function.Predicate or(java.util.function.Predicate); + method public abstract boolean test(T); + } + + public abstract interface Supplier { + method public abstract T get(); + } + + public abstract interface ToDoubleBiFunction { + method public abstract double applyAsDouble(T, U); + } + + public abstract interface ToDoubleFunction { + method public abstract double applyAsDouble(T); + } + + public abstract interface ToIntBiFunction { + method public abstract int applyAsInt(T, U); + } + + public abstract interface ToIntFunction { + method public abstract int applyAsInt(T); + } + + public abstract interface ToLongBiFunction { + method public abstract long applyAsLong(T, U); + } + + public abstract interface ToLongFunction { + method public abstract long applyAsLong(T); + } + + public abstract interface UnaryOperator implements java.util.function.Function { + method public static java.util.function.UnaryOperator identity(); + } + +} + package java.util.jar { public class Attributes implements java.lang.Cloneable java.util.Map { -- 2.11.0