Merge "Import translations. DO NOT MERGE" into cw-f-dev
diff --git a/api/current.txt b/api/current.txt
index 533b577..08bf3ed 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -2906,11 +2906,11 @@
field public static final java.lang.String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
}
- public abstract interface AccountManagerCallback {
+ public abstract interface AccountManagerCallback<V> {
method public abstract void run(android.accounts.AccountManagerFuture<V>);
}
- public abstract interface AccountManagerFuture {
+ public abstract interface AccountManagerFuture<V> {
method public abstract boolean cancel(boolean);
method public abstract V getResult() throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
method public abstract V getResult(long, java.util.concurrent.TimeUnit) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
@@ -3056,7 +3056,7 @@
method public java.lang.Object evaluate(float, java.lang.Object, java.lang.Object);
}
- public abstract class BidirectionalTypeConverter extends android.animation.TypeConverter {
+ public abstract class BidirectionalTypeConverter<T, V> extends android.animation.TypeConverter {
ctor public BidirectionalTypeConverter(java.lang.Class<T>, java.lang.Class<V>);
method public abstract T convertBack(V);
method public android.animation.BidirectionalTypeConverter<V, T> invert();
@@ -3148,26 +3148,26 @@
method public java.lang.String getPropertyName();
method public java.lang.Object getTarget();
method public static android.animation.ObjectAnimator ofArgb(java.lang.Object, java.lang.String, int...);
- method public static android.animation.ObjectAnimator ofArgb(T, android.util.Property<T, java.lang.Integer>, int...);
+ method public static <T> android.animation.ObjectAnimator ofArgb(T, android.util.Property<T, java.lang.Integer>, int...);
method public static android.animation.ObjectAnimator ofFloat(java.lang.Object, java.lang.String, float...);
method public static android.animation.ObjectAnimator ofFloat(java.lang.Object, java.lang.String, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, float...);
- method public static android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, android.util.Property<T, java.lang.Float>, android.graphics.Path);
+ method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, float...);
+ method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, android.util.Property<T, java.lang.Float>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofInt(java.lang.Object, java.lang.String, int...);
method public static android.animation.ObjectAnimator ofInt(java.lang.Object, java.lang.String, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, int...);
- method public static android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, android.util.Property<T, java.lang.Integer>, android.graphics.Path);
+ method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, int...);
+ method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, android.util.Property<T, java.lang.Integer>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, float[][]);
method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, T...);
+ method public static <T> android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, T...);
method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, int[][]);
method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, T...);
+ method public static <T> android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, T...);
method public static android.animation.ObjectAnimator ofObject(java.lang.Object, java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
method public static android.animation.ObjectAnimator ofObject(java.lang.Object, java.lang.String, android.animation.TypeConverter<android.graphics.PointF, ?>, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, P>, android.animation.TypeConverter<V, P>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
+ method public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V, P> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, P>, android.animation.TypeConverter<V, P>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofPropertyValuesHolder(java.lang.Object, android.animation.PropertyValuesHolder...);
method public void setAutoCancel(boolean);
method public void setProperty(android.util.Property);
@@ -3191,17 +3191,17 @@
method public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, float[][]);
method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<V, float[]>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+ method public static <V> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<V, float[]>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, int[][]);
method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<V, int[]>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+ method public static <V> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<V, int[]>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
method public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeConverter<android.graphics.PointF, ?>, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<T, V>, android.animation.TypeEvaluator<T>, T...);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
+ method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<T, V>, android.animation.TypeEvaluator<T>, T...);
+ method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
method public void setConverter(android.animation.TypeConverter);
method public void setEvaluator(android.animation.TypeEvaluator);
method public void setFloatValues(float...);
@@ -3238,12 +3238,12 @@
method public abstract float getInterpolation(float);
}
- public abstract class TypeConverter {
+ public abstract class TypeConverter<T, V> {
ctor public TypeConverter(java.lang.Class<T>, java.lang.Class<V>);
method public abstract V convert(T);
}
- public abstract interface TypeEvaluator {
+ public abstract interface TypeEvaluator<T> {
method public abstract T evaluate(float, T, T);
}
@@ -4571,7 +4571,7 @@
method public android.os.Parcelable saveAllState();
}
- public abstract class FragmentHostCallback extends android.app.FragmentContainer {
+ public abstract class FragmentHostCallback<E> extends android.app.FragmentContainer {
ctor public FragmentHostCallback(android.content.Context, android.os.Handler, int);
method public void onAttachFragment(android.app.Fragment);
method public void onDump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
@@ -4838,12 +4838,12 @@
method public abstract void destroyLoader(int);
method public abstract void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
method public static void enableDebugLogging(boolean);
- method public abstract android.content.Loader<D> getLoader(int);
- method public abstract android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
- method public abstract android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ method public abstract <D> android.content.Loader<D> getLoader(int);
+ method public abstract <D> android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ method public abstract <D> android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
}
- public static abstract interface LoaderManager.LoaderCallbacks {
+ public static abstract interface LoaderManager.LoaderCallbacks<D> {
method public abstract android.content.Loader<D> onCreateLoader(int, android.os.Bundle);
method public abstract void onLoadFinished(android.content.Loader<D>, D);
method public abstract void onLoaderReset(android.content.Loader<D>);
@@ -7629,7 +7629,7 @@
ctor public AsyncQueryHandler.WorkerHandler(android.os.Looper);
}
- public abstract class AsyncTaskLoader extends android.content.Loader {
+ public abstract class AsyncTaskLoader<D> extends android.content.Loader {
ctor public AsyncTaskLoader(android.content.Context);
method public void cancelLoadInBackground();
method public boolean isLoadInBackgroundCanceled();
@@ -7811,7 +7811,7 @@
method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String, android.os.CancellationSignal) throws java.io.FileNotFoundException;
method protected final android.os.ParcelFileDescriptor openFileHelper(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
- method public android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
+ method public <T> android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle) throws java.io.FileNotFoundException;
method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException;
method public abstract android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
@@ -7824,7 +7824,7 @@
method public abstract int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
}
- public static abstract interface ContentProvider.PipeDataWriter {
+ public static abstract interface ContentProvider.PipeDataWriter<T> {
method public abstract void writeDataToPipe(android.os.ParcelFileDescriptor, android.net.Uri, java.lang.String, android.os.Bundle, T);
}
@@ -8095,7 +8095,7 @@
method public final java.lang.String getString(int);
method public final java.lang.String getString(int, java.lang.Object...);
method public abstract java.lang.Object getSystemService(java.lang.String);
- method public final T getSystemService(java.lang.Class<T>);
+ method public final <T> T getSystemService(java.lang.Class<T>);
method public abstract java.lang.String getSystemServiceName(java.lang.Class<?>);
method public final java.lang.CharSequence getText(int);
method public abstract android.content.res.Resources.Theme getTheme();
@@ -8450,8 +8450,8 @@
method public long getLongExtra(java.lang.String, long);
method public java.lang.String getPackage();
method public android.os.Parcelable[] getParcelableArrayExtra(java.lang.String);
- method public java.util.ArrayList<T> getParcelableArrayListExtra(java.lang.String);
- method public T getParcelableExtra(java.lang.String);
+ method public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayListExtra(java.lang.String);
+ method public <T extends android.os.Parcelable> T getParcelableExtra(java.lang.String);
method public java.lang.String getScheme();
method public android.content.Intent getSelector();
method public java.io.Serializable getSerializableExtra(java.lang.String);
@@ -8926,7 +8926,7 @@
ctor public IntentSender.SendIntentException(java.lang.Exception);
}
- public class Loader {
+ public class Loader<D> {
ctor public Loader(android.content.Context);
method public void abandon();
method public boolean cancelLoad();
@@ -8963,11 +8963,11 @@
ctor public Loader.ForceLoadContentObserver();
}
- public static abstract interface Loader.OnLoadCanceledListener {
+ public static abstract interface Loader.OnLoadCanceledListener<D> {
method public abstract void onLoadCanceled(android.content.Loader<D>);
}
- public static abstract interface Loader.OnLoadCompleteListener {
+ public static abstract interface Loader.OnLoadCompleteListener<D> {
method public abstract void onLoadComplete(android.content.Loader<D>, D);
}
@@ -10839,7 +10839,7 @@
method public boolean isNull(int);
}
- public abstract class Observable {
+ public abstract class Observable<T> {
ctor public Observable();
method public void registerObserver(T);
method public void unregisterAll();
@@ -12729,7 +12729,7 @@
public class AnimatedStateListDrawable extends android.graphics.drawable.StateListDrawable {
ctor public AnimatedStateListDrawable();
method public void addState(int[], android.graphics.drawable.Drawable, int);
- method public void addTransition(int, int, T, boolean);
+ method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, T, boolean);
}
public class AnimatedVectorDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
@@ -13853,7 +13853,7 @@
}
public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata {
- method public T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
+ method public <T> T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableCaptureRequestKeys();
method public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getAvailableCaptureResultKeys();
field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
@@ -13938,7 +13938,7 @@
field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> TONEMAP_MAX_CURVE_POINTS;
}
- public static final class CameraCharacteristics.Key {
+ public static final class CameraCharacteristics.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
@@ -14003,7 +14003,7 @@
method public void onTorchModeUnavailable(java.lang.String);
}
- public abstract class CameraMetadata {
+ public abstract class CameraMetadata<TKey> {
method public java.util.List<TKey> getKeys();
field public static final int COLOR_CORRECTION_ABERRATION_MODE_FAST = 1; // 0x1
field public static final int COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY = 2; // 0x2
@@ -14211,7 +14211,7 @@
public final class CaptureRequest extends android.hardware.camera2.CameraMetadata implements android.os.Parcelable {
method public int describeContents();
- method public T get(android.hardware.camera2.CaptureRequest.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
method public java.lang.Object getTag();
method public boolean isReprocess();
method public void writeToParcel(android.os.Parcel, int);
@@ -14274,20 +14274,20 @@
public static final class CaptureRequest.Builder {
method public void addTarget(android.view.Surface);
method public android.hardware.camera2.CaptureRequest build();
- method public T get(android.hardware.camera2.CaptureRequest.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
method public void removeTarget(android.view.Surface);
- method public void set(android.hardware.camera2.CaptureRequest.Key<T>, T);
+ method public <T> void set(android.hardware.camera2.CaptureRequest.Key<T>, T);
method public void setTag(java.lang.Object);
}
- public static final class CaptureRequest.Key {
+ public static final class CaptureRequest.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
}
public class CaptureResult extends android.hardware.camera2.CameraMetadata {
- method public T get(android.hardware.camera2.CaptureResult.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureResult.Key<T>);
method public long getFrameNumber();
method public android.hardware.camera2.CaptureRequest getRequest();
method public int getSequenceId();
@@ -14368,7 +14368,7 @@
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
}
- public static final class CaptureResult.Key {
+ public static final class CaptureResult.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
@@ -14493,14 +14493,14 @@
method public android.util.Size[] getInputSizes(int);
method public final int[] getOutputFormats();
method public long getOutputMinFrameDuration(int, android.util.Size);
- method public long getOutputMinFrameDuration(java.lang.Class<T>, android.util.Size);
- method public android.util.Size[] getOutputSizes(java.lang.Class<T>);
+ method public <T> long getOutputMinFrameDuration(java.lang.Class<T>, android.util.Size);
+ method public <T> android.util.Size[] getOutputSizes(java.lang.Class<T>);
method public android.util.Size[] getOutputSizes(int);
method public long getOutputStallDuration(int, android.util.Size);
- method public long getOutputStallDuration(java.lang.Class<T>, android.util.Size);
+ method public <T> long getOutputStallDuration(java.lang.Class<T>, android.util.Size);
method public final int[] getValidOutputFormatsForInput(int);
method public boolean isOutputSupportedFor(int);
- method public static boolean isOutputSupportedFor(java.lang.Class<T>);
+ method public static <T> boolean isOutputSupportedFor(java.lang.Class<T>);
method public boolean isOutputSupportedFor(android.view.Surface);
}
@@ -16201,7 +16201,7 @@
package android.icu.text {
- public final class AlphabeticIndex implements java.lang.Iterable {
+ public final class AlphabeticIndex<V> implements java.lang.Iterable {
ctor public AlphabeticIndex(android.icu.util.ULocale);
ctor public AlphabeticIndex(java.util.Locale);
ctor public AlphabeticIndex(android.icu.text.RuleBasedCollator);
@@ -16227,7 +16227,7 @@
method public android.icu.text.AlphabeticIndex<V> setUnderflowLabel(java.lang.String);
}
- public static class AlphabeticIndex.Bucket implements java.lang.Iterable {
+ public static class AlphabeticIndex.Bucket<V> implements java.lang.Iterable {
method public java.lang.String getLabel();
method public android.icu.text.AlphabeticIndex.Bucket.LabelType getLabelType();
method public java.util.Iterator<android.icu.text.AlphabeticIndex.Record<V>> iterator();
@@ -16243,14 +16243,14 @@
enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType UNDERFLOW;
}
- public static final class AlphabeticIndex.ImmutableIndex implements java.lang.Iterable {
+ public static final class AlphabeticIndex.ImmutableIndex<V> implements java.lang.Iterable {
method public android.icu.text.AlphabeticIndex.Bucket<V> getBucket(int);
method public int getBucketCount();
method public int getBucketIndex(java.lang.CharSequence);
method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
}
- public static class AlphabeticIndex.Record {
+ public static class AlphabeticIndex.Record<V> {
method public V getData();
method public java.lang.CharSequence getName();
}
@@ -17763,8 +17763,8 @@
method public final android.icu.text.UnicodeSet addAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet addAll(android.icu.text.UnicodeSet);
method public android.icu.text.UnicodeSet addAll(java.lang.Iterable<?>);
- method public android.icu.text.UnicodeSet addAll(T...);
- method public T addAllTo(T);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet addAll(T...);
+ method public <T extends java.util.Collection<java.lang.String>> T addAllTo(T);
method public void addMatchSetTo(android.icu.text.UnicodeSet);
method public android.icu.text.UnicodeSet applyIntPropertyValue(int, int);
method public final android.icu.text.UnicodeSet applyPattern(java.lang.String);
@@ -17792,15 +17792,15 @@
method public final boolean contains(java.lang.CharSequence);
method public boolean containsAll(android.icu.text.UnicodeSet);
method public boolean containsAll(java.lang.String);
- method public boolean containsAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> boolean containsAll(java.lang.Iterable<T>);
method public boolean containsNone(int, int);
method public boolean containsNone(android.icu.text.UnicodeSet);
method public boolean containsNone(java.lang.CharSequence);
- method public boolean containsNone(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> boolean containsNone(java.lang.Iterable<T>);
method public final boolean containsSome(int, int);
method public final boolean containsSome(android.icu.text.UnicodeSet);
method public final boolean containsSome(java.lang.CharSequence);
- method public final boolean containsSome(java.lang.Iterable<T>);
+ method public final <T extends java.lang.CharSequence> boolean containsSome(java.lang.Iterable<T>);
method public android.icu.text.UnicodeSet freeze();
method public static android.icu.text.UnicodeSet from(java.lang.CharSequence);
method public static android.icu.text.UnicodeSet fromAll(java.lang.CharSequence);
@@ -17818,14 +17818,14 @@
method public final android.icu.text.UnicodeSet remove(java.lang.CharSequence);
method public final android.icu.text.UnicodeSet removeAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet removeAll(android.icu.text.UnicodeSet);
- method public android.icu.text.UnicodeSet removeAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet removeAll(java.lang.Iterable<T>);
method public final android.icu.text.UnicodeSet removeAllStrings();
method public android.icu.text.UnicodeSet retain(int, int);
method public final android.icu.text.UnicodeSet retain(int);
method public final android.icu.text.UnicodeSet retain(java.lang.CharSequence);
method public final android.icu.text.UnicodeSet retainAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet retainAll(android.icu.text.UnicodeSet);
- method public android.icu.text.UnicodeSet retainAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet retainAll(java.lang.Iterable<T>);
method public android.icu.text.UnicodeSet set(int, int);
method public android.icu.text.UnicodeSet set(android.icu.text.UnicodeSet);
method public int size();
@@ -18235,7 +18235,7 @@
method public long getToDate();
}
- public abstract interface Freezable implements java.lang.Cloneable {
+ public abstract interface Freezable<T> implements java.lang.Cloneable {
method public abstract T cloneAsThawed();
method public abstract T freeze();
method public abstract boolean isFrozen();
@@ -18517,7 +18517,7 @@
field public static final android.icu.util.TimeUnit YEAR;
}
- public class Output {
+ public class Output<T> {
ctor public Output();
ctor public Output(T);
field public T value;
@@ -28169,7 +28169,7 @@
package android.os {
- public abstract class AsyncTask {
+ public abstract class AsyncTask<Params, Progress, Result> {
ctor public AsyncTask();
method public final boolean cancel(boolean);
method protected abstract Result doInBackground(Params...);
@@ -28396,16 +28396,16 @@
method public float getFloat(java.lang.String, float);
method public float[] getFloatArray(java.lang.String);
method public java.util.ArrayList<java.lang.Integer> getIntegerArrayList(java.lang.String);
- method public T getParcelable(java.lang.String);
+ method public <T extends android.os.Parcelable> T getParcelable(java.lang.String);
method public android.os.Parcelable[] getParcelableArray(java.lang.String);
- method public java.util.ArrayList<T> getParcelableArrayList(java.lang.String);
+ method public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayList(java.lang.String);
method public java.io.Serializable getSerializable(java.lang.String);
method public short getShort(java.lang.String);
method public short getShort(java.lang.String, short);
method public short[] getShortArray(java.lang.String);
method public android.util.Size getSize(java.lang.String);
method public android.util.SizeF getSizeF(java.lang.String);
- method public android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
+ method public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
method public java.util.ArrayList<java.lang.String> getStringArrayList(java.lang.String);
method public boolean hasFileDescriptors();
method public void putAll(android.os.Bundle);
@@ -28910,8 +28910,8 @@
method public final long[] createLongArray();
method public final java.lang.String[] createStringArray();
method public final java.util.ArrayList<java.lang.String> createStringArrayList();
- method public final T[] createTypedArray(android.os.Parcelable.Creator<T>);
- method public final java.util.ArrayList<T> createTypedArrayList(android.os.Parcelable.Creator<T>);
+ method public final <T> T[] createTypedArray(android.os.Parcelable.Creator<T>);
+ method public final <T> java.util.ArrayList<T> createTypedArrayList(android.os.Parcelable.Creator<T>);
method public final int dataAvail();
method public final int dataCapacity();
method public final int dataPosition();
@@ -28944,7 +28944,7 @@
method public final long readLong();
method public final void readLongArray(long[]);
method public final void readMap(java.util.Map, java.lang.ClassLoader);
- method public final T readParcelable(java.lang.ClassLoader);
+ method public final <T extends android.os.Parcelable> T readParcelable(java.lang.ClassLoader);
method public final android.os.Parcelable[] readParcelableArray(java.lang.ClassLoader);
method public final android.os.PersistableBundle readPersistableBundle();
method public final android.os.PersistableBundle readPersistableBundle(java.lang.ClassLoader);
@@ -28957,9 +28957,9 @@
method public final void readStringArray(java.lang.String[]);
method public final void readStringList(java.util.List<java.lang.String>);
method public final android.os.IBinder readStrongBinder();
- method public final void readTypedArray(T[], android.os.Parcelable.Creator<T>);
- method public final void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
- method public final T readTypedObject(android.os.Parcelable.Creator<T>);
+ method public final <T> void readTypedArray(T[], android.os.Parcelable.Creator<T>);
+ method public final <T> void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
+ method public final <T> T readTypedObject(android.os.Parcelable.Creator<T>);
method public final java.lang.Object readValue(java.lang.ClassLoader);
method public final void recycle();
method public final void setDataCapacity(int);
@@ -28990,7 +28990,7 @@
method public final void writeMap(java.util.Map);
method public final void writeNoException();
method public final void writeParcelable(android.os.Parcelable, int);
- method public final void writeParcelableArray(T[], int);
+ method public final <T extends android.os.Parcelable> void writeParcelableArray(T[], int);
method public final void writePersistableBundle(android.os.PersistableBundle);
method public final void writeSerializable(java.io.Serializable);
method public final void writeSize(android.util.Size);
@@ -29002,9 +29002,9 @@
method public final void writeStringList(java.util.List<java.lang.String>);
method public final void writeStrongBinder(android.os.IBinder);
method public final void writeStrongInterface(android.os.IInterface);
- method public final void writeTypedArray(T[], int);
- method public final void writeTypedList(java.util.List<T>);
- method public final void writeTypedObject(T, int);
+ method public final <T extends android.os.Parcelable> void writeTypedArray(T[], int);
+ method public final <T extends android.os.Parcelable> void writeTypedList(java.util.List<T>);
+ method public final <T extends android.os.Parcelable> void writeTypedObject(T, int);
method public final void writeValue(java.lang.Object);
field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
}
@@ -29082,11 +29082,11 @@
field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1
}
- public static abstract interface Parcelable.ClassLoaderCreator implements android.os.Parcelable.Creator {
+ public static abstract interface Parcelable.ClassLoaderCreator<T> implements android.os.Parcelable.Creator {
method public abstract T createFromParcel(android.os.Parcel, java.lang.ClassLoader);
}
- public static abstract interface Parcelable.Creator {
+ public static abstract interface Parcelable.Creator<T> {
method public abstract T createFromParcel(android.os.Parcel);
method public abstract T[] newArray(int);
}
@@ -29200,7 +29200,7 @@
method public abstract void onProgress(int);
}
- public class RemoteCallbackList {
+ public class RemoteCallbackList<E extends android.os.IInterface> {
ctor public RemoteCallbackList();
method public int beginBroadcast();
method public void finishBroadcast();
@@ -34520,7 +34520,7 @@
field public static final java.lang.String SERVICE_INTERFACE = "android.service.carrier.CarrierMessagingService";
}
- public static abstract interface CarrierMessagingService.ResultCallback {
+ public static abstract interface CarrierMessagingService.ResultCallback<T> {
method public abstract void onReceiveResult(T) throws android.os.RemoteException;
}
@@ -34671,7 +34671,7 @@
field public static final java.lang.String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
}
- public class MediaBrowserService.Result {
+ public class MediaBrowserService.Result<T> {
method public void detach();
method public void sendResult(T);
}
@@ -37584,14 +37584,14 @@
package android.test {
- public abstract deprecated class ActivityInstrumentationTestCase extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityInstrumentationTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>);
ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>, boolean);
method public T getActivity();
method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
}
- public abstract deprecated class ActivityInstrumentationTestCase2 extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityInstrumentationTestCase2<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public deprecated ActivityInstrumentationTestCase2(java.lang.String, java.lang.Class<T>);
ctor public ActivityInstrumentationTestCase2(java.lang.Class<T>);
method public T getActivity();
@@ -37606,7 +37606,7 @@
method protected void setActivity(android.app.Activity);
}
- public abstract deprecated class ActivityUnitTestCase extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityUnitTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public ActivityUnitTestCase(java.lang.Class<T>);
method public T getActivity();
method public int getFinishedActivityRequest();
@@ -37652,7 +37652,7 @@
method public void testStarted(java.lang.String);
}
- public abstract deprecated class ApplicationTestCase extends android.test.AndroidTestCase {
+ public abstract deprecated class ApplicationTestCase<T extends android.app.Application> extends android.test.AndroidTestCase {
ctor public ApplicationTestCase(java.lang.Class<T>);
method protected final void createApplication();
method public T getApplication();
@@ -37678,8 +37678,8 @@
method public android.app.Instrumentation getInstrumentation();
method public deprecated void injectInsrumentation(android.app.Instrumentation);
method public void injectInstrumentation(android.app.Instrumentation);
- method public final T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
- method public final T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
+ method public final <T extends android.app.Activity> T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
+ method public final <T extends android.app.Activity> T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
method public void runTestOnUiThread(java.lang.Runnable) throws java.lang.Throwable;
method public void sendKeys(java.lang.String);
method public void sendKeys(int...);
@@ -37719,7 +37719,7 @@
public class LoaderTestCase extends android.test.AndroidTestCase {
ctor public LoaderTestCase();
- method public T getLoaderResultSynchronously(android.content.Loader<T>);
+ method public <T> T getLoaderResultSynchronously(android.content.Loader<T>);
}
public final deprecated class MoreAsserts {
@@ -37774,20 +37774,20 @@
method public abstract void startTiming(boolean);
}
- public abstract deprecated class ProviderTestCase extends android.test.InstrumentationTestCase {
+ public abstract deprecated class ProviderTestCase<T extends android.content.ContentProvider> extends android.test.InstrumentationTestCase {
ctor public ProviderTestCase(java.lang.Class<T>, java.lang.String);
method public android.test.mock.MockContentResolver getMockContentResolver();
method public android.test.IsolatedContext getMockContext();
method public T getProvider();
- method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
- public abstract class ProviderTestCase2 extends android.test.AndroidTestCase {
+ public abstract class ProviderTestCase2<T extends android.content.ContentProvider> extends android.test.AndroidTestCase {
ctor public ProviderTestCase2(java.lang.Class<T>, java.lang.String);
method public android.test.mock.MockContentResolver getMockContentResolver();
method public android.test.IsolatedContext getMockContext();
method public T getProvider();
- method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
public deprecated class RenamingDelegatingContext extends android.content.ContextWrapper {
@@ -37795,11 +37795,11 @@
ctor public RenamingDelegatingContext(android.content.Context, android.content.Context, java.lang.String);
method public java.lang.String getDatabasePrefix();
method public void makeExistingFilesAndDbsAccessible();
- method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
- public abstract deprecated class ServiceTestCase extends android.test.AndroidTestCase {
+ public abstract deprecated class ServiceTestCase<T extends android.app.Service> extends android.test.AndroidTestCase {
ctor public ServiceTestCase(java.lang.Class<T>);
method protected android.os.IBinder bindService(android.content.Intent);
method public android.app.Application getApplication();
@@ -37812,7 +37812,7 @@
method public void testServiceTestCaseSetUpProperly() throws java.lang.Exception;
}
- public abstract deprecated class SingleLaunchActivityTestCase extends android.test.InstrumentationTestCase {
+ public abstract deprecated class SingleLaunchActivityTestCase<T extends android.app.Activity> extends android.test.InstrumentationTestCase {
ctor public SingleLaunchActivityTestCase(java.lang.String, java.lang.Class<T>);
method public T getActivity();
method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
@@ -38167,7 +38167,7 @@
ctor public TestMethod(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>);
ctor public TestMethod(junit.framework.TestCase);
method public junit.framework.TestCase createTest() throws java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
- method public T getAnnotation(java.lang.Class<T>);
+ method public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public java.lang.Class<? extends junit.framework.TestCase> getEnclosingClass();
method public java.lang.String getEnclosingClassname();
method public java.lang.String getName();
@@ -38610,7 +38610,7 @@
method public int getSpanEnd(java.lang.Object);
method public int getSpanFlags(java.lang.Object);
method public int getSpanStart(java.lang.Object);
- method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public <T> T[] getSpans(int, int, java.lang.Class<T>);
method public deprecated int getTextRunCursor(int, int, int, int, int, android.graphics.Paint);
method public int getTextWatcherDepth();
method public android.text.SpannableStringBuilder insert(int, java.lang.CharSequence, int, int);
@@ -38632,7 +38632,7 @@
method public int getSpanEnd(java.lang.Object);
method public int getSpanFlags(java.lang.Object);
method public int getSpanStart(java.lang.Object);
- method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public <T> T[] getSpans(int, int, java.lang.Class<T>);
method public final int length();
method public int nextSpanTransition(int, int, java.lang.Class);
method public final java.lang.String toString();
@@ -38642,7 +38642,7 @@
method public abstract int getSpanEnd(java.lang.Object);
method public abstract int getSpanFlags(java.lang.Object);
method public abstract int getSpanStart(java.lang.Object);
- method public abstract T[] getSpans(int, int, java.lang.Class<T>);
+ method public abstract <T> T[] getSpans(int, int, java.lang.Class<T>);
method public abstract int nextSpanTransition(int, int, java.lang.Class);
field public static final int SPAN_COMPOSING = 256; // 0x100
field public static final int SPAN_EXCLUSIVE_EXCLUSIVE = 33; // 0x21
@@ -39619,7 +39619,7 @@
field public static final int WEEKDAY_WEDNESDAY = 4; // 0x4
}
- public static class TtsSpan.Builder {
+ public static class TtsSpan.Builder<C extends android.text.style.TtsSpan.Builder<?>> {
ctor public TtsSpan.Builder(java.lang.String);
method public android.text.style.TtsSpan build();
method public C setIntArgument(java.lang.String, int);
@@ -39715,7 +39715,7 @@
method public android.text.style.TtsSpan.OrdinalBuilder setNumber(java.lang.String);
}
- public static class TtsSpan.SemioticClassBuilder extends android.text.style.TtsSpan.Builder {
+ public static class TtsSpan.SemioticClassBuilder<C extends android.text.style.TtsSpan.SemioticClassBuilder<?>> extends android.text.style.TtsSpan.Builder {
ctor public TtsSpan.SemioticClassBuilder(java.lang.String);
method public C setAnimacy(java.lang.String);
method public C setCase(java.lang.String);
@@ -40122,7 +40122,7 @@
ctor public AndroidRuntimeException(java.lang.Exception);
}
- public final class ArrayMap implements java.util.Map {
+ public final class ArrayMap<K, V> implements java.util.Map {
ctor public ArrayMap();
ctor public ArrayMap(int);
ctor public ArrayMap(android.util.ArrayMap<K, V>);
@@ -40150,7 +40150,7 @@
method public java.util.Collection<V> values();
}
- public final class ArraySet implements java.util.Collection java.util.Set {
+ public final class ArraySet<E> implements java.util.Collection java.util.Set {
ctor public ArraySet();
ctor public ArraySet(int);
ctor public ArraySet(android.util.ArraySet<E>);
@@ -40171,7 +40171,7 @@
method public boolean retainAll(java.util.Collection<?>);
method public int size();
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
method public E valueAt(int);
}
@@ -40316,13 +40316,13 @@
public deprecated class FloatMath {
}
- public abstract class FloatProperty extends android.util.Property {
+ public abstract class FloatProperty<T> extends android.util.Property {
ctor public FloatProperty(java.lang.String);
method public final void set(T, java.lang.Float);
method public abstract void setValue(T, float);
}
- public abstract class IntProperty extends android.util.Property {
+ public abstract class IntProperty<T> extends android.util.Property {
ctor public IntProperty(java.lang.String);
method public final void set(T, java.lang.Integer);
method public abstract void setValue(T, int);
@@ -40422,7 +40422,7 @@
method public void println(java.lang.String);
}
- public class LongSparseArray implements java.lang.Cloneable {
+ public class LongSparseArray<E> implements java.lang.Cloneable {
ctor public LongSparseArray();
ctor public LongSparseArray(int);
method public void append(long, E);
@@ -40442,7 +40442,7 @@
method public E valueAt(int);
}
- public class LruCache {
+ public class LruCache<K, V> {
ctor public LruCache(int);
method protected V create(K);
method public final synchronized int createCount();
@@ -40530,9 +40530,9 @@
ctor public NoSuchPropertyException(java.lang.String);
}
- public class Pair {
+ public class Pair<F, S> {
ctor public Pair(F, S);
- method public static android.util.Pair<A, B> create(A, B);
+ method public static <A, B> android.util.Pair<A, B> create(A, B);
field public final F first;
field public final S second;
}
@@ -40565,22 +40565,22 @@
method public abstract void println(java.lang.String);
}
- public abstract class Property {
+ public abstract class Property<T, V> {
ctor public Property(java.lang.Class<V>, java.lang.String);
method public abstract V get(T);
method public java.lang.String getName();
method public java.lang.Class<V> getType();
method public boolean isReadOnly();
- method public static android.util.Property<T, V> of(java.lang.Class<T>, java.lang.Class<V>, java.lang.String);
+ method public static <T, V> android.util.Property<T, V> of(java.lang.Class<T>, java.lang.Class<V>, java.lang.String);
method public void set(T, V);
}
- public final class Range {
+ public final class Range<T extends java.lang.Comparable<? super T>> {
ctor public Range(T, T);
method public T clamp(T);
method public boolean contains(T);
method public boolean contains(android.util.Range<T>);
- method public static android.util.Range<T> create(T, T);
+ method public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> create(T, T);
method public android.util.Range<T> extend(android.util.Range<T>);
method public android.util.Range<T> extend(T, T);
method public android.util.Range<T> extend(T);
@@ -40624,7 +40624,7 @@
method public static android.util.SizeF parseSizeF(java.lang.String) throws java.lang.NumberFormatException;
}
- public class SparseArray implements java.lang.Cloneable {
+ public class SparseArray<E> implements java.lang.Cloneable {
ctor public SparseArray();
ctor public SparseArray(int);
method public void append(int, E);
@@ -45353,7 +45353,7 @@
method public static java.lang.String stripAnchor(java.lang.String);
}
- public abstract interface ValueCallback {
+ public abstract interface ValueCallback<T> {
method public abstract void onReceiveValue(T);
}
@@ -46087,7 +46087,7 @@
field public static final int NO_SELECTION = -2147483648; // 0x80000000
}
- public abstract class AdapterView extends android.view.ViewGroup {
+ public abstract class AdapterView<T extends android.widget.Adapter> extends android.view.ViewGroup {
ctor public AdapterView(android.content.Context);
ctor public AdapterView(android.content.Context, android.util.AttributeSet);
ctor public AdapterView(android.content.Context, android.util.AttributeSet, int);
@@ -46210,7 +46210,7 @@
ctor public AnalogClock(android.content.Context, android.util.AttributeSet, int, int);
}
- public class ArrayAdapter extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+ public class ArrayAdapter<T> extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
ctor public ArrayAdapter(android.content.Context, int);
ctor public ArrayAdapter(android.content.Context, int, int);
ctor public ArrayAdapter(android.content.Context, int, T[]);
@@ -46271,7 +46271,7 @@
method protected void performFiltering(java.lang.CharSequence, int);
method public void performValidation();
method protected void replaceText(java.lang.CharSequence);
- method public void setAdapter(T);
+ method public <T extends android.widget.ListAdapter & android.widget.Filterable> void setAdapter(T);
method public void setCompletionHint(java.lang.CharSequence);
method public void setDropDownAnchor(int);
method public void setDropDownBackgroundDrawable(android.graphics.drawable.Drawable);
@@ -48556,7 +48556,7 @@
package com.android.internal.util {
- public abstract interface Predicate {
+ public abstract interface Predicate<T> {
method public abstract boolean apply(T);
}
@@ -50603,13 +50603,13 @@
enum_constant public static final java.lang.Character.UnicodeScript YI;
}
- public final class Class implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
- method public java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
+ public final class Class<T> implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
+ method public <U> java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
method public T cast(java.lang.Object);
method public boolean desiredAssertionStatus();
method public static java.lang.Class<?> forName(java.lang.String) throws java.lang.ClassNotFoundException;
method public static java.lang.Class<?> forName(java.lang.String, boolean, java.lang.ClassLoader) throws java.lang.ClassNotFoundException;
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getAnnotations();
method public java.lang.String getCanonicalName();
method public java.lang.ClassLoader getClassLoader();
@@ -50726,7 +50726,7 @@
public abstract interface Cloneable {
}
- public abstract interface Comparable {
+ public abstract interface Comparable<T> {
method public abstract int compareTo(T);
}
@@ -50780,7 +50780,7 @@
field public static final java.lang.Class<java.lang.Double> TYPE;
}
- public abstract class Enum implements java.lang.Comparable java.io.Serializable {
+ public abstract class Enum<E extends java.lang.Enum<E>> implements java.lang.Comparable java.io.Serializable {
ctor protected Enum(java.lang.String, int);
method protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException;
method public final int compareTo(E);
@@ -50790,7 +50790,7 @@
method public final int hashCode();
method public final java.lang.String name();
method public final int ordinal();
- method public static T valueOf(java.lang.Class<T>, java.lang.String);
+ method public static <T extends java.lang.Enum<T>> T valueOf(java.lang.Class<T>, java.lang.String);
}
public class EnumConstantNotPresentException extends java.lang.RuntimeException {
@@ -50909,7 +50909,7 @@
ctor public IndexOutOfBoundsException(java.lang.String);
}
- public class InheritableThreadLocal extends java.lang.ThreadLocal {
+ public class InheritableThreadLocal<T> extends java.lang.ThreadLocal {
ctor public InheritableThreadLocal();
method protected T childValue(T);
}
@@ -50980,7 +50980,7 @@
ctor public InterruptedException(java.lang.String);
}
- public abstract interface Iterable {
+ public abstract interface Iterable<T> {
method public default void forEach(java.util.function.Consumer<? super T>);
method public abstract java.util.Iterator<T> iterator();
method public default java.util.Spliterator<T> spliterator();
@@ -51188,12 +51188,12 @@
}
public class Package implements java.lang.reflect.AnnotatedElement {
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getAnnotations();
- method public A[] getAnnotationsByType(java.lang.Class<A>);
- method public A getDeclaredAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- method public A[] getDeclaredAnnotationsByType(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A[] getDeclaredAnnotationsByType(java.lang.Class<A>);
method public java.lang.String getImplementationTitle();
method public java.lang.String getImplementationVendor();
method public java.lang.String getImplementationVersion();
@@ -51753,7 +51753,7 @@
method public void uncaughtException(java.lang.Thread, java.lang.Throwable);
}
- public class ThreadLocal {
+ public class ThreadLocal<T> {
ctor public ThreadLocal();
method public T get();
method protected T initialValue();
@@ -51893,30 +51893,30 @@
package java.lang.ref {
- public class PhantomReference extends java.lang.ref.Reference {
+ public class PhantomReference<T> extends java.lang.ref.Reference {
ctor public PhantomReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
- public abstract class Reference {
+ public abstract class Reference<T> {
method public void clear();
method public boolean enqueue();
method public T get();
method public boolean isEnqueued();
}
- public class ReferenceQueue {
+ public class ReferenceQueue<T> {
ctor public ReferenceQueue();
method public java.lang.ref.Reference<? extends T> poll();
method public java.lang.ref.Reference<? extends T> remove(long) throws java.lang.IllegalArgumentException, java.lang.InterruptedException;
method public java.lang.ref.Reference<? extends T> remove() throws java.lang.InterruptedException;
}
- public class SoftReference extends java.lang.ref.Reference {
+ public class SoftReference<T> extends java.lang.ref.Reference {
ctor public SoftReference(T);
ctor public SoftReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
- public class WeakReference extends java.lang.ref.Reference {
+ public class WeakReference<T> extends java.lang.ref.Reference {
ctor public WeakReference(T);
ctor public WeakReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
@@ -51927,7 +51927,7 @@
public class AccessibleObject implements java.lang.reflect.AnnotatedElement {
ctor protected AccessibleObject();
- method public T getAnnotation(java.lang.Class<T>);
+ method public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public java.lang.annotation.Annotation[] getAnnotations();
method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
method public boolean isAccessible();
@@ -51936,12 +51936,12 @@
}
public abstract interface AnnotatedElement {
- method public abstract T getAnnotation(java.lang.Class<T>);
+ method public abstract <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public abstract java.lang.annotation.Annotation[] getAnnotations();
- method public default T[] getAnnotationsByType(java.lang.Class<T>);
- method public default java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class<T>);
method public abstract java.lang.annotation.Annotation[] getDeclaredAnnotations();
- method public default T[] getDeclaredAnnotationsByType(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> T[] getDeclaredAnnotationsByType(java.lang.Class<T>);
method public default boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
}
@@ -51969,8 +51969,8 @@
method public static void setShort(java.lang.Object, int, short) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
}
- public final class Constructor extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
- method public A getAnnotation(java.lang.Class<A>);
+ public final class Constructor<T> extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.Class<T> getDeclaringClass();
method public java.lang.Class<?>[] getExceptionTypes();
method public java.lang.reflect.Type[] getGenericExceptionTypes();
@@ -51989,7 +51989,7 @@
public final class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member {
method public java.lang.Object get(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public boolean getBoolean(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
method public byte getByte(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
method public char getChar(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
@@ -52055,7 +52055,7 @@
}
public final class Method extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.Class<?> getDeclaringClass();
method public java.lang.Object getDefaultValue();
method public java.lang.Class<?>[] getExceptionTypes();
@@ -52133,7 +52133,7 @@
public abstract interface Type {
}
- public abstract interface TypeVariable implements java.lang.reflect.Type {
+ public abstract interface TypeVariable<D extends java.lang.reflect.GenericDeclaration> implements java.lang.reflect.Type {
method public abstract java.lang.reflect.Type[] getBounds();
method public abstract D getGenericDeclaration();
method public abstract java.lang.String getName();
@@ -52922,7 +52922,7 @@
method public abstract java.net.SocketImpl createSocketImpl();
}
- public abstract interface SocketOption {
+ public abstract interface SocketOption<T> {
method public abstract java.lang.String name();
method public abstract java.lang.Class<T> type();
}
@@ -53506,7 +53506,7 @@
method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
method public abstract java.net.SocketAddress receive(java.nio.ByteBuffer) throws java.io.IOException;
method public abstract int send(java.nio.ByteBuffer, java.net.SocketAddress) throws java.io.IOException;
- method public abstract java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.net.DatagramSocket socket();
method public final int validOps();
method public abstract int write(java.nio.ByteBuffer) throws java.io.IOException;
@@ -53582,8 +53582,8 @@
public abstract interface NetworkChannel implements java.nio.channels.Channel {
method public abstract java.nio.channels.NetworkChannel bind(java.net.SocketAddress) throws java.io.IOException;
method public abstract java.net.SocketAddress getLocalAddress() throws java.io.IOException;
- method public abstract T getOption(java.net.SocketOption<T>) throws java.io.IOException;
- method public abstract java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.util.Set<java.net.SocketOption<?>> supportedOptions();
}
@@ -53700,7 +53700,7 @@
method public final java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException;
method public static java.nio.channels.ServerSocketChannel open() throws java.io.IOException;
- method public abstract java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.net.ServerSocket socket();
method public final int validOps();
}
@@ -53718,7 +53718,7 @@
method public abstract int read(java.nio.ByteBuffer) throws java.io.IOException;
method public abstract long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
- method public abstract java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.nio.channels.SocketChannel shutdownInput() throws java.io.IOException;
method public abstract java.nio.channels.SocketChannel shutdownOutput() throws java.io.IOException;
method public abstract java.net.Socket socket();
@@ -53965,12 +53965,12 @@
public final class AccessController {
method public static void checkPermission(java.security.Permission) throws java.security.AccessControlException;
- method public static T doPrivileged(java.security.PrivilegedAction<T>);
- method public static T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
- method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
- method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
- method public static T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
- method public static T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivileged(java.security.PrivilegedAction<T>);
+ method public static <T> T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
+ method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
method public static java.security.AccessControlContext getContext();
}
@@ -54009,7 +54009,7 @@
method public static java.security.AlgorithmParameters getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
- method public final T getParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method public final <T extends java.security.spec.AlgorithmParameterSpec> T getParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
method public final java.security.Provider getProvider();
method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
method public final void init(byte[]) throws java.io.IOException;
@@ -54021,7 +54021,7 @@
ctor public AlgorithmParametersSpi();
method protected abstract byte[] engineGetEncoded() throws java.io.IOException;
method protected abstract byte[] engineGetEncoded(java.lang.String) throws java.io.IOException;
- method protected abstract T engineGetParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method protected abstract <T extends java.security.spec.AlgorithmParameterSpec> T engineGetParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
method protected abstract void engineInit(byte[]) throws java.io.IOException;
method protected abstract void engineInit(byte[], java.lang.String) throws java.io.IOException;
@@ -54206,7 +54206,7 @@
method public static java.security.KeyFactory getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
method public static java.security.KeyFactory getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
method public static java.security.KeyFactory getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
- method public final T getKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method public final <T extends java.security.spec.KeySpec> T getKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
method public final java.security.Provider getProvider();
method public final java.security.Key translateKey(java.security.Key) throws java.security.InvalidKeyException;
}
@@ -54215,7 +54215,7 @@
ctor public KeyFactorySpi();
method protected abstract java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
method protected abstract java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
- method protected abstract T engineGetKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
method protected abstract java.security.Key engineTranslateKey(java.security.Key) throws java.security.InvalidKeyException;
}
@@ -54484,7 +54484,7 @@
field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L
}
- public abstract interface PrivilegedAction {
+ public abstract interface PrivilegedAction<T> {
method public abstract T run();
}
@@ -54493,7 +54493,7 @@
method public java.lang.Exception getException();
}
- public abstract interface PrivilegedExceptionAction {
+ public abstract interface PrivilegedExceptionAction<T> {
method public abstract T run() throws java.lang.Exception;
}
@@ -56675,11 +56675,11 @@
method public abstract void free() throws java.sql.SQLException;
method public abstract java.io.InputStream getBinaryStream() throws java.sql.SQLException;
method public abstract java.io.Reader getCharacterStream() throws java.sql.SQLException;
- method public abstract T getSource(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T extends javax.xml.transform.Source> T getSource(java.lang.Class<T>) throws java.sql.SQLException;
method public abstract java.lang.String getString() throws java.sql.SQLException;
method public abstract java.io.OutputStream setBinaryStream() throws java.sql.SQLException;
method public abstract java.io.Writer setCharacterStream() throws java.sql.SQLException;
- method public abstract T setResult(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T extends javax.xml.transform.Result> T setResult(java.lang.Class<T>) throws java.sql.SQLException;
method public abstract void setString(java.lang.String) throws java.sql.SQLException;
}
@@ -56803,7 +56803,7 @@
public abstract interface Wrapper {
method public abstract boolean isWrapperFor(java.lang.Class<?>) throws java.sql.SQLException;
- method public abstract T unwrap(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T> T unwrap(java.lang.Class<T>) throws java.sql.SQLException;
}
}
@@ -57336,7 +57336,7 @@
package java.util {
- public abstract class AbstractCollection implements java.util.Collection {
+ public abstract class AbstractCollection<E> implements java.util.Collection {
ctor protected AbstractCollection();
method public boolean add(E);
method public boolean addAll(java.util.Collection<? extends E>);
@@ -57350,10 +57350,10 @@
method public boolean retainAll(java.util.Collection<?>);
method public abstract int size();
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
}
- public abstract class AbstractList extends java.util.AbstractCollection implements java.util.List {
+ public abstract class AbstractList<E> extends java.util.AbstractCollection implements java.util.List {
ctor protected AbstractList();
method public void add(int, E);
method public boolean addAll(int, java.util.Collection<? extends E>);
@@ -57370,7 +57370,7 @@
field protected transient int modCount;
}
- public abstract class AbstractMap implements java.util.Map {
+ public abstract class AbstractMap<K, V> implements java.util.Map {
ctor protected AbstractMap();
method public void clear();
method public boolean containsKey(java.lang.Object);
@@ -57386,7 +57386,7 @@
method public java.util.Collection<V> values();
}
- public static class AbstractMap.SimpleEntry implements java.util.Map.Entry java.io.Serializable {
+ public static class AbstractMap.SimpleEntry<K, V> implements java.util.Map.Entry java.io.Serializable {
ctor public AbstractMap.SimpleEntry(K, V);
ctor public AbstractMap.SimpleEntry(java.util.Map.Entry<? extends K, ? extends V>);
method public K getKey();
@@ -57394,7 +57394,7 @@
method public V setValue(V);
}
- public static class AbstractMap.SimpleImmutableEntry implements java.util.Map.Entry java.io.Serializable {
+ public static class AbstractMap.SimpleImmutableEntry<K, V> implements java.util.Map.Entry java.io.Serializable {
ctor public AbstractMap.SimpleImmutableEntry(K, V);
ctor public AbstractMap.SimpleImmutableEntry(java.util.Map.Entry<? extends K, ? extends V>);
method public K getKey();
@@ -57402,23 +57402,23 @@
method public V setValue(V);
}
- public abstract class AbstractQueue extends java.util.AbstractCollection implements java.util.Queue {
+ public abstract class AbstractQueue<E> extends java.util.AbstractCollection implements java.util.Queue {
ctor protected AbstractQueue();
method public E element();
method public E remove();
}
- public abstract class AbstractSequentialList extends java.util.AbstractList {
+ public abstract class AbstractSequentialList<E> extends java.util.AbstractList {
ctor protected AbstractSequentialList();
method public E get(int);
method public abstract java.util.ListIterator<E> listIterator(int);
}
- public abstract class AbstractSet extends java.util.AbstractCollection implements java.util.Set {
+ public abstract class AbstractSet<E> extends java.util.AbstractCollection implements java.util.Set {
ctor protected AbstractSet();
}
- public class ArrayDeque extends java.util.AbstractCollection implements java.lang.Cloneable java.util.Deque java.io.Serializable {
+ public class ArrayDeque<E> extends java.util.AbstractCollection implements java.lang.Cloneable java.util.Deque java.io.Serializable {
ctor public ArrayDeque();
ctor public ArrayDeque(int);
ctor public ArrayDeque(java.util.Collection<? extends E>);
@@ -57450,7 +57450,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class ArrayList extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class ArrayList<E> extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public ArrayList(int);
ctor public ArrayList();
ctor public ArrayList(java.util.Collection<? extends E>);
@@ -57467,7 +57467,7 @@
}
public class Arrays {
- method public static java.util.List<T> asList(T...);
+ method public static <T> java.util.List<T> asList(T...);
method public static int binarySearch(long[], long);
method public static int binarySearch(long[], int, int, long);
method public static int binarySearch(int[], int);
@@ -57484,10 +57484,10 @@
method public static int binarySearch(float[], int, int, float);
method public static int binarySearch(java.lang.Object[], java.lang.Object);
method public static int binarySearch(java.lang.Object[], int, int, java.lang.Object);
- method public static int binarySearch(T[], T, java.util.Comparator<? super T>);
- method public static int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
- method public static T[] copyOf(T[], int);
- method public static T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
+ method public static <T> int binarySearch(T[], T, java.util.Comparator<? super T>);
+ method public static <T> int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
+ method public static <T> T[] copyOf(T[], int);
+ method public static <T, U> T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
method public static byte[] copyOf(byte[], int);
method public static short[] copyOf(short[], int);
method public static int[] copyOf(int[], int);
@@ -57496,8 +57496,8 @@
method public static float[] copyOf(float[], int);
method public static double[] copyOf(double[], int);
method public static boolean[] copyOf(boolean[], int);
- method public static T[] copyOfRange(T[], int, int);
- method public static T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
+ method public static <T> T[] copyOfRange(T[], int, int);
+ method public static <T, U> T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
method public static byte[] copyOfRange(byte[], int, int);
method public static short[] copyOfRange(short[], int, int);
method public static int[] copyOfRange(int[], int, int);
@@ -57545,15 +57545,15 @@
method public static int hashCode(float[]);
method public static int hashCode(double[]);
method public static int hashCode(java.lang.Object[]);
- method public static void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
- method public static void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
+ method public static <T> void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
+ method public static <T> void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
method public static void parallelPrefix(long[], java.util.function.LongBinaryOperator);
method public static void parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator);
method public static void parallelPrefix(double[], java.util.function.DoubleBinaryOperator);
method public static void parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator);
method public static void parallelPrefix(int[], java.util.function.IntBinaryOperator);
method public static void parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator);
- method public static void parallelSetAll(T[], java.util.function.IntFunction<? extends T>);
+ method public static <T> void parallelSetAll(T[], java.util.function.IntFunction<? extends T>);
method public static void parallelSetAll(int[], java.util.function.IntUnaryOperator);
method public static void parallelSetAll(long[], java.util.function.IntToLongFunction);
method public static void parallelSetAll(double[], java.util.function.IntToDoubleFunction);
@@ -57571,11 +57571,11 @@
method public static void parallelSort(float[], int, int);
method public static void parallelSort(double[]);
method public static void parallelSort(double[], int, int);
- method public static void parallelSort(T[]);
- method public static void parallelSort(T[], int, int);
- method public static void parallelSort(T[], java.util.Comparator<? super T>);
- method public static void parallelSort(T[], int, int, java.util.Comparator<? super T>);
- method public static void setAll(T[], java.util.function.IntFunction<? extends T>);
+ method public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[]);
+ method public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[], int, int);
+ method public static <T> void parallelSort(T[], java.util.Comparator<? super T>);
+ method public static <T> void parallelSort(T[], int, int, java.util.Comparator<? super T>);
+ method public static <T> void setAll(T[], java.util.function.IntFunction<? extends T>);
method public static void setAll(int[], java.util.function.IntUnaryOperator);
method public static void setAll(long[], java.util.function.IntToLongFunction);
method public static void setAll(double[], java.util.function.IntToDoubleFunction);
@@ -57595,18 +57595,18 @@
method public static void sort(double[], int, int);
method public static void sort(java.lang.Object[]);
method public static void sort(java.lang.Object[], int, int);
- method public static void sort(T[], java.util.Comparator<? super T>);
- method public static void sort(T[], int, int, java.util.Comparator<? super T>);
- method public static java.util.Spliterator<T> spliterator(T[]);
- method public static java.util.Spliterator<T> spliterator(T[], int, int);
+ method public static <T> void sort(T[], java.util.Comparator<? super T>);
+ method public static <T> void sort(T[], int, int, java.util.Comparator<? super T>);
+ method public static <T> java.util.Spliterator<T> spliterator(T[]);
+ method public static <T> java.util.Spliterator<T> spliterator(T[], int, int);
method public static java.util.Spliterator.OfInt spliterator(int[]);
method public static java.util.Spliterator.OfInt spliterator(int[], int, int);
method public static java.util.Spliterator.OfLong spliterator(long[]);
method public static java.util.Spliterator.OfLong spliterator(long[], int, int);
method public static java.util.Spliterator.OfDouble spliterator(double[]);
method public static java.util.Spliterator.OfDouble spliterator(double[], int, int);
- method public static java.util.stream.Stream<T> stream(T[]);
- method public static java.util.stream.Stream<T> stream(T[], int, int);
+ method public static <T> java.util.stream.Stream<T> stream(T[]);
+ method public static <T> java.util.stream.Stream<T> stream(T[], int, int);
method public static java.util.stream.IntStream stream(int[]);
method public static java.util.stream.IntStream stream(int[], int, int);
method public static java.util.stream.LongStream stream(long[]);
@@ -57763,7 +57763,7 @@
field protected long time;
}
- public abstract interface Collection implements java.lang.Iterable {
+ public abstract interface Collection<E> implements java.lang.Iterable {
method public abstract boolean add(E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
method public abstract void clear();
@@ -57781,86 +57781,86 @@
method public abstract int size();
method public default java.util.stream.Stream<E> stream();
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
public class Collections {
- method public static boolean addAll(java.util.Collection<? super T>, T...);
- method public static java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
- method public static int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T);
- method public static int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
- method public static java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
- method public static java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
- method public static java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
- method public static java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
- method public static java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
- method public static java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
- method public static void copy(java.util.List<? super T>, java.util.List<? extends T>);
+ method public static <T> boolean addAll(java.util.Collection<? super T>, T...);
+ method public static <T> java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
+ method public static <T> int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T);
+ method public static <T> int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
+ method public static <E> java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
+ method public static <E> java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
+ method public static <K, V> java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static <E> java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
+ method public static <K, V> java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static <E> java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
+ method public static <T> void copy(java.util.List<? super T>, java.util.List<? extends T>);
method public static boolean disjoint(java.util.Collection<?>, java.util.Collection<?>);
- method public static java.util.Enumeration<T> emptyEnumeration();
- method public static java.util.Iterator<T> emptyIterator();
- method public static final java.util.List<T> emptyList();
- method public static java.util.ListIterator<T> emptyListIterator();
- method public static final java.util.Map<K, V> emptyMap();
- method public static final java.util.Set<T> emptySet();
- method public static java.util.Enumeration<T> enumeration(java.util.Collection<T>);
- method public static void fill(java.util.List<? super T>, T);
+ method public static <T> java.util.Enumeration<T> emptyEnumeration();
+ method public static <T> java.util.Iterator<T> emptyIterator();
+ method public static final <T> java.util.List<T> emptyList();
+ method public static <T> java.util.ListIterator<T> emptyListIterator();
+ method public static final <K, V> java.util.Map<K, V> emptyMap();
+ method public static final <T> java.util.Set<T> emptySet();
+ method public static <T> java.util.Enumeration<T> enumeration(java.util.Collection<T>);
+ method public static <T> void fill(java.util.List<? super T>, T);
method public static int frequency(java.util.Collection<?>, java.lang.Object);
method public static int indexOfSubList(java.util.List<?>, java.util.List<?>);
method public static int lastIndexOfSubList(java.util.List<?>, java.util.List<?>);
- method public static java.util.ArrayList<T> list(java.util.Enumeration<T>);
- method public static T max(java.util.Collection<? extends T>);
- method public static T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
- method public static T min(java.util.Collection<? extends T>);
- method public static T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
- method public static java.util.List<T> nCopies(int, T);
- method public static java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
- method public static boolean replaceAll(java.util.List<T>, T, T);
+ method public static <T> java.util.ArrayList<T> list(java.util.Enumeration<T>);
+ method public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T max(java.util.Collection<? extends T>);
+ method public static <T> T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T min(java.util.Collection<? extends T>);
+ method public static <T> T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static <T> java.util.List<T> nCopies(int, T);
+ method public static <E> java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
+ method public static <T> boolean replaceAll(java.util.List<T>, T, T);
method public static void reverse(java.util.List<?>);
- method public static java.util.Comparator<T> reverseOrder();
- method public static java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
+ method public static <T> java.util.Comparator<T> reverseOrder();
+ method public static <T> java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
method public static void rotate(java.util.List<?>, int);
method public static void shuffle(java.util.List<?>);
method public static void shuffle(java.util.List<?>, java.util.Random);
- method public static java.util.Set<E> singleton(E);
- method public static java.util.List<E> singletonList(E);
- method public static java.util.Map<K, V> singletonMap(K, V);
- method public static void sort(java.util.List<T>);
- method public static void sort(java.util.List<T>, java.util.Comparator<? super T>);
+ method public static <E> java.util.Set<E> singleton(E);
+ method public static <E> java.util.List<E> singletonList(E);
+ method public static <K, V> java.util.Map<K, V> singletonMap(K, V);
+ method public static <T extends java.lang.Comparable<? super T>> void sort(java.util.List<T>);
+ method public static <T> void sort(java.util.List<T>, java.util.Comparator<? super T>);
method public static void swap(java.util.List<?>, int, int);
- method public static java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
- method public static java.util.List<T> synchronizedList(java.util.List<T>);
- method public static java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
- method public static java.util.Set<T> synchronizedSet(java.util.Set<T>);
- method public static java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
- method public static java.util.SortedSet<T> synchronizedSortedSet(java.util.SortedSet<T>);
- method public static java.util.Collection<T> unmodifiableCollection(java.util.Collection<? extends T>);
- method public static java.util.List<T> unmodifiableList(java.util.List<? extends T>);
- method public static java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
- method public static java.util.Set<T> unmodifiableSet(java.util.Set<? extends T>);
- method public static java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
- method public static java.util.SortedSet<T> unmodifiableSortedSet(java.util.SortedSet<T>);
+ method public static <T> java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
+ method public static <T> java.util.List<T> synchronizedList(java.util.List<T>);
+ method public static <K, V> java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
+ method public static <T> java.util.Set<T> synchronizedSet(java.util.Set<T>);
+ method public static <K, V> java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
+ method public static <T> java.util.SortedSet<T> synchronizedSortedSet(java.util.SortedSet<T>);
+ method public static <T> java.util.Collection<T> unmodifiableCollection(java.util.Collection<? extends T>);
+ method public static <T> java.util.List<T> unmodifiableList(java.util.List<? extends T>);
+ method public static <K, V> java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
+ method public static <T> java.util.Set<T> unmodifiableSet(java.util.Set<? extends T>);
+ method public static <K, V> java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
+ method public static <T> java.util.SortedSet<T> unmodifiableSortedSet(java.util.SortedSet<T>);
field public static final java.util.List EMPTY_LIST;
field public static final java.util.Map EMPTY_MAP;
field public static final java.util.Set EMPTY_SET;
}
- public abstract interface Comparator {
+ public abstract interface Comparator<T> {
method public abstract int compare(T, T);
- method public static java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
- method public static java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>);
- method public static java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, U> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
+ method public static <T, U extends java.lang.Comparable<? super U>> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>);
+ method public static <T> java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
method public abstract boolean equals(java.lang.Object);
- method public static java.util.Comparator<T> naturalOrder();
- method public static java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
- method public static java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
- method public static java.util.Comparator<T> reverseOrder();
+ method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> naturalOrder();
+ method public static <T> java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
+ method public static <T> java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
+ method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> reverseOrder();
method public default java.util.Comparator<T> reversed();
method public default java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
- method public default java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
- method public default java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>);
+ method public default <U> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
+ method public default <U extends java.lang.Comparable<? super U>> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>);
method public default java.util.Comparator<T> thenComparingDouble(java.util.function.ToDoubleFunction<? super T>);
method public default java.util.Comparator<T> thenComparingInt(java.util.function.ToIntFunction<? super T>);
method public default java.util.Comparator<T> thenComparingLong(java.util.function.ToLongFunction<? super T>);
@@ -57919,7 +57919,7 @@
method public deprecated java.lang.String toLocaleString();
}
- public abstract interface Deque implements java.util.Queue {
+ public abstract interface Deque<E> implements java.util.Queue {
method public abstract boolean add(E);
method public abstract void addFirst(E);
method public abstract void addLast(E);
@@ -57949,7 +57949,7 @@
method public abstract int size();
}
- public abstract class Dictionary {
+ public abstract class Dictionary<K, V> {
ctor public Dictionary();
method public abstract java.util.Enumeration<V> elements();
method public abstract V get(java.lang.Object);
@@ -57980,7 +57980,7 @@
ctor public EmptyStackException();
}
- public class EnumMap extends java.util.AbstractMap implements java.lang.Cloneable java.io.Serializable {
+ public class EnumMap<K extends java.lang.Enum<K>, V> extends java.util.AbstractMap implements java.lang.Cloneable java.io.Serializable {
ctor public EnumMap(java.lang.Class<K>);
ctor public EnumMap(java.util.EnumMap<K, ? extends V>);
ctor public EnumMap(java.util.Map<K, ? extends V>);
@@ -57988,23 +57988,23 @@
method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
}
- public abstract class EnumSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable {
- method public static java.util.EnumSet<E> allOf(java.lang.Class<E>);
+ public abstract class EnumSet<E extends java.lang.Enum<E>> extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable {
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> allOf(java.lang.Class<E>);
method public java.util.EnumSet<E> clone();
- method public static java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
- method public static java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
- method public static java.util.EnumSet<E> copyOf(java.util.Collection<E>);
- method public static java.util.EnumSet<E> noneOf(java.lang.Class<E>);
- method public static java.util.EnumSet<E> of(E);
- method public static java.util.EnumSet<E> of(E, E);
- method public static java.util.EnumSet<E> of(E, E, E);
- method public static java.util.EnumSet<E> of(E, E, E, E);
- method public static java.util.EnumSet<E> of(E, E, E, E, E);
- method public static java.util.EnumSet<E> of(E, E...);
- method public static java.util.EnumSet<E> range(E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.Collection<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> noneOf(java.lang.Class<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E...);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> range(E, E);
}
- public abstract interface Enumeration {
+ public abstract interface Enumeration<E> {
method public abstract boolean hasMoreElements();
method public abstract E nextElement();
}
@@ -58012,7 +58012,7 @@
public abstract interface EventListener {
}
- public abstract class EventListenerProxy implements java.util.EventListener {
+ public abstract class EventListenerProxy<T extends java.util.EventListener> implements java.util.EventListener {
ctor public EventListenerProxy(T);
method public T getListener();
}
@@ -58098,7 +58098,7 @@
field public static final int BC = 0; // 0x0
}
- public class HashMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class HashMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public HashMap(int, float);
ctor public HashMap(int);
ctor public HashMap();
@@ -58110,7 +58110,7 @@
method public void replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>);
}
- public class HashSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ public class HashSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
ctor public HashSet();
ctor public HashSet(java.util.Collection<? extends E>);
ctor public HashSet(int, float);
@@ -58121,7 +58121,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class Hashtable extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class Hashtable<K, V> extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public Hashtable(int, float);
ctor public Hashtable(int);
ctor public Hashtable();
@@ -58156,7 +58156,7 @@
method public java.util.Collection<V> values();
}
- public class IdentityHashMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class IdentityHashMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public IdentityHashMap();
ctor public IdentityHashMap(int);
ctor public IdentityHashMap(java.util.Map<? extends K, ? extends V>);
@@ -58223,14 +58223,14 @@
ctor public InvalidPropertiesFormatException(java.lang.String);
}
- public abstract interface Iterator {
+ public abstract interface Iterator<E> {
method public default void forEachRemaining(java.util.function.Consumer<? super E>);
method public abstract boolean hasNext();
method public abstract E next();
method public default void remove();
}
- public class LinkedHashMap extends java.util.HashMap implements java.util.Map {
+ public class LinkedHashMap<K, V> extends java.util.HashMap implements java.util.Map {
ctor public LinkedHashMap(int, float);
ctor public LinkedHashMap(int);
ctor public LinkedHashMap();
@@ -58239,14 +58239,14 @@
method protected boolean removeEldestEntry(java.util.Map.Entry<K, V>);
}
- public class LinkedHashSet extends java.util.HashSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ public class LinkedHashSet<E> extends java.util.HashSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
ctor public LinkedHashSet(int, float);
ctor public LinkedHashSet(int);
ctor public LinkedHashSet();
ctor public LinkedHashSet(java.util.Collection<? extends E>);
}
- public class LinkedList extends java.util.AbstractSequentialList implements java.lang.Cloneable java.util.Deque java.util.List java.io.Serializable {
+ public class LinkedList<E> extends java.util.AbstractSequentialList implements java.lang.Cloneable java.util.Deque java.util.List java.io.Serializable {
ctor public LinkedList();
ctor public LinkedList(java.util.Collection<? extends E>);
method public void addFirst(E);
@@ -58277,7 +58277,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public abstract interface List implements java.util.Collection {
+ public abstract interface List<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract void add(int, E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
@@ -58304,10 +58304,10 @@
method public default void sort(java.util.Comparator<? super E>);
method public abstract java.util.List<E> subList(int, int);
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
- public abstract interface ListIterator implements java.util.Iterator {
+ public abstract interface ListIterator<E> implements java.util.Iterator {
method public abstract void add(E);
method public abstract boolean hasNext();
method public abstract boolean hasPrevious();
@@ -58424,7 +58424,7 @@
method public final long getSum();
}
- public abstract interface Map {
+ public abstract interface Map<K, V> {
method public abstract void clear();
method public default V compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>);
method public default V computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>);
@@ -58452,11 +58452,11 @@
method public abstract java.util.Collection<V> values();
}
- public static abstract interface Map.Entry {
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey();
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey(java.util.Comparator<? super K>);
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue();
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue(java.util.Comparator<? super V>);
+ public static abstract interface Map.Entry<K, V> {
+ method public static <K extends java.lang.Comparable<? super K>, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey();
+ method public static <K, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey(java.util.Comparator<? super K>);
+ method public static <K, V extends java.lang.Comparable<? super V>> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue();
+ method public static <K, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue(java.util.Comparator<? super V>);
method public abstract boolean equals(java.lang.Object);
method public abstract K getKey();
method public abstract V getValue();
@@ -58480,7 +58480,7 @@
method public java.lang.String getKey();
}
- public abstract interface NavigableMap implements java.util.SortedMap {
+ public abstract interface NavigableMap<K, V> implements java.util.SortedMap {
method public abstract java.util.Map.Entry<K, V> ceilingEntry(K);
method public abstract K ceilingKey(K);
method public abstract java.util.NavigableSet<K> descendingKeySet();
@@ -58504,7 +58504,7 @@
method public abstract java.util.SortedMap<K, V> tailMap(K);
}
- public abstract interface NavigableSet implements java.util.SortedSet {
+ public abstract interface NavigableSet<E> implements java.util.SortedSet {
method public abstract E ceiling(E);
method public abstract java.util.Iterator<E> descendingIterator();
method public abstract java.util.NavigableSet<E> descendingSet();
@@ -58528,16 +58528,16 @@
}
public final class Objects {
- method public static int compare(T, T, java.util.Comparator<? super T>);
+ method public static <T> int compare(T, T, java.util.Comparator<? super T>);
method public static boolean deepEquals(java.lang.Object, java.lang.Object);
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<java.lang.String>);
+ method public static <T> T requireNonNull(T);
+ method public static <T> T requireNonNull(T, java.lang.String);
+ method public static <T> T requireNonNull(T, java.util.function.Supplier<java.lang.String>);
method public static java.lang.String toString(java.lang.Object);
method public static java.lang.String toString(java.lang.Object, java.lang.String);
}
@@ -58559,19 +58559,19 @@
method public abstract void update(java.util.Observable, java.lang.Object);
}
- public final class Optional {
- method public static java.util.Optional<T> empty();
+ public final class Optional<T> {
+ method public static <T> java.util.Optional<T> empty();
method public java.util.Optional<T> filter(java.util.function.Predicate<? super T>);
- method public java.util.Optional<U> flatMap(java.util.function.Function<? super T, java.util.Optional<U>>);
+ method public <U> java.util.Optional<U> flatMap(java.util.function.Function<? super T, java.util.Optional<U>>);
method public T get();
method public void ifPresent(java.util.function.Consumer<? super T>);
method public boolean isPresent();
- method public java.util.Optional<U> map(java.util.function.Function<? super T, ? extends U>);
- method public static java.util.Optional<T> of(T);
- method public static java.util.Optional<T> ofNullable(T);
+ method public <U> java.util.Optional<U> map(java.util.function.Function<? super T, ? extends U>);
+ method public static <T> java.util.Optional<T> of(T);
+ method public static <T> java.util.Optional<T> ofNullable(T);
method public T orElse(T);
method public T orElseGet(java.util.function.Supplier<? extends T>);
- method public T orElseThrow(java.util.function.Supplier<? extends X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> T orElseThrow(java.util.function.Supplier<? extends X>) throws java.lang.Throwable;
}
public final class OptionalDouble {
@@ -58582,7 +58582,7 @@
method public static java.util.OptionalDouble of(double);
method public double orElse(double);
method public double orElseGet(java.util.function.DoubleSupplier);
- method public double orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> double orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
public final class OptionalInt {
@@ -58593,7 +58593,7 @@
method public static java.util.OptionalInt of(int);
method public int orElse(int);
method public int orElseGet(java.util.function.IntSupplier);
- method public int orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> int orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
public final class OptionalLong {
@@ -58604,10 +58604,10 @@
method public static java.util.OptionalLong of(long);
method public long orElse(long);
method public long orElseGet(java.util.function.LongSupplier);
- method public long orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> long orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
- public abstract interface PrimitiveIterator implements java.util.Iterator {
+ public abstract interface PrimitiveIterator<T, T_CONS> implements java.util.Iterator {
method public abstract void forEachRemaining(T_CONS);
}
@@ -58632,7 +58632,7 @@
method public abstract long nextLong();
}
- public class PriorityQueue extends java.util.AbstractQueue implements java.io.Serializable {
+ public class PriorityQueue<E> extends java.util.AbstractQueue implements java.io.Serializable {
ctor public PriorityQueue();
ctor public PriorityQueue(int);
ctor public PriorityQueue(java.util.Comparator<? super E>);
@@ -58681,7 +58681,7 @@
method public java.lang.Object handleGetObject(java.lang.String);
}
- public abstract interface Queue implements java.util.Collection {
+ public abstract interface Queue<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract E element();
method public abstract boolean offer(E);
@@ -58831,15 +58831,15 @@
ctor public ServiceConfigurationError(java.lang.String, java.lang.Throwable);
}
- public final class ServiceLoader implements java.lang.Iterable {
+ public final class ServiceLoader<S> implements java.lang.Iterable {
method public java.util.Iterator<S> iterator();
- method public static java.util.ServiceLoader<S> load(java.lang.Class<S>, java.lang.ClassLoader);
- method public static java.util.ServiceLoader<S> load(java.lang.Class<S>);
- method public static java.util.ServiceLoader<S> loadInstalled(java.lang.Class<S>);
+ method public static <S> java.util.ServiceLoader<S> load(java.lang.Class<S>, java.lang.ClassLoader);
+ method public static <S> java.util.ServiceLoader<S> load(java.lang.Class<S>);
+ method public static <S> java.util.ServiceLoader<S> loadInstalled(java.lang.Class<S>);
method public void reload();
}
- public abstract interface Set implements java.util.Collection {
+ public abstract interface Set<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
method public abstract void clear();
@@ -58854,7 +58854,7 @@
method public abstract boolean retainAll(java.util.Collection<?>);
method public abstract int size();
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
public class SimpleTimeZone extends java.util.TimeZone {
@@ -58880,7 +58880,7 @@
field public static final int WALL_TIME = 0; // 0x0
}
- public abstract interface SortedMap implements java.util.Map {
+ public abstract interface SortedMap<K, V> implements java.util.Map {
method public abstract java.util.Comparator<? super K> comparator();
method public abstract java.util.Set<java.util.Map.Entry<K, V>> entrySet();
method public abstract K firstKey();
@@ -58892,7 +58892,7 @@
method public abstract java.util.Collection<V> values();
}
- public abstract interface SortedSet implements java.util.Set {
+ public abstract interface SortedSet<E> implements java.util.Set {
method public abstract java.util.Comparator<? super E> comparator();
method public abstract E first();
method public abstract java.util.SortedSet<E> headSet(E);
@@ -58901,7 +58901,7 @@
method public abstract java.util.SortedSet<E> tailSet(E);
}
- public abstract interface Spliterator {
+ public abstract interface Spliterator<T> {
method public abstract int characteristics();
method public abstract long estimateSize();
method public default void forEachRemaining(java.util.function.Consumer<? super T>);
@@ -58944,7 +58944,7 @@
method public abstract java.util.Spliterator.OfLong trySplit();
}
- public static abstract interface Spliterator.OfPrimitive implements java.util.Spliterator {
+ public static abstract interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> implements java.util.Spliterator {
method public default void forEachRemaining(T_CONS);
method public abstract boolean tryAdvance(T_CONS);
method public abstract T_SPLITR trySplit();
@@ -58954,25 +58954,25 @@
method public static java.util.Spliterator.OfDouble emptyDoubleSpliterator();
method public static java.util.Spliterator.OfInt emptyIntSpliterator();
method public static java.util.Spliterator.OfLong emptyLongSpliterator();
- method public static java.util.Spliterator<T> emptySpliterator();
- method public static java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
+ method public static <T> java.util.Spliterator<T> emptySpliterator();
+ method public static <T> java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
method public static java.util.PrimitiveIterator.OfInt iterator(java.util.Spliterator.OfInt);
method public static java.util.PrimitiveIterator.OfLong iterator(java.util.Spliterator.OfLong);
method public static java.util.PrimitiveIterator.OfDouble iterator(java.util.Spliterator.OfDouble);
- method public static java.util.Spliterator<T> spliterator(java.lang.Object[], int);
- method public static java.util.Spliterator<T> spliterator(java.lang.Object[], int, int, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.lang.Object[], int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.lang.Object[], int, int, int);
method public static java.util.Spliterator.OfInt spliterator(int[], int);
method public static java.util.Spliterator.OfInt spliterator(int[], int, int, int);
method public static java.util.Spliterator.OfLong spliterator(long[], int);
method public static java.util.Spliterator.OfLong spliterator(long[], int, int, int);
method public static java.util.Spliterator.OfDouble spliterator(double[], int);
method public static java.util.Spliterator.OfDouble spliterator(double[], int, int, int);
- method public static java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
- method public static java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
method public static java.util.Spliterator.OfInt spliterator(java.util.PrimitiveIterator.OfInt, long, int);
method public static java.util.Spliterator.OfLong spliterator(java.util.PrimitiveIterator.OfLong, long, int);
method public static java.util.Spliterator.OfDouble spliterator(java.util.PrimitiveIterator.OfDouble, long, int);
- method public static java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
+ method public static <T> java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
method public static java.util.Spliterator.OfInt spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt, int);
method public static java.util.Spliterator.OfLong spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong, int);
method public static java.util.Spliterator.OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble, int);
@@ -58999,7 +58999,7 @@
method public java.util.Spliterator.OfLong trySplit();
}
- public static abstract class Spliterators.AbstractSpliterator implements java.util.Spliterator {
+ public static abstract class Spliterators.AbstractSpliterator<T> implements java.util.Spliterator {
ctor protected Spliterators.AbstractSpliterator(long, int);
method public int characteristics();
method public long estimateSize();
@@ -59034,7 +59034,7 @@
method public java.util.SplittableRandom split();
}
- public class Stack extends java.util.Vector {
+ public class Stack<E> extends java.util.Vector {
ctor public Stack();
method public boolean empty();
method public synchronized E peek();
@@ -59118,7 +59118,7 @@
ctor public TooManyListenersException(java.lang.String);
}
- public class TreeMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.NavigableMap java.io.Serializable {
+ public class TreeMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.NavigableMap java.io.Serializable {
ctor public TreeMap();
ctor public TreeMap(java.util.Comparator<? super K>);
ctor public TreeMap(java.util.Map<? extends K, ? extends V>);
@@ -59155,7 +59155,7 @@
method public java.util.SortedMap<K, V> tailMap(K);
}
- public class TreeSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ public class TreeSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
ctor public TreeSet();
ctor public TreeSet(java.util.Comparator<? super E>);
ctor public TreeSet(java.util.Collection<? extends E>);
@@ -59208,7 +59208,7 @@
method public java.lang.String getFlags();
}
- public class Vector extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class Vector<E> extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public Vector(int, int);
ctor public Vector(int);
ctor public Vector();
@@ -59243,7 +59243,7 @@
field protected java.lang.Object[] elementData;
}
- public class WeakHashMap extends java.util.AbstractMap implements java.util.Map {
+ public class WeakHashMap<K, V> extends java.util.AbstractMap implements java.util.Map {
ctor public WeakHashMap(int, float);
ctor public WeakHashMap(int);
ctor public WeakHashMap();
@@ -59259,18 +59259,18 @@
public abstract class AbstractExecutorService implements java.util.concurrent.ExecutorService {
ctor public AbstractExecutorService();
- method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
- method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
- method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
- method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
- method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
+ method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
+ method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
method public java.util.concurrent.Future<?> submit(java.lang.Runnable);
- method public java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
- method public java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ method public <T> java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
}
- public class ArrayBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class ArrayBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public ArrayBlockingQueue(int);
ctor public ArrayBlockingQueue(int, boolean);
ctor public ArrayBlockingQueue(int, boolean, java.util.Collection<? extends E>);
@@ -59289,7 +59289,7 @@
method public E take() throws java.lang.InterruptedException;
}
- public abstract interface BlockingDeque implements java.util.concurrent.BlockingQueue java.util.Deque {
+ public abstract interface BlockingDeque<E> implements java.util.concurrent.BlockingQueue java.util.Deque {
method public abstract boolean add(E);
method public abstract void addFirst(E);
method public abstract void addLast(E);
@@ -59321,7 +59321,7 @@
method public abstract E takeLast() throws java.lang.InterruptedException;
}
- public abstract interface BlockingQueue implements java.util.Queue {
+ public abstract interface BlockingQueue<E> implements java.util.Queue {
method public abstract boolean add(E);
method public abstract boolean contains(java.lang.Object);
method public abstract int drainTo(java.util.Collection<? super E>);
@@ -59340,7 +59340,7 @@
ctor public BrokenBarrierException(java.lang.String);
}
- public abstract interface Callable {
+ public abstract interface Callable<V> {
method public abstract V call() throws java.lang.Exception;
}
@@ -59349,28 +59349,28 @@
ctor public CancellationException(java.lang.String);
}
- public class CompletableFuture implements java.util.concurrent.CompletionStage java.util.concurrent.Future {
+ public class CompletableFuture<T> implements java.util.concurrent.CompletionStage java.util.concurrent.Future {
ctor public CompletableFuture();
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> allOf(java.util.concurrent.CompletableFuture<?>...);
method public static java.util.concurrent.CompletableFuture<java.lang.Object> anyOf(java.util.concurrent.CompletableFuture<?>...);
- method public java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
method public boolean cancel(boolean);
method public boolean complete(T);
method public boolean completeExceptionally(java.lang.Throwable);
- method public static java.util.concurrent.CompletableFuture<U> completedFuture(U);
+ method public static <U> java.util.concurrent.CompletableFuture<U> completedFuture(U);
method public java.util.concurrent.CompletableFuture<T> exceptionally(java.util.function.Function<java.lang.Throwable, ? extends T>);
method public T get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
method public T get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
method public T getNow(T);
method public int getNumberOfDependents();
- method public java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
method public boolean isCancelled();
method public boolean isCompletedExceptionally();
method public boolean isDone();
@@ -59385,23 +59385,23 @@
method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable, java.util.concurrent.Executor);
- method public static java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
- method public static java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
+ method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
+ method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRun(java.lang.Runnable);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
@@ -59421,7 +59421,7 @@
ctor public CompletionException(java.lang.Throwable);
}
- public abstract interface CompletionService {
+ public abstract interface CompletionService<V> {
method public abstract java.util.concurrent.Future<V> poll();
method public abstract java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
method public abstract java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
@@ -59429,17 +59429,17 @@
method public abstract java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
}
- public abstract interface CompletionStage {
+ public abstract interface CompletionStage<T> {
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<T> exceptionally(java.util.function.Function<java.lang.Throwable, ? extends T>);
- method public abstract java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
@@ -59449,18 +59449,18 @@
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public abstract java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public abstract java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRun(java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
@@ -59470,7 +59470,7 @@
method public abstract java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>, java.util.concurrent.Executor);
}
- public class ConcurrentHashMap extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable {
+ public class ConcurrentHashMap<K, V> extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable {
ctor public ConcurrentHashMap();
ctor public ConcurrentHashMap(int);
ctor public ConcurrentHashMap(java.util.Map<? extends K, ? extends V>);
@@ -59484,29 +59484,29 @@
method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
method public void forEach(java.util.function.BiConsumer<? super K, ? super V>);
method public void forEach(long, java.util.function.BiConsumer<? super K, ? super V>);
- method public void forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachEntry(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>);
- method public void forEachEntry(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachEntry(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachKey(long, java.util.function.Consumer<? super K>);
- method public void forEachKey(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachKey(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachValue(long, java.util.function.Consumer<? super V>);
- method public void forEachValue(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachValue(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>);
method public V getOrDefault(java.lang.Object, V);
method public java.util.concurrent.ConcurrentHashMap.KeySetView<K, V> keySet(V);
method public java.util.Enumeration<K> keys();
method public long mappingCount();
method public V merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>);
- method public static java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet();
- method public static java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet(int);
+ method public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet();
+ method public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet(int);
method public V putIfAbsent(K, V);
- method public U reduce(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduce(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public java.util.Map.Entry<K, V> reduceEntries(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>);
- method public U reduceEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceEntriesToDouble(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator);
method public int reduceEntriesToInt(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator);
method public long reduceEntriesToLong(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator);
method public K reduceKeys(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>);
- method public U reduceKeys(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceKeys(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceKeysToDouble(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator);
method public int reduceKeysToInt(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator);
method public long reduceKeysToLong(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator);
@@ -59514,7 +59514,7 @@
method public int reduceToInt(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator);
method public long reduceToLong(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator);
method public V reduceValues(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>);
- method public U reduceValues(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceValues(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceValuesToDouble(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator);
method public int reduceValuesToInt(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator);
method public long reduceValuesToLong(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator);
@@ -59522,13 +59522,13 @@
method public boolean replace(K, V, V);
method public V replace(K, V);
method public void replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>);
- method public U search(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>);
- method public U searchEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>);
- method public U searchKeys(long, java.util.function.Function<? super K, ? extends U>);
- method public U searchValues(long, java.util.function.Function<? super V, ? extends U>);
+ method public <U> U search(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>);
+ method public <U> U searchEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>);
+ method public <U> U searchKeys(long, java.util.function.Function<? super K, ? extends U>);
+ method public <U> U searchValues(long, java.util.function.Function<? super V, ? extends U>);
}
- static abstract class ConcurrentHashMap.CollectionView implements java.util.Collection java.io.Serializable {
+ static abstract class ConcurrentHashMap.CollectionView<K, V, E> implements java.util.Collection java.io.Serializable {
method public final void clear();
method public abstract boolean contains(java.lang.Object);
method public final boolean containsAll(java.util.Collection<?>);
@@ -59540,11 +59540,11 @@
method public final boolean retainAll(java.util.Collection<?>);
method public final int size();
method public final java.lang.Object[] toArray();
- method public final T[] toArray(T[]);
+ method public final <T> T[] toArray(T[]);
method public final java.lang.String toString();
}
- public static class ConcurrentHashMap.KeySetView extends java.util.concurrent.ConcurrentHashMap.CollectionView implements java.io.Serializable java.util.Set {
+ public static class ConcurrentHashMap.KeySetView<K, V> extends java.util.concurrent.ConcurrentHashMap.CollectionView implements java.io.Serializable java.util.Set {
method public boolean add(K);
method public boolean addAll(java.util.Collection<? extends K>);
method public boolean contains(java.lang.Object);
@@ -59555,7 +59555,7 @@
method public java.util.Spliterator<K> spliterator();
}
- public class ConcurrentLinkedDeque extends java.util.AbstractCollection implements java.util.Deque java.io.Serializable {
+ public class ConcurrentLinkedDeque<E> extends java.util.AbstractCollection implements java.util.Deque java.io.Serializable {
ctor public ConcurrentLinkedDeque();
ctor public ConcurrentLinkedDeque(java.util.Collection<? extends E>);
method public void addFirst(E);
@@ -59585,7 +59585,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class ConcurrentLinkedQueue extends java.util.AbstractQueue implements java.util.Queue java.io.Serializable {
+ public class ConcurrentLinkedQueue<E> extends java.util.AbstractQueue implements java.util.Queue java.io.Serializable {
ctor public ConcurrentLinkedQueue();
ctor public ConcurrentLinkedQueue(java.util.Collection<? extends E>);
method public java.util.Iterator<E> iterator();
@@ -59596,14 +59596,14 @@
method public java.util.Spliterator<E> spliterator();
}
- public abstract interface ConcurrentMap implements java.util.Map {
+ public abstract interface ConcurrentMap<K, V> implements java.util.Map {
method public abstract V putIfAbsent(K, V);
method public abstract boolean remove(java.lang.Object, java.lang.Object);
method public abstract boolean replace(K, V, V);
method public abstract V replace(K, V);
}
- public abstract interface ConcurrentNavigableMap implements java.util.concurrent.ConcurrentMap java.util.NavigableMap {
+ public abstract interface ConcurrentNavigableMap<K, V> implements java.util.concurrent.ConcurrentMap java.util.NavigableMap {
method public abstract java.util.NavigableSet<K> descendingKeySet();
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> descendingMap();
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> headMap(K, boolean);
@@ -59616,7 +59616,7 @@
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
}
- public class ConcurrentSkipListMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap java.io.Serializable {
+ public class ConcurrentSkipListMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap java.io.Serializable {
ctor public ConcurrentSkipListMap();
ctor public ConcurrentSkipListMap(java.util.Comparator<? super K>);
ctor public ConcurrentSkipListMap(java.util.Map<? extends K, ? extends V>);
@@ -59660,7 +59660,7 @@
method public java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
}
- public class ConcurrentSkipListSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ public class ConcurrentSkipListSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
ctor public ConcurrentSkipListSet();
ctor public ConcurrentSkipListSet(java.util.Comparator<? super E>);
ctor public ConcurrentSkipListSet(java.util.Collection<? extends E>);
@@ -59688,7 +59688,7 @@
method public java.util.NavigableSet<E> tailSet(E);
}
- public class CopyOnWriteArrayList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class CopyOnWriteArrayList<E> implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public CopyOnWriteArrayList();
ctor public CopyOnWriteArrayList(java.util.Collection<? extends E>);
ctor public CopyOnWriteArrayList(E[]);
@@ -59720,10 +59720,10 @@
method public int size();
method public java.util.List<E> subList(int, int);
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
}
- public class CopyOnWriteArraySet extends java.util.AbstractSet implements java.io.Serializable {
+ public class CopyOnWriteArraySet<E> extends java.util.AbstractSet implements java.io.Serializable {
ctor public CopyOnWriteArraySet();
ctor public CopyOnWriteArraySet(java.util.Collection<? extends E>);
method public void forEach(java.util.function.Consumer<? super E>);
@@ -59741,7 +59741,7 @@
method public long getCount();
}
- public abstract class CountedCompleter extends java.util.concurrent.ForkJoinTask {
+ public abstract class CountedCompleter<T> extends java.util.concurrent.ForkJoinTask {
ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>, int);
ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>);
ctor protected CountedCompleter();
@@ -59778,7 +59778,7 @@
method public void reset();
}
- public class DelayQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue {
+ public class DelayQueue<E extends java.util.concurrent.Delayed> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue {
ctor public DelayQueue();
ctor public DelayQueue(java.util.Collection<? extends E>);
method public int drainTo(java.util.Collection<? super E>);
@@ -59799,7 +59799,7 @@
method public abstract long getDelay(java.util.concurrent.TimeUnit);
}
- public class Exchanger {
+ public class Exchanger<V> {
ctor public Exchanger();
method public V exchange(V) throws java.lang.InterruptedException;
method public V exchange(V, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
@@ -59816,7 +59816,7 @@
method public abstract void execute(java.lang.Runnable);
}
- public class ExecutorCompletionService implements java.util.concurrent.CompletionService {
+ public class ExecutorCompletionService<V> implements java.util.concurrent.CompletionService {
ctor public ExecutorCompletionService(java.util.concurrent.Executor);
ctor public ExecutorCompletionService(java.util.concurrent.Executor, java.util.concurrent.BlockingQueue<java.util.concurrent.Future<V>>);
method public java.util.concurrent.Future<V> poll();
@@ -59828,21 +59828,21 @@
public abstract interface ExecutorService implements java.util.concurrent.Executor {
method public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
- method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
- method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public abstract <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public abstract <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public abstract <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
method public abstract boolean isShutdown();
method public abstract boolean isTerminated();
method public abstract void shutdown();
method public abstract java.util.List<java.lang.Runnable> shutdownNow();
- method public abstract java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
- method public abstract java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public abstract <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ method public abstract <T> java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
method public abstract java.util.concurrent.Future<?> submit(java.lang.Runnable);
}
public class Executors {
- method public static java.util.concurrent.Callable<T> callable(java.lang.Runnable, T);
+ method public static <T> java.util.concurrent.Callable<T> callable(java.lang.Runnable, T);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.lang.Runnable);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedAction<?>);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedExceptionAction<?>);
@@ -59859,8 +59859,8 @@
method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory);
method public static java.util.concurrent.ExecutorService newWorkStealingPool(int);
method public static java.util.concurrent.ExecutorService newWorkStealingPool();
- method public static java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
- method public static java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
+ method public static <T> java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
+ method public static <T> java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
method public static java.util.concurrent.ThreadFactory privilegedThreadFactory();
method public static java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService);
method public static java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService);
@@ -59888,7 +59888,7 @@
method public long getStealCount();
method public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
method public boolean hasQueuedSubmissions();
- method public T invoke(java.util.concurrent.ForkJoinTask<T>);
+ method public <T> T invoke(java.util.concurrent.ForkJoinTask<T>);
method public boolean isQuiescent();
method public boolean isShutdown();
method public boolean isTerminated();
@@ -59897,7 +59897,7 @@
method protected java.util.concurrent.ForkJoinTask<?> pollSubmission();
method public void shutdown();
method public java.util.List<java.lang.Runnable> shutdownNow();
- method public java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
+ method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
field public static final java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory defaultForkJoinWorkerThreadFactory;
}
@@ -59910,11 +59910,11 @@
method public abstract boolean isReleasable();
}
- public abstract class ForkJoinTask implements java.util.concurrent.Future java.io.Serializable {
+ public abstract class ForkJoinTask<V> implements java.util.concurrent.Future java.io.Serializable {
ctor public ForkJoinTask();
method public static java.util.concurrent.ForkJoinTask<?> adapt(java.lang.Runnable);
- method public static java.util.concurrent.ForkJoinTask<T> adapt(java.lang.Runnable, T);
- method public static java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
+ method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.lang.Runnable, T);
+ method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
method public boolean cancel(boolean);
method public final boolean compareAndSetForkJoinTaskTag(short, short);
method public void complete(V);
@@ -59934,7 +59934,7 @@
method public final V invoke();
method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>, java.util.concurrent.ForkJoinTask<?>);
method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>...);
- method public static java.util.Collection<T> invokeAll(java.util.Collection<T>);
+ method public static <T extends java.util.concurrent.ForkJoinTask<?>> java.util.Collection<T> invokeAll(java.util.Collection<T>);
method public final boolean isCancelled();
method public final boolean isCompletedAbnormally();
method public final boolean isCompletedNormally();
@@ -59960,7 +59960,7 @@
method protected void onTermination(java.lang.Throwable);
}
- public abstract interface Future {
+ public abstract interface Future<V> {
method public abstract boolean cancel(boolean);
method public abstract V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
method public abstract V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
@@ -59968,7 +59968,7 @@
method public abstract boolean isDone();
}
- public class FutureTask implements java.util.concurrent.RunnableFuture {
+ public class FutureTask<V> implements java.util.concurrent.RunnableFuture {
ctor public FutureTask(java.util.concurrent.Callable<V>);
ctor public FutureTask(java.lang.Runnable, V);
method public boolean cancel(boolean);
@@ -59983,7 +59983,7 @@
method protected void setException(java.lang.Throwable);
}
- public class LinkedBlockingDeque extends java.util.AbstractQueue implements java.util.concurrent.BlockingDeque java.io.Serializable {
+ public class LinkedBlockingDeque<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingDeque java.io.Serializable {
ctor public LinkedBlockingDeque();
ctor public LinkedBlockingDeque(int);
ctor public LinkedBlockingDeque(java.util.Collection<? extends E>);
@@ -60027,7 +60027,7 @@
method public E takeLast() throws java.lang.InterruptedException;
}
- public class LinkedBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class LinkedBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public LinkedBlockingQueue();
ctor public LinkedBlockingQueue(int);
ctor public LinkedBlockingQueue(java.util.Collection<? extends E>);
@@ -60046,7 +60046,7 @@
method public E take() throws java.lang.InterruptedException;
}
- public class LinkedTransferQueue extends java.util.AbstractQueue implements java.io.Serializable java.util.concurrent.TransferQueue {
+ public class LinkedTransferQueue<E> extends java.util.AbstractQueue implements java.io.Serializable java.util.concurrent.TransferQueue {
ctor public LinkedTransferQueue();
ctor public LinkedTransferQueue(java.util.Collection<? extends E>);
method public int drainTo(java.util.Collection<? super E>);
@@ -60093,7 +60093,7 @@
method public int register();
}
- public class PriorityBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class PriorityBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public PriorityBlockingQueue();
ctor public PriorityBlockingQueue(int);
ctor public PriorityBlockingQueue(int, java.util.Comparator<? super E>);
@@ -60122,7 +60122,7 @@
method protected final void setRawResult(java.lang.Void);
}
- public abstract class RecursiveTask extends java.util.concurrent.ForkJoinTask {
+ public abstract class RecursiveTask<V> extends java.util.concurrent.ForkJoinTask {
ctor public RecursiveTask();
method protected abstract V compute();
method protected final boolean exec();
@@ -60141,22 +60141,22 @@
method public abstract void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
}
- public abstract interface RunnableFuture implements java.util.concurrent.Future java.lang.Runnable {
+ public abstract interface RunnableFuture<V> implements java.util.concurrent.Future java.lang.Runnable {
method public abstract void run();
}
- public abstract interface RunnableScheduledFuture implements java.util.concurrent.RunnableFuture java.util.concurrent.ScheduledFuture {
+ public abstract interface RunnableScheduledFuture<V> implements java.util.concurrent.RunnableFuture java.util.concurrent.ScheduledFuture {
method public abstract boolean isPeriodic();
}
public abstract interface ScheduledExecutorService implements java.util.concurrent.ExecutorService {
method public abstract java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
- method public abstract java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public abstract <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
method public abstract java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public abstract java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
}
- public abstract interface ScheduledFuture implements java.util.concurrent.Delayed java.util.concurrent.Future {
+ public abstract interface ScheduledFuture<V> implements java.util.concurrent.Delayed java.util.concurrent.Future {
}
public class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService {
@@ -60164,13 +60164,13 @@
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory);
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.RejectedExecutionHandler);
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
- method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
- method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
+ method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
+ method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
method public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
method public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
method public boolean getRemoveOnCancelPolicy();
method public java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
- method public java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean);
@@ -60200,7 +60200,7 @@
method public boolean tryAcquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
}
- public class SynchronousQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class SynchronousQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public SynchronousQueue();
ctor public SynchronousQueue(boolean);
method public int drainTo(java.util.Collection<? super E>);
@@ -60318,7 +60318,7 @@
ctor public TimeoutException(java.lang.String);
}
- public abstract interface TransferQueue implements java.util.concurrent.BlockingQueue {
+ public abstract interface TransferQueue<E> implements java.util.concurrent.BlockingQueue {
method public abstract int getWaitingConsumerCount();
method public abstract boolean hasWaitingConsumer();
method public abstract void transfer(E) throws java.lang.InterruptedException;
@@ -60388,7 +60388,7 @@
method public final boolean weakCompareAndSet(int, int, int);
}
- public abstract class AtomicIntegerFieldUpdater {
+ public abstract class AtomicIntegerFieldUpdater<T> {
ctor protected AtomicIntegerFieldUpdater();
method public final int accumulateAndGet(T, int, java.util.function.IntBinaryOperator);
method public int addAndGet(T, int);
@@ -60403,7 +60403,7 @@
method public final int getAndUpdate(T, java.util.function.IntUnaryOperator);
method public int incrementAndGet(T);
method public abstract void lazySet(T, int);
- method public static java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public static <U> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
method public abstract void set(T, int);
method public final int updateAndGet(T, java.util.function.IntUnaryOperator);
method public abstract boolean weakCompareAndSet(T, int, int);
@@ -60456,7 +60456,7 @@
method public final boolean weakCompareAndSet(int, long, long);
}
- public abstract class AtomicLongFieldUpdater {
+ public abstract class AtomicLongFieldUpdater<T> {
ctor protected AtomicLongFieldUpdater();
method public final long accumulateAndGet(T, long, java.util.function.LongBinaryOperator);
method public long addAndGet(T, long);
@@ -60471,13 +60471,13 @@
method public final long getAndUpdate(T, java.util.function.LongUnaryOperator);
method public long incrementAndGet(T);
method public abstract void lazySet(T, long);
- method public static java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public static <U> java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
method public abstract void set(T, long);
method public final long updateAndGet(T, java.util.function.LongUnaryOperator);
method public abstract boolean weakCompareAndSet(T, long, long);
}
- public class AtomicMarkableReference {
+ public class AtomicMarkableReference<V> {
ctor public AtomicMarkableReference(V, boolean);
method public boolean attemptMark(V, boolean);
method public boolean compareAndSet(V, V, boolean, boolean);
@@ -60488,7 +60488,7 @@
method public boolean weakCompareAndSet(V, V, boolean, boolean);
}
- public class AtomicReference implements java.io.Serializable {
+ public class AtomicReference<V> implements java.io.Serializable {
ctor public AtomicReference(V);
ctor public AtomicReference();
method public final V accumulateAndGet(V, java.util.function.BinaryOperator<V>);
@@ -60503,7 +60503,7 @@
method public final boolean weakCompareAndSet(V, V);
}
- public class AtomicReferenceArray implements java.io.Serializable {
+ public class AtomicReferenceArray<E> implements java.io.Serializable {
ctor public AtomicReferenceArray(int);
ctor public AtomicReferenceArray(E[]);
method public final E accumulateAndGet(int, E, java.util.function.BinaryOperator<E>);
@@ -60519,7 +60519,7 @@
method public final boolean weakCompareAndSet(int, E, E);
}
- public abstract class AtomicReferenceFieldUpdater {
+ public abstract class AtomicReferenceFieldUpdater<T, V> {
ctor protected AtomicReferenceFieldUpdater();
method public final V accumulateAndGet(T, V, java.util.function.BinaryOperator<V>);
method public abstract boolean compareAndSet(T, V, V);
@@ -60528,13 +60528,13 @@
method public V getAndSet(T, V);
method public final V getAndUpdate(T, java.util.function.UnaryOperator<V>);
method public abstract void lazySet(T, V);
- method public static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U, W> newUpdater(java.lang.Class<U>, java.lang.Class<W>, java.lang.String);
+ method public static <U, W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U, W> newUpdater(java.lang.Class<U>, java.lang.Class<W>, java.lang.String);
method public abstract void set(T, V);
method public final V updateAndGet(T, java.util.function.UnaryOperator<V>);
method public abstract boolean weakCompareAndSet(T, V, V);
}
- public class AtomicStampedReference {
+ public class AtomicStampedReference<V> {
ctor public AtomicStampedReference(V, int);
method public boolean attemptStamp(V, int);
method public boolean compareAndSet(V, V, int, int);
@@ -60837,33 +60837,33 @@
package java.util.function {
- public abstract interface BiConsumer {
+ public abstract interface BiConsumer<T, U> {
method public abstract void accept(T, U);
method public default java.util.function.BiConsumer<T, U> andThen(java.util.function.BiConsumer<? super T, ? super U>);
}
- public abstract interface BiFunction {
- method public default java.util.function.BiFunction<T, U, V> andThen(java.util.function.Function<? super R, ? extends V>);
+ public abstract interface BiFunction<T, U, R> {
+ method public default <V> java.util.function.BiFunction<T, U, V> andThen(java.util.function.Function<? super R, ? extends V>);
method public abstract R apply(T, U);
}
- public abstract interface BiPredicate {
+ public abstract interface BiPredicate<T, U> {
method public default java.util.function.BiPredicate<T, U> and(java.util.function.BiPredicate<? super T, ? super U>);
method public default java.util.function.BiPredicate<T, U> negate();
method public default java.util.function.BiPredicate<T, U> or(java.util.function.BiPredicate<? super T, ? super U>);
method public abstract boolean test(T, U);
}
- public abstract interface BinaryOperator implements java.util.function.BiFunction {
- method public static java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
- method public static java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
+ public abstract interface BinaryOperator<T> implements java.util.function.BiFunction {
+ method public static <T> java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
}
public abstract interface BooleanSupplier {
method public abstract boolean getAsBoolean();
}
- public abstract interface Consumer {
+ public abstract interface Consumer<T> {
method public abstract void accept(T);
method public default java.util.function.Consumer<T> andThen(java.util.function.Consumer<? super T>);
}
@@ -60877,7 +60877,7 @@
method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer);
}
- public abstract interface DoubleFunction {
+ public abstract interface DoubleFunction<R> {
method public abstract R apply(double);
}
@@ -60907,11 +60907,11 @@
method public static java.util.function.DoubleUnaryOperator identity();
}
- public abstract interface Function {
- method public default java.util.function.Function<T, V> andThen(java.util.function.Function<? super R, ? extends V>);
+ public abstract interface Function<T, R> {
+ method public default <V> java.util.function.Function<T, V> andThen(java.util.function.Function<? super R, ? extends V>);
method public abstract R apply(T);
- method public default java.util.function.Function<V, R> compose(java.util.function.Function<? super V, ? extends T>);
- method public static java.util.function.Function<T, T> identity();
+ method public default <V> java.util.function.Function<V, R> compose(java.util.function.Function<? super V, ? extends T>);
+ method public static <T> java.util.function.Function<T, T> identity();
}
public abstract interface IntBinaryOperator {
@@ -60923,7 +60923,7 @@
method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer);
}
- public abstract interface IntFunction {
+ public abstract interface IntFunction<R> {
method public abstract R apply(int);
}
@@ -60962,7 +60962,7 @@
method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer);
}
- public abstract interface LongFunction {
+ public abstract interface LongFunction<R> {
method public abstract R apply(long);
}
@@ -60992,56 +60992,56 @@
method public static java.util.function.LongUnaryOperator identity();
}
- public abstract interface ObjDoubleConsumer {
+ public abstract interface ObjDoubleConsumer<T> {
method public abstract void accept(T, double);
}
- public abstract interface ObjIntConsumer {
+ public abstract interface ObjIntConsumer<T> {
method public abstract void accept(T, int);
}
- public abstract interface ObjLongConsumer {
+ public abstract interface ObjLongConsumer<T> {
method public abstract void accept(T, long);
}
- public abstract interface Predicate {
+ public abstract interface Predicate<T> {
method public default java.util.function.Predicate<T> and(java.util.function.Predicate<? super T>);
- method public static java.util.function.Predicate<T> isEqual(java.lang.Object);
+ method public static <T> java.util.function.Predicate<T> isEqual(java.lang.Object);
method public default java.util.function.Predicate<T> negate();
method public default java.util.function.Predicate<T> or(java.util.function.Predicate<? super T>);
method public abstract boolean test(T);
}
- public abstract interface Supplier {
+ public abstract interface Supplier<T> {
method public abstract T get();
}
- public abstract interface ToDoubleBiFunction {
+ public abstract interface ToDoubleBiFunction<T, U> {
method public abstract double applyAsDouble(T, U);
}
- public abstract interface ToDoubleFunction {
+ public abstract interface ToDoubleFunction<T> {
method public abstract double applyAsDouble(T);
}
- public abstract interface ToIntBiFunction {
+ public abstract interface ToIntBiFunction<T, U> {
method public abstract int applyAsInt(T, U);
}
- public abstract interface ToIntFunction {
+ public abstract interface ToIntFunction<T> {
method public abstract int applyAsInt(T);
}
- public abstract interface ToLongBiFunction {
+ public abstract interface ToLongBiFunction<T, U> {
method public abstract long applyAsLong(T, U);
}
- public abstract interface ToLongFunction {
+ public abstract interface ToLongFunction<T> {
method public abstract long applyAsLong(T);
}
- public abstract interface UnaryOperator implements java.util.function.Function {
- method public static java.util.function.UnaryOperator<T> identity();
+ public abstract interface UnaryOperator<T> implements java.util.function.Function {
+ method public static <T> java.util.function.UnaryOperator<T> identity();
}
}
@@ -61629,7 +61629,7 @@
package java.util.stream {
- public abstract interface BaseStream implements java.lang.AutoCloseable {
+ public abstract interface BaseStream<T, S extends java.util.stream.BaseStream<T, S>> implements java.lang.AutoCloseable {
method public abstract void close();
method public abstract boolean isParallel();
method public abstract java.util.Iterator<T> iterator();
@@ -61640,13 +61640,13 @@
method public abstract S unordered();
}
- public abstract interface Collector {
+ public abstract interface Collector<T, A, R> {
method public abstract java.util.function.BiConsumer<A, T> accumulator();
method public abstract java.util.Set<java.util.stream.Collector.Characteristics> characteristics();
method public abstract java.util.function.BinaryOperator<A> combiner();
method public abstract java.util.function.Function<A, R> finisher();
- method public static java.util.stream.Collector<T, R, R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
- method public static java.util.stream.Collector<T, A, R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A, T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A, R>, java.util.stream.Collector.Characteristics...);
+ method public static <T, R> java.util.stream.Collector<T, R, R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
+ method public static <T, A, R> java.util.stream.Collector<T, A, R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A, T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A, R>, java.util.stream.Collector.Characteristics...);
method public abstract java.util.function.Supplier<A> supplier();
}
@@ -61659,43 +61659,43 @@
}
public final class Collectors {
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, A, RR> collectingAndThen(java.util.stream.Collector<T, A, R>, java.util.function.Function<R, RR>);
- method public static java.util.stream.Collector<T, ?, java.lang.Long> counting();
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, java.util.List<T>>> groupingBy(java.util.function.Function<? super T, ? extends K>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, D>> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, M> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, D>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, M> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, A, R, RR> java.util.stream.Collector<T, A, RR> collectingAndThen(java.util.stream.Collector<T, A, R>, java.util.function.Function<R, RR>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Long> counting();
+ method public static <T, K> java.util.stream.Collector<T, ?, java.util.Map<K, java.util.List<T>>> groupingBy(java.util.function.Function<? super T, ? extends K>);
+ method public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.Map<K, D>> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K, D, A, M extends java.util.Map<K, D>> java.util.stream.Collector<T, ?, M> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>);
+ method public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, D>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K, A, D, M extends java.util.concurrent.ConcurrentMap<K, D>> java.util.stream.Collector<T, ?, M> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining();
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence);
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence, java.lang.CharSequence, java.lang.CharSequence);
- method public static java.util.stream.Collector<T, ?, R> mapping(java.util.function.Function<? super T, ? extends U>, java.util.stream.Collector<? super U, A, R>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, T> reducing(T, java.util.function.BinaryOperator<T>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
- method public static java.util.stream.Collector<T, ?, U> reducing(U, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, C> toCollection(java.util.function.Supplier<C>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, M> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
- method public static java.util.stream.Collector<T, ?, java.util.List<T>> toList();
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, M> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
- method public static java.util.stream.Collector<T, ?, java.util.Set<T>> toSet();
+ method public static <T, U, A, R> java.util.stream.Collector<T, ?, R> mapping(java.util.function.Function<? super T, ? extends U>, java.util.stream.Collector<? super U, A, R>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
+ method public static <T, D, A> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T> java.util.stream.Collector<T, ?, T> reducing(T, java.util.function.BinaryOperator<T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
+ method public static <T, U> java.util.stream.Collector<T, ?, U> reducing(U, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, C extends java.util.Collection<T>> java.util.stream.Collector<T, ?, C> toCollection(java.util.function.Supplier<C>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T, K, U, M extends java.util.concurrent.ConcurrentMap<K, U>> java.util.stream.Collector<T, ?, M> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.List<T>> toList();
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T, K, U, M extends java.util.Map<K, U>> java.util.stream.Collector<T, ?, M> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Set<T>> toSet();
}
public abstract interface DoubleStream implements java.util.stream.BaseStream {
@@ -61704,7 +61704,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Double> boxed();
method public static java.util.stream.DoubleStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.DoubleStream concat(java.util.stream.DoubleStream, java.util.stream.DoubleStream);
method public abstract long count();
method public abstract java.util.stream.DoubleStream distinct();
@@ -61722,7 +61722,7 @@
method public abstract java.util.stream.DoubleStream map(java.util.function.DoubleUnaryOperator);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.DoubleToIntFunction);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.DoubleToLongFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
method public abstract java.util.OptionalDouble max();
method public abstract java.util.OptionalDouble min();
method public abstract boolean noneMatch(java.util.function.DoublePredicate);
@@ -61755,7 +61755,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Integer> boxed();
method public static java.util.stream.IntStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.IntStream concat(java.util.stream.IntStream, java.util.stream.IntStream);
method public abstract long count();
method public abstract java.util.stream.IntStream distinct();
@@ -61773,7 +61773,7 @@
method public abstract java.util.stream.IntStream map(java.util.function.IntUnaryOperator);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.IntToDoubleFunction);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.IntToLongFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
method public abstract java.util.OptionalInt max();
method public abstract java.util.OptionalInt min();
method public abstract boolean noneMatch(java.util.function.IntPredicate);
@@ -61807,7 +61807,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Long> boxed();
method public static java.util.stream.LongStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.LongStream concat(java.util.stream.LongStream, java.util.stream.LongStream);
method public abstract long count();
method public abstract java.util.stream.LongStream distinct();
@@ -61825,7 +61825,7 @@
method public abstract java.util.stream.LongStream map(java.util.function.LongUnaryOperator);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.LongToDoubleFunction);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.LongToIntFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
method public abstract java.util.OptionalLong max();
method public abstract java.util.OptionalLong min();
method public abstract boolean noneMatch(java.util.function.LongPredicate);
@@ -61852,49 +61852,49 @@
method public abstract java.util.stream.LongStream build();
}
- public abstract interface Stream implements java.util.stream.BaseStream {
+ public abstract interface Stream<T> implements java.util.stream.BaseStream {
method public abstract boolean allMatch(java.util.function.Predicate<? super T>);
method public abstract boolean anyMatch(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Stream.Builder<T> builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, ? super T>, java.util.function.BiConsumer<R, R>);
- method public abstract R collect(java.util.stream.Collector<? super T, A, R>);
- method public static java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
+ method public static <T> java.util.stream.Stream.Builder<T> builder();
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, ? super T>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R, A> R collect(java.util.stream.Collector<? super T, A, R>);
+ method public static <T> java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
method public abstract long count();
method public abstract java.util.stream.Stream<T> distinct();
- method public static java.util.stream.Stream<T> empty();
+ method public static <T> java.util.stream.Stream<T> empty();
method public abstract java.util.stream.Stream<T> filter(java.util.function.Predicate<? super T>);
method public abstract java.util.Optional<T> findAny();
method public abstract java.util.Optional<T> findFirst();
- method public abstract java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends R>>);
+ method public abstract <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends R>>);
method public abstract java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super T, ? extends java.util.stream.DoubleStream>);
method public abstract java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super T, ? extends java.util.stream.IntStream>);
method public abstract java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super T, ? extends java.util.stream.LongStream>);
method public abstract void forEach(java.util.function.Consumer<? super T>);
method public abstract void forEachOrdered(java.util.function.Consumer<? super T>);
- method public static java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
- method public static java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
+ method public static <T> java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
+ method public static <T> java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
method public abstract java.util.stream.Stream<T> limit(long);
- method public abstract java.util.stream.Stream<R> map(java.util.function.Function<? super T, ? extends R>);
+ method public abstract <R> java.util.stream.Stream<R> map(java.util.function.Function<? super T, ? extends R>);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super T>);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super T>);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super T>);
method public abstract java.util.Optional<T> max(java.util.Comparator<? super T>);
method public abstract java.util.Optional<T> min(java.util.Comparator<? super T>);
method public abstract boolean noneMatch(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Stream<T> of(T);
- method public static java.util.stream.Stream<T> of(T...);
+ method public static <T> java.util.stream.Stream<T> of(T);
+ method public static <T> java.util.stream.Stream<T> of(T...);
method public abstract java.util.stream.Stream<T> peek(java.util.function.Consumer<? super T>);
method public abstract T reduce(T, java.util.function.BinaryOperator<T>);
method public abstract java.util.Optional<T> reduce(java.util.function.BinaryOperator<T>);
- method public abstract U reduce(U, java.util.function.BiFunction<U, ? super T, U>, java.util.function.BinaryOperator<U>);
+ method public abstract <U> U reduce(U, java.util.function.BiFunction<U, ? super T, U>, java.util.function.BinaryOperator<U>);
method public abstract java.util.stream.Stream<T> skip(long);
method public abstract java.util.stream.Stream<T> sorted();
method public abstract java.util.stream.Stream<T> sorted(java.util.Comparator<? super T>);
method public abstract java.lang.Object[] toArray();
- method public abstract A[] toArray(java.util.function.IntFunction<A[]>);
+ method public abstract <A> A[] toArray(java.util.function.IntFunction<A[]>);
}
- public static abstract interface Stream.Builder implements java.util.function.Consumer {
+ public static abstract interface Stream.Builder<T> implements java.util.function.Consumer {
method public abstract void accept(T);
method public default java.util.stream.Stream.Builder<T> add(T);
method public abstract java.util.stream.Stream<T> build();
@@ -61907,8 +61907,8 @@
method public static java.util.stream.IntStream intStream(java.util.function.Supplier<? extends java.util.Spliterator.OfInt>, int, boolean);
method public static java.util.stream.LongStream longStream(java.util.Spliterator.OfLong, boolean);
method public static java.util.stream.LongStream longStream(java.util.function.Supplier<? extends java.util.Spliterator.OfLong>, int, boolean);
- method public static java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
- method public static java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
+ method public static <T> java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
+ method public static <T> java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
}
}
@@ -64079,16 +64079,16 @@
public final class Subject implements java.io.Serializable {
ctor public Subject();
ctor public Subject(boolean, java.util.Set<? extends java.security.Principal>, java.util.Set<?>, java.util.Set<?>);
- method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
- method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
- method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
- method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
+ method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
method public java.util.Set<java.security.Principal> getPrincipals();
- method public java.util.Set<T> getPrincipals(java.lang.Class<T>);
+ method public <T extends java.security.Principal> java.util.Set<T> getPrincipals(java.lang.Class<T>);
method public java.util.Set<java.lang.Object> getPrivateCredentials();
- method public java.util.Set<T> getPrivateCredentials(java.lang.Class<T>);
+ method public <T> java.util.Set<T> getPrivateCredentials(java.lang.Class<T>);
method public java.util.Set<java.lang.Object> getPublicCredentials();
- method public java.util.Set<T> getPublicCredentials(java.lang.Class<T>);
+ method public <T> java.util.Set<T> getPublicCredentials(java.lang.Class<T>);
method public static javax.security.auth.Subject getSubject(java.security.AccessControlContext);
method public boolean isReadOnly();
method public void setReadOnly();
diff --git a/api/system-current.txt b/api/system-current.txt
index c33fe6e..b3d0169 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -3031,11 +3031,11 @@
field public static final java.lang.String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
}
- public abstract interface AccountManagerCallback {
+ public abstract interface AccountManagerCallback<V> {
method public abstract void run(android.accounts.AccountManagerFuture<V>);
}
- public abstract interface AccountManagerFuture {
+ public abstract interface AccountManagerFuture<V> {
method public abstract boolean cancel(boolean);
method public abstract V getResult() throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
method public abstract V getResult(long, java.util.concurrent.TimeUnit) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
@@ -3181,7 +3181,7 @@
method public java.lang.Object evaluate(float, java.lang.Object, java.lang.Object);
}
- public abstract class BidirectionalTypeConverter extends android.animation.TypeConverter {
+ public abstract class BidirectionalTypeConverter<T, V> extends android.animation.TypeConverter {
ctor public BidirectionalTypeConverter(java.lang.Class<T>, java.lang.Class<V>);
method public abstract T convertBack(V);
method public android.animation.BidirectionalTypeConverter<V, T> invert();
@@ -3273,26 +3273,26 @@
method public java.lang.String getPropertyName();
method public java.lang.Object getTarget();
method public static android.animation.ObjectAnimator ofArgb(java.lang.Object, java.lang.String, int...);
- method public static android.animation.ObjectAnimator ofArgb(T, android.util.Property<T, java.lang.Integer>, int...);
+ method public static <T> android.animation.ObjectAnimator ofArgb(T, android.util.Property<T, java.lang.Integer>, int...);
method public static android.animation.ObjectAnimator ofFloat(java.lang.Object, java.lang.String, float...);
method public static android.animation.ObjectAnimator ofFloat(java.lang.Object, java.lang.String, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, float...);
- method public static android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, android.util.Property<T, java.lang.Float>, android.graphics.Path);
+ method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, float...);
+ method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, android.util.Property<T, java.lang.Float>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofInt(java.lang.Object, java.lang.String, int...);
method public static android.animation.ObjectAnimator ofInt(java.lang.Object, java.lang.String, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, int...);
- method public static android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, android.util.Property<T, java.lang.Integer>, android.graphics.Path);
+ method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, int...);
+ method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, android.util.Property<T, java.lang.Integer>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, float[][]);
method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, T...);
+ method public static <T> android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, T...);
method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, int[][]);
method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, T...);
+ method public static <T> android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, T...);
method public static android.animation.ObjectAnimator ofObject(java.lang.Object, java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
method public static android.animation.ObjectAnimator ofObject(java.lang.Object, java.lang.String, android.animation.TypeConverter<android.graphics.PointF, ?>, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, P>, android.animation.TypeConverter<V, P>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
+ method public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V, P> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, P>, android.animation.TypeConverter<V, P>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofPropertyValuesHolder(java.lang.Object, android.animation.PropertyValuesHolder...);
method public void setAutoCancel(boolean);
method public void setProperty(android.util.Property);
@@ -3316,17 +3316,17 @@
method public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, float[][]);
method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<V, float[]>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+ method public static <V> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<V, float[]>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, int[][]);
method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<V, int[]>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+ method public static <V> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<V, int[]>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
method public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeConverter<android.graphics.PointF, ?>, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<T, V>, android.animation.TypeEvaluator<T>, T...);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
+ method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<T, V>, android.animation.TypeEvaluator<T>, T...);
+ method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
method public void setConverter(android.animation.TypeConverter);
method public void setEvaluator(android.animation.TypeEvaluator);
method public void setFloatValues(float...);
@@ -3363,12 +3363,12 @@
method public abstract float getInterpolation(float);
}
- public abstract class TypeConverter {
+ public abstract class TypeConverter<T, V> {
ctor public TypeConverter(java.lang.Class<T>, java.lang.Class<V>);
method public abstract V convert(T);
}
- public abstract interface TypeEvaluator {
+ public abstract interface TypeEvaluator<T> {
method public abstract T evaluate(float, T, T);
}
@@ -4726,7 +4726,7 @@
method public android.os.Parcelable saveAllState();
}
- public abstract class FragmentHostCallback extends android.app.FragmentContainer {
+ public abstract class FragmentHostCallback<E> extends android.app.FragmentContainer {
ctor public FragmentHostCallback(android.content.Context, android.os.Handler, int);
method public void onAttachFragment(android.app.Fragment);
method public void onDump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
@@ -4993,12 +4993,12 @@
method public abstract void destroyLoader(int);
method public abstract void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
method public static void enableDebugLogging(boolean);
- method public abstract android.content.Loader<D> getLoader(int);
- method public abstract android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
- method public abstract android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ method public abstract <D> android.content.Loader<D> getLoader(int);
+ method public abstract <D> android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ method public abstract <D> android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
}
- public static abstract interface LoaderManager.LoaderCallbacks {
+ public static abstract interface LoaderManager.LoaderCallbacks<D> {
method public abstract android.content.Loader<D> onCreateLoader(int, android.os.Bundle);
method public abstract void onLoadFinished(android.content.Loader<D>, D);
method public abstract void onLoaderReset(android.content.Loader<D>);
@@ -7952,7 +7952,7 @@
ctor public AsyncQueryHandler.WorkerHandler(android.os.Looper);
}
- public abstract class AsyncTaskLoader extends android.content.Loader {
+ public abstract class AsyncTaskLoader<D> extends android.content.Loader {
ctor public AsyncTaskLoader(android.content.Context);
method public void cancelLoadInBackground();
method public boolean isLoadInBackgroundCanceled();
@@ -8134,7 +8134,7 @@
method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String, android.os.CancellationSignal) throws java.io.FileNotFoundException;
method protected final android.os.ParcelFileDescriptor openFileHelper(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
- method public android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
+ method public <T> android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle) throws java.io.FileNotFoundException;
method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException;
method public abstract android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
@@ -8147,7 +8147,7 @@
method public abstract int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
}
- public static abstract interface ContentProvider.PipeDataWriter {
+ public static abstract interface ContentProvider.PipeDataWriter<T> {
method public abstract void writeDataToPipe(android.os.ParcelFileDescriptor, android.net.Uri, java.lang.String, android.os.Bundle, T);
}
@@ -8420,7 +8420,7 @@
method public final java.lang.String getString(int);
method public final java.lang.String getString(int, java.lang.Object...);
method public abstract java.lang.Object getSystemService(java.lang.String);
- method public final T getSystemService(java.lang.Class<T>);
+ method public final <T> T getSystemService(java.lang.Class<T>);
method public abstract java.lang.String getSystemServiceName(java.lang.Class<?>);
method public final java.lang.CharSequence getText(int);
method public abstract android.content.res.Resources.Theme getTheme();
@@ -8789,8 +8789,8 @@
method public long getLongExtra(java.lang.String, long);
method public java.lang.String getPackage();
method public android.os.Parcelable[] getParcelableArrayExtra(java.lang.String);
- method public java.util.ArrayList<T> getParcelableArrayListExtra(java.lang.String);
- method public T getParcelableExtra(java.lang.String);
+ method public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayListExtra(java.lang.String);
+ method public <T extends android.os.Parcelable> T getParcelableExtra(java.lang.String);
method public java.lang.String getScheme();
method public android.content.Intent getSelector();
method public java.io.Serializable getSerializableExtra(java.lang.String);
@@ -9277,7 +9277,7 @@
ctor public IntentSender.SendIntentException(java.lang.Exception);
}
- public class Loader {
+ public class Loader<D> {
ctor public Loader(android.content.Context);
method public void abandon();
method public boolean cancelLoad();
@@ -9314,11 +9314,11 @@
ctor public Loader.ForceLoadContentObserver();
}
- public static abstract interface Loader.OnLoadCanceledListener {
+ public static abstract interface Loader.OnLoadCanceledListener<D> {
method public abstract void onLoadCanceled(android.content.Loader<D>);
}
- public static abstract interface Loader.OnLoadCompleteListener {
+ public static abstract interface Loader.OnLoadCompleteListener<D> {
method public abstract void onLoadComplete(android.content.Loader<D>, D);
}
@@ -11287,7 +11287,7 @@
method public boolean isNull(int);
}
- public abstract class Observable {
+ public abstract class Observable<T> {
ctor public Observable();
method public void registerObserver(T);
method public void unregisterAll();
@@ -13177,7 +13177,7 @@
public class AnimatedStateListDrawable extends android.graphics.drawable.StateListDrawable {
ctor public AnimatedStateListDrawable();
method public void addState(int[], android.graphics.drawable.Drawable, int);
- method public void addTransition(int, int, T, boolean);
+ method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, T, boolean);
}
public class AnimatedVectorDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
@@ -14309,7 +14309,7 @@
}
public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata {
- method public T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
+ method public <T> T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableCaptureRequestKeys();
method public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getAvailableCaptureResultKeys();
field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
@@ -14394,7 +14394,7 @@
field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> TONEMAP_MAX_CURVE_POINTS;
}
- public static final class CameraCharacteristics.Key {
+ public static final class CameraCharacteristics.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
@@ -14459,7 +14459,7 @@
method public void onTorchModeUnavailable(java.lang.String);
}
- public abstract class CameraMetadata {
+ public abstract class CameraMetadata<TKey> {
method public java.util.List<TKey> getKeys();
field public static final int COLOR_CORRECTION_ABERRATION_MODE_FAST = 1; // 0x1
field public static final int COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY = 2; // 0x2
@@ -14667,7 +14667,7 @@
public final class CaptureRequest extends android.hardware.camera2.CameraMetadata implements android.os.Parcelable {
method public int describeContents();
- method public T get(android.hardware.camera2.CaptureRequest.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
method public java.lang.Object getTag();
method public boolean isReprocess();
method public void writeToParcel(android.os.Parcel, int);
@@ -14730,20 +14730,20 @@
public static final class CaptureRequest.Builder {
method public void addTarget(android.view.Surface);
method public android.hardware.camera2.CaptureRequest build();
- method public T get(android.hardware.camera2.CaptureRequest.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
method public void removeTarget(android.view.Surface);
- method public void set(android.hardware.camera2.CaptureRequest.Key<T>, T);
+ method public <T> void set(android.hardware.camera2.CaptureRequest.Key<T>, T);
method public void setTag(java.lang.Object);
}
- public static final class CaptureRequest.Key {
+ public static final class CaptureRequest.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
}
public class CaptureResult extends android.hardware.camera2.CameraMetadata {
- method public T get(android.hardware.camera2.CaptureResult.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureResult.Key<T>);
method public long getFrameNumber();
method public android.hardware.camera2.CaptureRequest getRequest();
method public int getSequenceId();
@@ -14824,7 +14824,7 @@
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
}
- public static final class CaptureResult.Key {
+ public static final class CaptureResult.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
@@ -14956,14 +14956,14 @@
method public android.util.Size[] getInputSizes(int);
method public final int[] getOutputFormats();
method public long getOutputMinFrameDuration(int, android.util.Size);
- method public long getOutputMinFrameDuration(java.lang.Class<T>, android.util.Size);
- method public android.util.Size[] getOutputSizes(java.lang.Class<T>);
+ method public <T> long getOutputMinFrameDuration(java.lang.Class<T>, android.util.Size);
+ method public <T> android.util.Size[] getOutputSizes(java.lang.Class<T>);
method public android.util.Size[] getOutputSizes(int);
method public long getOutputStallDuration(int, android.util.Size);
- method public long getOutputStallDuration(java.lang.Class<T>, android.util.Size);
+ method public <T> long getOutputStallDuration(java.lang.Class<T>, android.util.Size);
method public final int[] getValidOutputFormatsForInput(int);
method public boolean isOutputSupportedFor(int);
- method public static boolean isOutputSupportedFor(java.lang.Class<T>);
+ method public static <T> boolean isOutputSupportedFor(java.lang.Class<T>);
method public boolean isOutputSupportedFor(android.view.Surface);
}
@@ -17411,7 +17411,7 @@
package android.icu.text {
- public final class AlphabeticIndex implements java.lang.Iterable {
+ public final class AlphabeticIndex<V> implements java.lang.Iterable {
ctor public AlphabeticIndex(android.icu.util.ULocale);
ctor public AlphabeticIndex(java.util.Locale);
ctor public AlphabeticIndex(android.icu.text.RuleBasedCollator);
@@ -17437,7 +17437,7 @@
method public android.icu.text.AlphabeticIndex<V> setUnderflowLabel(java.lang.String);
}
- public static class AlphabeticIndex.Bucket implements java.lang.Iterable {
+ public static class AlphabeticIndex.Bucket<V> implements java.lang.Iterable {
method public java.lang.String getLabel();
method public android.icu.text.AlphabeticIndex.Bucket.LabelType getLabelType();
method public java.util.Iterator<android.icu.text.AlphabeticIndex.Record<V>> iterator();
@@ -17453,14 +17453,14 @@
enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType UNDERFLOW;
}
- public static final class AlphabeticIndex.ImmutableIndex implements java.lang.Iterable {
+ public static final class AlphabeticIndex.ImmutableIndex<V> implements java.lang.Iterable {
method public android.icu.text.AlphabeticIndex.Bucket<V> getBucket(int);
method public int getBucketCount();
method public int getBucketIndex(java.lang.CharSequence);
method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
}
- public static class AlphabeticIndex.Record {
+ public static class AlphabeticIndex.Record<V> {
method public V getData();
method public java.lang.CharSequence getName();
}
@@ -18973,8 +18973,8 @@
method public final android.icu.text.UnicodeSet addAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet addAll(android.icu.text.UnicodeSet);
method public android.icu.text.UnicodeSet addAll(java.lang.Iterable<?>);
- method public android.icu.text.UnicodeSet addAll(T...);
- method public T addAllTo(T);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet addAll(T...);
+ method public <T extends java.util.Collection<java.lang.String>> T addAllTo(T);
method public void addMatchSetTo(android.icu.text.UnicodeSet);
method public android.icu.text.UnicodeSet applyIntPropertyValue(int, int);
method public final android.icu.text.UnicodeSet applyPattern(java.lang.String);
@@ -19002,15 +19002,15 @@
method public final boolean contains(java.lang.CharSequence);
method public boolean containsAll(android.icu.text.UnicodeSet);
method public boolean containsAll(java.lang.String);
- method public boolean containsAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> boolean containsAll(java.lang.Iterable<T>);
method public boolean containsNone(int, int);
method public boolean containsNone(android.icu.text.UnicodeSet);
method public boolean containsNone(java.lang.CharSequence);
- method public boolean containsNone(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> boolean containsNone(java.lang.Iterable<T>);
method public final boolean containsSome(int, int);
method public final boolean containsSome(android.icu.text.UnicodeSet);
method public final boolean containsSome(java.lang.CharSequence);
- method public final boolean containsSome(java.lang.Iterable<T>);
+ method public final <T extends java.lang.CharSequence> boolean containsSome(java.lang.Iterable<T>);
method public android.icu.text.UnicodeSet freeze();
method public static android.icu.text.UnicodeSet from(java.lang.CharSequence);
method public static android.icu.text.UnicodeSet fromAll(java.lang.CharSequence);
@@ -19028,14 +19028,14 @@
method public final android.icu.text.UnicodeSet remove(java.lang.CharSequence);
method public final android.icu.text.UnicodeSet removeAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet removeAll(android.icu.text.UnicodeSet);
- method public android.icu.text.UnicodeSet removeAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet removeAll(java.lang.Iterable<T>);
method public final android.icu.text.UnicodeSet removeAllStrings();
method public android.icu.text.UnicodeSet retain(int, int);
method public final android.icu.text.UnicodeSet retain(int);
method public final android.icu.text.UnicodeSet retain(java.lang.CharSequence);
method public final android.icu.text.UnicodeSet retainAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet retainAll(android.icu.text.UnicodeSet);
- method public android.icu.text.UnicodeSet retainAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet retainAll(java.lang.Iterable<T>);
method public android.icu.text.UnicodeSet set(int, int);
method public android.icu.text.UnicodeSet set(android.icu.text.UnicodeSet);
method public int size();
@@ -19445,7 +19445,7 @@
method public long getToDate();
}
- public abstract interface Freezable implements java.lang.Cloneable {
+ public abstract interface Freezable<T> implements java.lang.Cloneable {
method public abstract T cloneAsThawed();
method public abstract T freeze();
method public abstract boolean isFrozen();
@@ -19727,7 +19727,7 @@
field public static final android.icu.util.TimeUnit YEAR;
}
- public class Output {
+ public class Output<T> {
ctor public Output();
ctor public Output(T);
field public T value;
@@ -30658,7 +30658,7 @@
package android.os {
- public abstract class AsyncTask {
+ public abstract class AsyncTask<Params, Progress, Result> {
ctor public AsyncTask();
method public final boolean cancel(boolean);
method protected abstract Result doInBackground(Params...);
@@ -30886,16 +30886,16 @@
method public float getFloat(java.lang.String, float);
method public float[] getFloatArray(java.lang.String);
method public java.util.ArrayList<java.lang.Integer> getIntegerArrayList(java.lang.String);
- method public T getParcelable(java.lang.String);
+ method public <T extends android.os.Parcelable> T getParcelable(java.lang.String);
method public android.os.Parcelable[] getParcelableArray(java.lang.String);
- method public java.util.ArrayList<T> getParcelableArrayList(java.lang.String);
+ method public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayList(java.lang.String);
method public java.io.Serializable getSerializable(java.lang.String);
method public short getShort(java.lang.String);
method public short getShort(java.lang.String, short);
method public short[] getShortArray(java.lang.String);
method public android.util.Size getSize(java.lang.String);
method public android.util.SizeF getSizeF(java.lang.String);
- method public android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
+ method public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
method public java.util.ArrayList<java.lang.String> getStringArrayList(java.lang.String);
method public boolean hasFileDescriptors();
method public void putAll(android.os.Bundle);
@@ -31400,8 +31400,8 @@
method public final long[] createLongArray();
method public final java.lang.String[] createStringArray();
method public final java.util.ArrayList<java.lang.String> createStringArrayList();
- method public final T[] createTypedArray(android.os.Parcelable.Creator<T>);
- method public final java.util.ArrayList<T> createTypedArrayList(android.os.Parcelable.Creator<T>);
+ method public final <T> T[] createTypedArray(android.os.Parcelable.Creator<T>);
+ method public final <T> java.util.ArrayList<T> createTypedArrayList(android.os.Parcelable.Creator<T>);
method public final int dataAvail();
method public final int dataCapacity();
method public final int dataPosition();
@@ -31434,7 +31434,7 @@
method public final long readLong();
method public final void readLongArray(long[]);
method public final void readMap(java.util.Map, java.lang.ClassLoader);
- method public final T readParcelable(java.lang.ClassLoader);
+ method public final <T extends android.os.Parcelable> T readParcelable(java.lang.ClassLoader);
method public final android.os.Parcelable[] readParcelableArray(java.lang.ClassLoader);
method public final android.os.PersistableBundle readPersistableBundle();
method public final android.os.PersistableBundle readPersistableBundle(java.lang.ClassLoader);
@@ -31447,9 +31447,9 @@
method public final void readStringArray(java.lang.String[]);
method public final void readStringList(java.util.List<java.lang.String>);
method public final android.os.IBinder readStrongBinder();
- method public final void readTypedArray(T[], android.os.Parcelable.Creator<T>);
- method public final void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
- method public final T readTypedObject(android.os.Parcelable.Creator<T>);
+ method public final <T> void readTypedArray(T[], android.os.Parcelable.Creator<T>);
+ method public final <T> void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
+ method public final <T> T readTypedObject(android.os.Parcelable.Creator<T>);
method public final java.lang.Object readValue(java.lang.ClassLoader);
method public final void recycle();
method public final void setDataCapacity(int);
@@ -31480,7 +31480,7 @@
method public final void writeMap(java.util.Map);
method public final void writeNoException();
method public final void writeParcelable(android.os.Parcelable, int);
- method public final void writeParcelableArray(T[], int);
+ method public final <T extends android.os.Parcelable> void writeParcelableArray(T[], int);
method public final void writePersistableBundle(android.os.PersistableBundle);
method public final void writeSerializable(java.io.Serializable);
method public final void writeSize(android.util.Size);
@@ -31492,9 +31492,9 @@
method public final void writeStringList(java.util.List<java.lang.String>);
method public final void writeStrongBinder(android.os.IBinder);
method public final void writeStrongInterface(android.os.IInterface);
- method public final void writeTypedArray(T[], int);
- method public final void writeTypedList(java.util.List<T>);
- method public final void writeTypedObject(T, int);
+ method public final <T extends android.os.Parcelable> void writeTypedArray(T[], int);
+ method public final <T extends android.os.Parcelable> void writeTypedList(java.util.List<T>);
+ method public final <T extends android.os.Parcelable> void writeTypedObject(T, int);
method public final void writeValue(java.lang.Object);
field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
}
@@ -31572,11 +31572,11 @@
field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1
}
- public static abstract interface Parcelable.ClassLoaderCreator implements android.os.Parcelable.Creator {
+ public static abstract interface Parcelable.ClassLoaderCreator<T> implements android.os.Parcelable.Creator {
method public abstract T createFromParcel(android.os.Parcel, java.lang.ClassLoader);
}
- public static abstract interface Parcelable.Creator {
+ public static abstract interface Parcelable.Creator<T> {
method public abstract T createFromParcel(android.os.Parcel);
method public abstract T[] newArray(int);
}
@@ -31718,7 +31718,7 @@
method public abstract void onResult(android.os.Bundle);
}
- public class RemoteCallbackList {
+ public class RemoteCallbackList<E extends android.os.IInterface> {
ctor public RemoteCallbackList();
method public int beginBroadcast();
method public void finishBroadcast();
@@ -37278,7 +37278,7 @@
field public static final java.lang.String SERVICE_INTERFACE = "android.service.carrier.CarrierMessagingService";
}
- public static abstract interface CarrierMessagingService.ResultCallback {
+ public static abstract interface CarrierMessagingService.ResultCallback<T> {
method public abstract void onReceiveResult(T) throws android.os.RemoteException;
}
@@ -37429,7 +37429,7 @@
field public static final java.lang.String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
}
- public class MediaBrowserService.Result {
+ public class MediaBrowserService.Result<T> {
method public void detach();
method public void sendResult(T);
}
@@ -40749,14 +40749,14 @@
package android.test {
- public abstract deprecated class ActivityInstrumentationTestCase extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityInstrumentationTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>);
ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>, boolean);
method public T getActivity();
method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
}
- public abstract deprecated class ActivityInstrumentationTestCase2 extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityInstrumentationTestCase2<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public deprecated ActivityInstrumentationTestCase2(java.lang.String, java.lang.Class<T>);
ctor public ActivityInstrumentationTestCase2(java.lang.Class<T>);
method public T getActivity();
@@ -40771,7 +40771,7 @@
method protected void setActivity(android.app.Activity);
}
- public abstract deprecated class ActivityUnitTestCase extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityUnitTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public ActivityUnitTestCase(java.lang.Class<T>);
method public T getActivity();
method public int getFinishedActivityRequest();
@@ -40817,7 +40817,7 @@
method public void testStarted(java.lang.String);
}
- public abstract deprecated class ApplicationTestCase extends android.test.AndroidTestCase {
+ public abstract deprecated class ApplicationTestCase<T extends android.app.Application> extends android.test.AndroidTestCase {
ctor public ApplicationTestCase(java.lang.Class<T>);
method protected final void createApplication();
method public T getApplication();
@@ -40843,8 +40843,8 @@
method public android.app.Instrumentation getInstrumentation();
method public deprecated void injectInsrumentation(android.app.Instrumentation);
method public void injectInstrumentation(android.app.Instrumentation);
- method public final T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
- method public final T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
+ method public final <T extends android.app.Activity> T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
+ method public final <T extends android.app.Activity> T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
method public void runTestOnUiThread(java.lang.Runnable) throws java.lang.Throwable;
method public void sendKeys(java.lang.String);
method public void sendKeys(int...);
@@ -40884,7 +40884,7 @@
public class LoaderTestCase extends android.test.AndroidTestCase {
ctor public LoaderTestCase();
- method public T getLoaderResultSynchronously(android.content.Loader<T>);
+ method public <T> T getLoaderResultSynchronously(android.content.Loader<T>);
}
public final deprecated class MoreAsserts {
@@ -40939,20 +40939,20 @@
method public abstract void startTiming(boolean);
}
- public abstract deprecated class ProviderTestCase extends android.test.InstrumentationTestCase {
+ public abstract deprecated class ProviderTestCase<T extends android.content.ContentProvider> extends android.test.InstrumentationTestCase {
ctor public ProviderTestCase(java.lang.Class<T>, java.lang.String);
method public android.test.mock.MockContentResolver getMockContentResolver();
method public android.test.IsolatedContext getMockContext();
method public T getProvider();
- method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
- public abstract class ProviderTestCase2 extends android.test.AndroidTestCase {
+ public abstract class ProviderTestCase2<T extends android.content.ContentProvider> extends android.test.AndroidTestCase {
ctor public ProviderTestCase2(java.lang.Class<T>, java.lang.String);
method public android.test.mock.MockContentResolver getMockContentResolver();
method public android.test.IsolatedContext getMockContext();
method public T getProvider();
- method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
public deprecated class RenamingDelegatingContext extends android.content.ContextWrapper {
@@ -40960,11 +40960,11 @@
ctor public RenamingDelegatingContext(android.content.Context, android.content.Context, java.lang.String);
method public java.lang.String getDatabasePrefix();
method public void makeExistingFilesAndDbsAccessible();
- method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
- public abstract deprecated class ServiceTestCase extends android.test.AndroidTestCase {
+ public abstract deprecated class ServiceTestCase<T extends android.app.Service> extends android.test.AndroidTestCase {
ctor public ServiceTestCase(java.lang.Class<T>);
method protected android.os.IBinder bindService(android.content.Intent);
method public android.app.Application getApplication();
@@ -40977,7 +40977,7 @@
method public void testServiceTestCaseSetUpProperly() throws java.lang.Exception;
}
- public abstract deprecated class SingleLaunchActivityTestCase extends android.test.InstrumentationTestCase {
+ public abstract deprecated class SingleLaunchActivityTestCase<T extends android.app.Activity> extends android.test.InstrumentationTestCase {
ctor public SingleLaunchActivityTestCase(java.lang.String, java.lang.Class<T>);
method public T getActivity();
method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
@@ -41344,7 +41344,7 @@
ctor public TestMethod(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>);
ctor public TestMethod(junit.framework.TestCase);
method public junit.framework.TestCase createTest() throws java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
- method public T getAnnotation(java.lang.Class<T>);
+ method public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public java.lang.Class<? extends junit.framework.TestCase> getEnclosingClass();
method public java.lang.String getEnclosingClassname();
method public java.lang.String getName();
@@ -41787,7 +41787,7 @@
method public int getSpanEnd(java.lang.Object);
method public int getSpanFlags(java.lang.Object);
method public int getSpanStart(java.lang.Object);
- method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public <T> T[] getSpans(int, int, java.lang.Class<T>);
method public deprecated int getTextRunCursor(int, int, int, int, int, android.graphics.Paint);
method public int getTextWatcherDepth();
method public android.text.SpannableStringBuilder insert(int, java.lang.CharSequence, int, int);
@@ -41809,7 +41809,7 @@
method public int getSpanEnd(java.lang.Object);
method public int getSpanFlags(java.lang.Object);
method public int getSpanStart(java.lang.Object);
- method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public <T> T[] getSpans(int, int, java.lang.Class<T>);
method public final int length();
method public int nextSpanTransition(int, int, java.lang.Class);
method public final java.lang.String toString();
@@ -41819,7 +41819,7 @@
method public abstract int getSpanEnd(java.lang.Object);
method public abstract int getSpanFlags(java.lang.Object);
method public abstract int getSpanStart(java.lang.Object);
- method public abstract T[] getSpans(int, int, java.lang.Class<T>);
+ method public abstract <T> T[] getSpans(int, int, java.lang.Class<T>);
method public abstract int nextSpanTransition(int, int, java.lang.Class);
field public static final int SPAN_COMPOSING = 256; // 0x100
field public static final int SPAN_EXCLUSIVE_EXCLUSIVE = 33; // 0x21
@@ -42796,7 +42796,7 @@
field public static final int WEEKDAY_WEDNESDAY = 4; // 0x4
}
- public static class TtsSpan.Builder {
+ public static class TtsSpan.Builder<C extends android.text.style.TtsSpan.Builder<?>> {
ctor public TtsSpan.Builder(java.lang.String);
method public android.text.style.TtsSpan build();
method public C setIntArgument(java.lang.String, int);
@@ -42892,7 +42892,7 @@
method public android.text.style.TtsSpan.OrdinalBuilder setNumber(java.lang.String);
}
- public static class TtsSpan.SemioticClassBuilder extends android.text.style.TtsSpan.Builder {
+ public static class TtsSpan.SemioticClassBuilder<C extends android.text.style.TtsSpan.SemioticClassBuilder<?>> extends android.text.style.TtsSpan.Builder {
ctor public TtsSpan.SemioticClassBuilder(java.lang.String);
method public C setAnimacy(java.lang.String);
method public C setCase(java.lang.String);
@@ -43299,7 +43299,7 @@
ctor public AndroidRuntimeException(java.lang.Exception);
}
- public final class ArrayMap implements java.util.Map {
+ public final class ArrayMap<K, V> implements java.util.Map {
ctor public ArrayMap();
ctor public ArrayMap(int);
ctor public ArrayMap(android.util.ArrayMap<K, V>);
@@ -43327,7 +43327,7 @@
method public java.util.Collection<V> values();
}
- public final class ArraySet implements java.util.Collection java.util.Set {
+ public final class ArraySet<E> implements java.util.Collection java.util.Set {
ctor public ArraySet();
ctor public ArraySet(int);
ctor public ArraySet(android.util.ArraySet<E>);
@@ -43348,7 +43348,7 @@
method public boolean retainAll(java.util.Collection<?>);
method public int size();
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
method public E valueAt(int);
}
@@ -43493,13 +43493,13 @@
public deprecated class FloatMath {
}
- public abstract class FloatProperty extends android.util.Property {
+ public abstract class FloatProperty<T> extends android.util.Property {
ctor public FloatProperty(java.lang.String);
method public final void set(T, java.lang.Float);
method public abstract void setValue(T, float);
}
- public abstract class IntProperty extends android.util.Property {
+ public abstract class IntProperty<T> extends android.util.Property {
ctor public IntProperty(java.lang.String);
method public final void set(T, java.lang.Integer);
method public abstract void setValue(T, int);
@@ -43599,7 +43599,7 @@
method public void println(java.lang.String);
}
- public class LongSparseArray implements java.lang.Cloneable {
+ public class LongSparseArray<E> implements java.lang.Cloneable {
ctor public LongSparseArray();
ctor public LongSparseArray(int);
method public void append(long, E);
@@ -43619,7 +43619,7 @@
method public E valueAt(int);
}
- public class LruCache {
+ public class LruCache<K, V> {
ctor public LruCache(int);
method protected V create(K);
method public final synchronized int createCount();
@@ -43707,9 +43707,9 @@
ctor public NoSuchPropertyException(java.lang.String);
}
- public class Pair {
+ public class Pair<F, S> {
ctor public Pair(F, S);
- method public static android.util.Pair<A, B> create(A, B);
+ method public static <A, B> android.util.Pair<A, B> create(A, B);
field public final F first;
field public final S second;
}
@@ -43742,22 +43742,22 @@
method public abstract void println(java.lang.String);
}
- public abstract class Property {
+ public abstract class Property<T, V> {
ctor public Property(java.lang.Class<V>, java.lang.String);
method public abstract V get(T);
method public java.lang.String getName();
method public java.lang.Class<V> getType();
method public boolean isReadOnly();
- method public static android.util.Property<T, V> of(java.lang.Class<T>, java.lang.Class<V>, java.lang.String);
+ method public static <T, V> android.util.Property<T, V> of(java.lang.Class<T>, java.lang.Class<V>, java.lang.String);
method public void set(T, V);
}
- public final class Range {
+ public final class Range<T extends java.lang.Comparable<? super T>> {
ctor public Range(T, T);
method public T clamp(T);
method public boolean contains(T);
method public boolean contains(android.util.Range<T>);
- method public static android.util.Range<T> create(T, T);
+ method public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> create(T, T);
method public android.util.Range<T> extend(android.util.Range<T>);
method public android.util.Range<T> extend(T, T);
method public android.util.Range<T> extend(T);
@@ -43801,7 +43801,7 @@
method public static android.util.SizeF parseSizeF(java.lang.String) throws java.lang.NumberFormatException;
}
- public class SparseArray implements java.lang.Cloneable {
+ public class SparseArray<E> implements java.lang.Cloneable {
ctor public SparseArray();
ctor public SparseArray(int);
method public void append(int, E);
@@ -48606,7 +48606,7 @@
method public static java.lang.String stripAnchor(java.lang.String);
}
- public abstract interface ValueCallback {
+ public abstract interface ValueCallback<T> {
method public abstract void onReceiveValue(T);
}
@@ -49621,7 +49621,7 @@
field public static final int NO_SELECTION = -2147483648; // 0x80000000
}
- public abstract class AdapterView extends android.view.ViewGroup {
+ public abstract class AdapterView<T extends android.widget.Adapter> extends android.view.ViewGroup {
ctor public AdapterView(android.content.Context);
ctor public AdapterView(android.content.Context, android.util.AttributeSet);
ctor public AdapterView(android.content.Context, android.util.AttributeSet, int);
@@ -49744,7 +49744,7 @@
ctor public AnalogClock(android.content.Context, android.util.AttributeSet, int, int);
}
- public class ArrayAdapter extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+ public class ArrayAdapter<T> extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
ctor public ArrayAdapter(android.content.Context, int);
ctor public ArrayAdapter(android.content.Context, int, int);
ctor public ArrayAdapter(android.content.Context, int, T[]);
@@ -49805,7 +49805,7 @@
method protected void performFiltering(java.lang.CharSequence, int);
method public void performValidation();
method protected void replaceText(java.lang.CharSequence);
- method public void setAdapter(T);
+ method public <T extends android.widget.ListAdapter & android.widget.Filterable> void setAdapter(T);
method public void setCompletionHint(java.lang.CharSequence);
method public void setDropDownAnchor(int);
method public void setDropDownBackgroundDrawable(android.graphics.drawable.Drawable);
@@ -52090,7 +52090,7 @@
package com.android.internal.util {
- public abstract interface Predicate {
+ public abstract interface Predicate<T> {
method public abstract boolean apply(T);
}
@@ -54137,13 +54137,13 @@
enum_constant public static final java.lang.Character.UnicodeScript YI;
}
- public final class Class implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
- method public java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
+ public final class Class<T> implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
+ method public <U> java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
method public T cast(java.lang.Object);
method public boolean desiredAssertionStatus();
method public static java.lang.Class<?> forName(java.lang.String) throws java.lang.ClassNotFoundException;
method public static java.lang.Class<?> forName(java.lang.String, boolean, java.lang.ClassLoader) throws java.lang.ClassNotFoundException;
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getAnnotations();
method public java.lang.String getCanonicalName();
method public java.lang.ClassLoader getClassLoader();
@@ -54260,7 +54260,7 @@
public abstract interface Cloneable {
}
- public abstract interface Comparable {
+ public abstract interface Comparable<T> {
method public abstract int compareTo(T);
}
@@ -54314,7 +54314,7 @@
field public static final java.lang.Class<java.lang.Double> TYPE;
}
- public abstract class Enum implements java.lang.Comparable java.io.Serializable {
+ public abstract class Enum<E extends java.lang.Enum<E>> implements java.lang.Comparable java.io.Serializable {
ctor protected Enum(java.lang.String, int);
method protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException;
method public final int compareTo(E);
@@ -54324,7 +54324,7 @@
method public final int hashCode();
method public final java.lang.String name();
method public final int ordinal();
- method public static T valueOf(java.lang.Class<T>, java.lang.String);
+ method public static <T extends java.lang.Enum<T>> T valueOf(java.lang.Class<T>, java.lang.String);
}
public class EnumConstantNotPresentException extends java.lang.RuntimeException {
@@ -54443,7 +54443,7 @@
ctor public IndexOutOfBoundsException(java.lang.String);
}
- public class InheritableThreadLocal extends java.lang.ThreadLocal {
+ public class InheritableThreadLocal<T> extends java.lang.ThreadLocal {
ctor public InheritableThreadLocal();
method protected T childValue(T);
}
@@ -54514,7 +54514,7 @@
ctor public InterruptedException(java.lang.String);
}
- public abstract interface Iterable {
+ public abstract interface Iterable<T> {
method public default void forEach(java.util.function.Consumer<? super T>);
method public abstract java.util.Iterator<T> iterator();
method public default java.util.Spliterator<T> spliterator();
@@ -54722,12 +54722,12 @@
}
public class Package implements java.lang.reflect.AnnotatedElement {
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getAnnotations();
- method public A[] getAnnotationsByType(java.lang.Class<A>);
- method public A getDeclaredAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- method public A[] getDeclaredAnnotationsByType(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A[] getDeclaredAnnotationsByType(java.lang.Class<A>);
method public java.lang.String getImplementationTitle();
method public java.lang.String getImplementationVendor();
method public java.lang.String getImplementationVersion();
@@ -55287,7 +55287,7 @@
method public void uncaughtException(java.lang.Thread, java.lang.Throwable);
}
- public class ThreadLocal {
+ public class ThreadLocal<T> {
ctor public ThreadLocal();
method public T get();
method protected T initialValue();
@@ -55427,30 +55427,30 @@
package java.lang.ref {
- public class PhantomReference extends java.lang.ref.Reference {
+ public class PhantomReference<T> extends java.lang.ref.Reference {
ctor public PhantomReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
- public abstract class Reference {
+ public abstract class Reference<T> {
method public void clear();
method public boolean enqueue();
method public T get();
method public boolean isEnqueued();
}
- public class ReferenceQueue {
+ public class ReferenceQueue<T> {
ctor public ReferenceQueue();
method public java.lang.ref.Reference<? extends T> poll();
method public java.lang.ref.Reference<? extends T> remove(long) throws java.lang.IllegalArgumentException, java.lang.InterruptedException;
method public java.lang.ref.Reference<? extends T> remove() throws java.lang.InterruptedException;
}
- public class SoftReference extends java.lang.ref.Reference {
+ public class SoftReference<T> extends java.lang.ref.Reference {
ctor public SoftReference(T);
ctor public SoftReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
- public class WeakReference extends java.lang.ref.Reference {
+ public class WeakReference<T> extends java.lang.ref.Reference {
ctor public WeakReference(T);
ctor public WeakReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
@@ -55461,7 +55461,7 @@
public class AccessibleObject implements java.lang.reflect.AnnotatedElement {
ctor protected AccessibleObject();
- method public T getAnnotation(java.lang.Class<T>);
+ method public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public java.lang.annotation.Annotation[] getAnnotations();
method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
method public boolean isAccessible();
@@ -55470,12 +55470,12 @@
}
public abstract interface AnnotatedElement {
- method public abstract T getAnnotation(java.lang.Class<T>);
+ method public abstract <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public abstract java.lang.annotation.Annotation[] getAnnotations();
- method public default T[] getAnnotationsByType(java.lang.Class<T>);
- method public default java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class<T>);
method public abstract java.lang.annotation.Annotation[] getDeclaredAnnotations();
- method public default T[] getDeclaredAnnotationsByType(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> T[] getDeclaredAnnotationsByType(java.lang.Class<T>);
method public default boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
}
@@ -55503,8 +55503,8 @@
method public static void setShort(java.lang.Object, int, short) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
}
- public final class Constructor extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
- method public A getAnnotation(java.lang.Class<A>);
+ public final class Constructor<T> extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.Class<T> getDeclaringClass();
method public java.lang.Class<?>[] getExceptionTypes();
method public java.lang.reflect.Type[] getGenericExceptionTypes();
@@ -55523,7 +55523,7 @@
public final class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member {
method public java.lang.Object get(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public boolean getBoolean(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
method public byte getByte(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
method public char getChar(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
@@ -55589,7 +55589,7 @@
}
public final class Method extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.Class<?> getDeclaringClass();
method public java.lang.Object getDefaultValue();
method public java.lang.Class<?>[] getExceptionTypes();
@@ -55667,7 +55667,7 @@
public abstract interface Type {
}
- public abstract interface TypeVariable implements java.lang.reflect.Type {
+ public abstract interface TypeVariable<D extends java.lang.reflect.GenericDeclaration> implements java.lang.reflect.Type {
method public abstract java.lang.reflect.Type[] getBounds();
method public abstract D getGenericDeclaration();
method public abstract java.lang.String getName();
@@ -56456,7 +56456,7 @@
method public abstract java.net.SocketImpl createSocketImpl();
}
- public abstract interface SocketOption {
+ public abstract interface SocketOption<T> {
method public abstract java.lang.String name();
method public abstract java.lang.Class<T> type();
}
@@ -57040,7 +57040,7 @@
method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
method public abstract java.net.SocketAddress receive(java.nio.ByteBuffer) throws java.io.IOException;
method public abstract int send(java.nio.ByteBuffer, java.net.SocketAddress) throws java.io.IOException;
- method public abstract java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.net.DatagramSocket socket();
method public final int validOps();
method public abstract int write(java.nio.ByteBuffer) throws java.io.IOException;
@@ -57116,8 +57116,8 @@
public abstract interface NetworkChannel implements java.nio.channels.Channel {
method public abstract java.nio.channels.NetworkChannel bind(java.net.SocketAddress) throws java.io.IOException;
method public abstract java.net.SocketAddress getLocalAddress() throws java.io.IOException;
- method public abstract T getOption(java.net.SocketOption<T>) throws java.io.IOException;
- method public abstract java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.util.Set<java.net.SocketOption<?>> supportedOptions();
}
@@ -57234,7 +57234,7 @@
method public final java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException;
method public static java.nio.channels.ServerSocketChannel open() throws java.io.IOException;
- method public abstract java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.net.ServerSocket socket();
method public final int validOps();
}
@@ -57252,7 +57252,7 @@
method public abstract int read(java.nio.ByteBuffer) throws java.io.IOException;
method public abstract long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
- method public abstract java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.nio.channels.SocketChannel shutdownInput() throws java.io.IOException;
method public abstract java.nio.channels.SocketChannel shutdownOutput() throws java.io.IOException;
method public abstract java.net.Socket socket();
@@ -57499,12 +57499,12 @@
public final class AccessController {
method public static void checkPermission(java.security.Permission) throws java.security.AccessControlException;
- method public static T doPrivileged(java.security.PrivilegedAction<T>);
- method public static T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
- method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
- method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
- method public static T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
- method public static T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivileged(java.security.PrivilegedAction<T>);
+ method public static <T> T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
+ method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
method public static java.security.AccessControlContext getContext();
}
@@ -57543,7 +57543,7 @@
method public static java.security.AlgorithmParameters getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
- method public final T getParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method public final <T extends java.security.spec.AlgorithmParameterSpec> T getParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
method public final java.security.Provider getProvider();
method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
method public final void init(byte[]) throws java.io.IOException;
@@ -57555,7 +57555,7 @@
ctor public AlgorithmParametersSpi();
method protected abstract byte[] engineGetEncoded() throws java.io.IOException;
method protected abstract byte[] engineGetEncoded(java.lang.String) throws java.io.IOException;
- method protected abstract T engineGetParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method protected abstract <T extends java.security.spec.AlgorithmParameterSpec> T engineGetParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
method protected abstract void engineInit(byte[]) throws java.io.IOException;
method protected abstract void engineInit(byte[], java.lang.String) throws java.io.IOException;
@@ -57740,7 +57740,7 @@
method public static java.security.KeyFactory getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
method public static java.security.KeyFactory getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
method public static java.security.KeyFactory getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
- method public final T getKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method public final <T extends java.security.spec.KeySpec> T getKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
method public final java.security.Provider getProvider();
method public final java.security.Key translateKey(java.security.Key) throws java.security.InvalidKeyException;
}
@@ -57749,7 +57749,7 @@
ctor public KeyFactorySpi();
method protected abstract java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
method protected abstract java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
- method protected abstract T engineGetKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
method protected abstract java.security.Key engineTranslateKey(java.security.Key) throws java.security.InvalidKeyException;
}
@@ -58018,7 +58018,7 @@
field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L
}
- public abstract interface PrivilegedAction {
+ public abstract interface PrivilegedAction<T> {
method public abstract T run();
}
@@ -58027,7 +58027,7 @@
method public java.lang.Exception getException();
}
- public abstract interface PrivilegedExceptionAction {
+ public abstract interface PrivilegedExceptionAction<T> {
method public abstract T run() throws java.lang.Exception;
}
@@ -60209,11 +60209,11 @@
method public abstract void free() throws java.sql.SQLException;
method public abstract java.io.InputStream getBinaryStream() throws java.sql.SQLException;
method public abstract java.io.Reader getCharacterStream() throws java.sql.SQLException;
- method public abstract T getSource(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T extends javax.xml.transform.Source> T getSource(java.lang.Class<T>) throws java.sql.SQLException;
method public abstract java.lang.String getString() throws java.sql.SQLException;
method public abstract java.io.OutputStream setBinaryStream() throws java.sql.SQLException;
method public abstract java.io.Writer setCharacterStream() throws java.sql.SQLException;
- method public abstract T setResult(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T extends javax.xml.transform.Result> T setResult(java.lang.Class<T>) throws java.sql.SQLException;
method public abstract void setString(java.lang.String) throws java.sql.SQLException;
}
@@ -60337,7 +60337,7 @@
public abstract interface Wrapper {
method public abstract boolean isWrapperFor(java.lang.Class<?>) throws java.sql.SQLException;
- method public abstract T unwrap(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T> T unwrap(java.lang.Class<T>) throws java.sql.SQLException;
}
}
@@ -60870,7 +60870,7 @@
package java.util {
- public abstract class AbstractCollection implements java.util.Collection {
+ public abstract class AbstractCollection<E> implements java.util.Collection {
ctor protected AbstractCollection();
method public boolean add(E);
method public boolean addAll(java.util.Collection<? extends E>);
@@ -60884,10 +60884,10 @@
method public boolean retainAll(java.util.Collection<?>);
method public abstract int size();
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
}
- public abstract class AbstractList extends java.util.AbstractCollection implements java.util.List {
+ public abstract class AbstractList<E> extends java.util.AbstractCollection implements java.util.List {
ctor protected AbstractList();
method public void add(int, E);
method public boolean addAll(int, java.util.Collection<? extends E>);
@@ -60904,7 +60904,7 @@
field protected transient int modCount;
}
- public abstract class AbstractMap implements java.util.Map {
+ public abstract class AbstractMap<K, V> implements java.util.Map {
ctor protected AbstractMap();
method public void clear();
method public boolean containsKey(java.lang.Object);
@@ -60920,7 +60920,7 @@
method public java.util.Collection<V> values();
}
- public static class AbstractMap.SimpleEntry implements java.util.Map.Entry java.io.Serializable {
+ public static class AbstractMap.SimpleEntry<K, V> implements java.util.Map.Entry java.io.Serializable {
ctor public AbstractMap.SimpleEntry(K, V);
ctor public AbstractMap.SimpleEntry(java.util.Map.Entry<? extends K, ? extends V>);
method public K getKey();
@@ -60928,7 +60928,7 @@
method public V setValue(V);
}
- public static class AbstractMap.SimpleImmutableEntry implements java.util.Map.Entry java.io.Serializable {
+ public static class AbstractMap.SimpleImmutableEntry<K, V> implements java.util.Map.Entry java.io.Serializable {
ctor public AbstractMap.SimpleImmutableEntry(K, V);
ctor public AbstractMap.SimpleImmutableEntry(java.util.Map.Entry<? extends K, ? extends V>);
method public K getKey();
@@ -60936,23 +60936,23 @@
method public V setValue(V);
}
- public abstract class AbstractQueue extends java.util.AbstractCollection implements java.util.Queue {
+ public abstract class AbstractQueue<E> extends java.util.AbstractCollection implements java.util.Queue {
ctor protected AbstractQueue();
method public E element();
method public E remove();
}
- public abstract class AbstractSequentialList extends java.util.AbstractList {
+ public abstract class AbstractSequentialList<E> extends java.util.AbstractList {
ctor protected AbstractSequentialList();
method public E get(int);
method public abstract java.util.ListIterator<E> listIterator(int);
}
- public abstract class AbstractSet extends java.util.AbstractCollection implements java.util.Set {
+ public abstract class AbstractSet<E> extends java.util.AbstractCollection implements java.util.Set {
ctor protected AbstractSet();
}
- public class ArrayDeque extends java.util.AbstractCollection implements java.lang.Cloneable java.util.Deque java.io.Serializable {
+ public class ArrayDeque<E> extends java.util.AbstractCollection implements java.lang.Cloneable java.util.Deque java.io.Serializable {
ctor public ArrayDeque();
ctor public ArrayDeque(int);
ctor public ArrayDeque(java.util.Collection<? extends E>);
@@ -60984,7 +60984,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class ArrayList extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class ArrayList<E> extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public ArrayList(int);
ctor public ArrayList();
ctor public ArrayList(java.util.Collection<? extends E>);
@@ -61001,7 +61001,7 @@
}
public class Arrays {
- method public static java.util.List<T> asList(T...);
+ method public static <T> java.util.List<T> asList(T...);
method public static int binarySearch(long[], long);
method public static int binarySearch(long[], int, int, long);
method public static int binarySearch(int[], int);
@@ -61018,10 +61018,10 @@
method public static int binarySearch(float[], int, int, float);
method public static int binarySearch(java.lang.Object[], java.lang.Object);
method public static int binarySearch(java.lang.Object[], int, int, java.lang.Object);
- method public static int binarySearch(T[], T, java.util.Comparator<? super T>);
- method public static int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
- method public static T[] copyOf(T[], int);
- method public static T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
+ method public static <T> int binarySearch(T[], T, java.util.Comparator<? super T>);
+ method public static <T> int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
+ method public static <T> T[] copyOf(T[], int);
+ method public static <T, U> T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
method public static byte[] copyOf(byte[], int);
method public static short[] copyOf(short[], int);
method public static int[] copyOf(int[], int);
@@ -61030,8 +61030,8 @@
method public static float[] copyOf(float[], int);
method public static double[] copyOf(double[], int);
method public static boolean[] copyOf(boolean[], int);
- method public static T[] copyOfRange(T[], int, int);
- method public static T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
+ method public static <T> T[] copyOfRange(T[], int, int);
+ method public static <T, U> T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
method public static byte[] copyOfRange(byte[], int, int);
method public static short[] copyOfRange(short[], int, int);
method public static int[] copyOfRange(int[], int, int);
@@ -61079,15 +61079,15 @@
method public static int hashCode(float[]);
method public static int hashCode(double[]);
method public static int hashCode(java.lang.Object[]);
- method public static void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
- method public static void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
+ method public static <T> void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
+ method public static <T> void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
method public static void parallelPrefix(long[], java.util.function.LongBinaryOperator);
method public static void parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator);
method public static void parallelPrefix(double[], java.util.function.DoubleBinaryOperator);
method public static void parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator);
method public static void parallelPrefix(int[], java.util.function.IntBinaryOperator);
method public static void parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator);
- method public static void parallelSetAll(T[], java.util.function.IntFunction<? extends T>);
+ method public static <T> void parallelSetAll(T[], java.util.function.IntFunction<? extends T>);
method public static void parallelSetAll(int[], java.util.function.IntUnaryOperator);
method public static void parallelSetAll(long[], java.util.function.IntToLongFunction);
method public static void parallelSetAll(double[], java.util.function.IntToDoubleFunction);
@@ -61105,11 +61105,11 @@
method public static void parallelSort(float[], int, int);
method public static void parallelSort(double[]);
method public static void parallelSort(double[], int, int);
- method public static void parallelSort(T[]);
- method public static void parallelSort(T[], int, int);
- method public static void parallelSort(T[], java.util.Comparator<? super T>);
- method public static void parallelSort(T[], int, int, java.util.Comparator<? super T>);
- method public static void setAll(T[], java.util.function.IntFunction<? extends T>);
+ method public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[]);
+ method public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[], int, int);
+ method public static <T> void parallelSort(T[], java.util.Comparator<? super T>);
+ method public static <T> void parallelSort(T[], int, int, java.util.Comparator<? super T>);
+ method public static <T> void setAll(T[], java.util.function.IntFunction<? extends T>);
method public static void setAll(int[], java.util.function.IntUnaryOperator);
method public static void setAll(long[], java.util.function.IntToLongFunction);
method public static void setAll(double[], java.util.function.IntToDoubleFunction);
@@ -61129,18 +61129,18 @@
method public static void sort(double[], int, int);
method public static void sort(java.lang.Object[]);
method public static void sort(java.lang.Object[], int, int);
- method public static void sort(T[], java.util.Comparator<? super T>);
- method public static void sort(T[], int, int, java.util.Comparator<? super T>);
- method public static java.util.Spliterator<T> spliterator(T[]);
- method public static java.util.Spliterator<T> spliterator(T[], int, int);
+ method public static <T> void sort(T[], java.util.Comparator<? super T>);
+ method public static <T> void sort(T[], int, int, java.util.Comparator<? super T>);
+ method public static <T> java.util.Spliterator<T> spliterator(T[]);
+ method public static <T> java.util.Spliterator<T> spliterator(T[], int, int);
method public static java.util.Spliterator.OfInt spliterator(int[]);
method public static java.util.Spliterator.OfInt spliterator(int[], int, int);
method public static java.util.Spliterator.OfLong spliterator(long[]);
method public static java.util.Spliterator.OfLong spliterator(long[], int, int);
method public static java.util.Spliterator.OfDouble spliterator(double[]);
method public static java.util.Spliterator.OfDouble spliterator(double[], int, int);
- method public static java.util.stream.Stream<T> stream(T[]);
- method public static java.util.stream.Stream<T> stream(T[], int, int);
+ method public static <T> java.util.stream.Stream<T> stream(T[]);
+ method public static <T> java.util.stream.Stream<T> stream(T[], int, int);
method public static java.util.stream.IntStream stream(int[]);
method public static java.util.stream.IntStream stream(int[], int, int);
method public static java.util.stream.LongStream stream(long[]);
@@ -61297,7 +61297,7 @@
field protected long time;
}
- public abstract interface Collection implements java.lang.Iterable {
+ public abstract interface Collection<E> implements java.lang.Iterable {
method public abstract boolean add(E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
method public abstract void clear();
@@ -61315,86 +61315,86 @@
method public abstract int size();
method public default java.util.stream.Stream<E> stream();
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
public class Collections {
- method public static boolean addAll(java.util.Collection<? super T>, T...);
- method public static java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
- method public static int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T);
- method public static int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
- method public static java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
- method public static java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
- method public static java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
- method public static java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
- method public static java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
- method public static java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
- method public static void copy(java.util.List<? super T>, java.util.List<? extends T>);
+ method public static <T> boolean addAll(java.util.Collection<? super T>, T...);
+ method public static <T> java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
+ method public static <T> int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T);
+ method public static <T> int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
+ method public static <E> java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
+ method public static <E> java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
+ method public static <K, V> java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static <E> java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
+ method public static <K, V> java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static <E> java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
+ method public static <T> void copy(java.util.List<? super T>, java.util.List<? extends T>);
method public static boolean disjoint(java.util.Collection<?>, java.util.Collection<?>);
- method public static java.util.Enumeration<T> emptyEnumeration();
- method public static java.util.Iterator<T> emptyIterator();
- method public static final java.util.List<T> emptyList();
- method public static java.util.ListIterator<T> emptyListIterator();
- method public static final java.util.Map<K, V> emptyMap();
- method public static final java.util.Set<T> emptySet();
- method public static java.util.Enumeration<T> enumeration(java.util.Collection<T>);
- method public static void fill(java.util.List<? super T>, T);
+ method public static <T> java.util.Enumeration<T> emptyEnumeration();
+ method public static <T> java.util.Iterator<T> emptyIterator();
+ method public static final <T> java.util.List<T> emptyList();
+ method public static <T> java.util.ListIterator<T> emptyListIterator();
+ method public static final <K, V> java.util.Map<K, V> emptyMap();
+ method public static final <T> java.util.Set<T> emptySet();
+ method public static <T> java.util.Enumeration<T> enumeration(java.util.Collection<T>);
+ method public static <T> void fill(java.util.List<? super T>, T);
method public static int frequency(java.util.Collection<?>, java.lang.Object);
method public static int indexOfSubList(java.util.List<?>, java.util.List<?>);
method public static int lastIndexOfSubList(java.util.List<?>, java.util.List<?>);
- method public static java.util.ArrayList<T> list(java.util.Enumeration<T>);
- method public static T max(java.util.Collection<? extends T>);
- method public static T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
- method public static T min(java.util.Collection<? extends T>);
- method public static T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
- method public static java.util.List<T> nCopies(int, T);
- method public static java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
- method public static boolean replaceAll(java.util.List<T>, T, T);
+ method public static <T> java.util.ArrayList<T> list(java.util.Enumeration<T>);
+ method public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T max(java.util.Collection<? extends T>);
+ method public static <T> T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T min(java.util.Collection<? extends T>);
+ method public static <T> T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static <T> java.util.List<T> nCopies(int, T);
+ method public static <E> java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
+ method public static <T> boolean replaceAll(java.util.List<T>, T, T);
method public static void reverse(java.util.List<?>);
- method public static java.util.Comparator<T> reverseOrder();
- method public static java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
+ method public static <T> java.util.Comparator<T> reverseOrder();
+ method public static <T> java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
method public static void rotate(java.util.List<?>, int);
method public static void shuffle(java.util.List<?>);
method public static void shuffle(java.util.List<?>, java.util.Random);
- method public static java.util.Set<E> singleton(E);
- method public static java.util.List<E> singletonList(E);
- method public static java.util.Map<K, V> singletonMap(K, V);
- method public static void sort(java.util.List<T>);
- method public static void sort(java.util.List<T>, java.util.Comparator<? super T>);
+ method public static <E> java.util.Set<E> singleton(E);
+ method public static <E> java.util.List<E> singletonList(E);
+ method public static <K, V> java.util.Map<K, V> singletonMap(K, V);
+ method public static <T extends java.lang.Comparable<? super T>> void sort(java.util.List<T>);
+ method public static <T> void sort(java.util.List<T>, java.util.Comparator<? super T>);
method public static void swap(java.util.List<?>, int, int);
- method public static java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
- method public static java.util.List<T> synchronizedList(java.util.List<T>);
- method public static java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
- method public static java.util.Set<T> synchronizedSet(java.util.Set<T>);
- method public static java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
- method public static java.util.SortedSet<T> synchronizedSortedSet(java.util.SortedSet<T>);
- method public static java.util.Collection<T> unmodifiableCollection(java.util.Collection<? extends T>);
- method public static java.util.List<T> unmodifiableList(java.util.List<? extends T>);
- method public static java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
- method public static java.util.Set<T> unmodifiableSet(java.util.Set<? extends T>);
- method public static java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
- method public static java.util.SortedSet<T> unmodifiableSortedSet(java.util.SortedSet<T>);
+ method public static <T> java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
+ method public static <T> java.util.List<T> synchronizedList(java.util.List<T>);
+ method public static <K, V> java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
+ method public static <T> java.util.Set<T> synchronizedSet(java.util.Set<T>);
+ method public static <K, V> java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
+ method public static <T> java.util.SortedSet<T> synchronizedSortedSet(java.util.SortedSet<T>);
+ method public static <T> java.util.Collection<T> unmodifiableCollection(java.util.Collection<? extends T>);
+ method public static <T> java.util.List<T> unmodifiableList(java.util.List<? extends T>);
+ method public static <K, V> java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
+ method public static <T> java.util.Set<T> unmodifiableSet(java.util.Set<? extends T>);
+ method public static <K, V> java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
+ method public static <T> java.util.SortedSet<T> unmodifiableSortedSet(java.util.SortedSet<T>);
field public static final java.util.List EMPTY_LIST;
field public static final java.util.Map EMPTY_MAP;
field public static final java.util.Set EMPTY_SET;
}
- public abstract interface Comparator {
+ public abstract interface Comparator<T> {
method public abstract int compare(T, T);
- method public static java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
- method public static java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>);
- method public static java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, U> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
+ method public static <T, U extends java.lang.Comparable<? super U>> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>);
+ method public static <T> java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
method public abstract boolean equals(java.lang.Object);
- method public static java.util.Comparator<T> naturalOrder();
- method public static java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
- method public static java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
- method public static java.util.Comparator<T> reverseOrder();
+ method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> naturalOrder();
+ method public static <T> java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
+ method public static <T> java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
+ method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> reverseOrder();
method public default java.util.Comparator<T> reversed();
method public default java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
- method public default java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
- method public default java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>);
+ method public default <U> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
+ method public default <U extends java.lang.Comparable<? super U>> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>);
method public default java.util.Comparator<T> thenComparingDouble(java.util.function.ToDoubleFunction<? super T>);
method public default java.util.Comparator<T> thenComparingInt(java.util.function.ToIntFunction<? super T>);
method public default java.util.Comparator<T> thenComparingLong(java.util.function.ToLongFunction<? super T>);
@@ -61453,7 +61453,7 @@
method public deprecated java.lang.String toLocaleString();
}
- public abstract interface Deque implements java.util.Queue {
+ public abstract interface Deque<E> implements java.util.Queue {
method public abstract boolean add(E);
method public abstract void addFirst(E);
method public abstract void addLast(E);
@@ -61483,7 +61483,7 @@
method public abstract int size();
}
- public abstract class Dictionary {
+ public abstract class Dictionary<K, V> {
ctor public Dictionary();
method public abstract java.util.Enumeration<V> elements();
method public abstract V get(java.lang.Object);
@@ -61514,7 +61514,7 @@
ctor public EmptyStackException();
}
- public class EnumMap extends java.util.AbstractMap implements java.lang.Cloneable java.io.Serializable {
+ public class EnumMap<K extends java.lang.Enum<K>, V> extends java.util.AbstractMap implements java.lang.Cloneable java.io.Serializable {
ctor public EnumMap(java.lang.Class<K>);
ctor public EnumMap(java.util.EnumMap<K, ? extends V>);
ctor public EnumMap(java.util.Map<K, ? extends V>);
@@ -61522,23 +61522,23 @@
method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
}
- public abstract class EnumSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable {
- method public static java.util.EnumSet<E> allOf(java.lang.Class<E>);
+ public abstract class EnumSet<E extends java.lang.Enum<E>> extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable {
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> allOf(java.lang.Class<E>);
method public java.util.EnumSet<E> clone();
- method public static java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
- method public static java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
- method public static java.util.EnumSet<E> copyOf(java.util.Collection<E>);
- method public static java.util.EnumSet<E> noneOf(java.lang.Class<E>);
- method public static java.util.EnumSet<E> of(E);
- method public static java.util.EnumSet<E> of(E, E);
- method public static java.util.EnumSet<E> of(E, E, E);
- method public static java.util.EnumSet<E> of(E, E, E, E);
- method public static java.util.EnumSet<E> of(E, E, E, E, E);
- method public static java.util.EnumSet<E> of(E, E...);
- method public static java.util.EnumSet<E> range(E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.Collection<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> noneOf(java.lang.Class<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E...);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> range(E, E);
}
- public abstract interface Enumeration {
+ public abstract interface Enumeration<E> {
method public abstract boolean hasMoreElements();
method public abstract E nextElement();
}
@@ -61546,7 +61546,7 @@
public abstract interface EventListener {
}
- public abstract class EventListenerProxy implements java.util.EventListener {
+ public abstract class EventListenerProxy<T extends java.util.EventListener> implements java.util.EventListener {
ctor public EventListenerProxy(T);
method public T getListener();
}
@@ -61632,7 +61632,7 @@
field public static final int BC = 0; // 0x0
}
- public class HashMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class HashMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public HashMap(int, float);
ctor public HashMap(int);
ctor public HashMap();
@@ -61644,7 +61644,7 @@
method public void replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>);
}
- public class HashSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ public class HashSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
ctor public HashSet();
ctor public HashSet(java.util.Collection<? extends E>);
ctor public HashSet(int, float);
@@ -61655,7 +61655,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class Hashtable extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class Hashtable<K, V> extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public Hashtable(int, float);
ctor public Hashtable(int);
ctor public Hashtable();
@@ -61690,7 +61690,7 @@
method public java.util.Collection<V> values();
}
- public class IdentityHashMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class IdentityHashMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public IdentityHashMap();
ctor public IdentityHashMap(int);
ctor public IdentityHashMap(java.util.Map<? extends K, ? extends V>);
@@ -61757,14 +61757,14 @@
ctor public InvalidPropertiesFormatException(java.lang.String);
}
- public abstract interface Iterator {
+ public abstract interface Iterator<E> {
method public default void forEachRemaining(java.util.function.Consumer<? super E>);
method public abstract boolean hasNext();
method public abstract E next();
method public default void remove();
}
- public class LinkedHashMap extends java.util.HashMap implements java.util.Map {
+ public class LinkedHashMap<K, V> extends java.util.HashMap implements java.util.Map {
ctor public LinkedHashMap(int, float);
ctor public LinkedHashMap(int);
ctor public LinkedHashMap();
@@ -61773,14 +61773,14 @@
method protected boolean removeEldestEntry(java.util.Map.Entry<K, V>);
}
- public class LinkedHashSet extends java.util.HashSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ public class LinkedHashSet<E> extends java.util.HashSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
ctor public LinkedHashSet(int, float);
ctor public LinkedHashSet(int);
ctor public LinkedHashSet();
ctor public LinkedHashSet(java.util.Collection<? extends E>);
}
- public class LinkedList extends java.util.AbstractSequentialList implements java.lang.Cloneable java.util.Deque java.util.List java.io.Serializable {
+ public class LinkedList<E> extends java.util.AbstractSequentialList implements java.lang.Cloneable java.util.Deque java.util.List java.io.Serializable {
ctor public LinkedList();
ctor public LinkedList(java.util.Collection<? extends E>);
method public void addFirst(E);
@@ -61811,7 +61811,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public abstract interface List implements java.util.Collection {
+ public abstract interface List<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract void add(int, E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
@@ -61838,10 +61838,10 @@
method public default void sort(java.util.Comparator<? super E>);
method public abstract java.util.List<E> subList(int, int);
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
- public abstract interface ListIterator implements java.util.Iterator {
+ public abstract interface ListIterator<E> implements java.util.Iterator {
method public abstract void add(E);
method public abstract boolean hasNext();
method public abstract boolean hasPrevious();
@@ -61958,7 +61958,7 @@
method public final long getSum();
}
- public abstract interface Map {
+ public abstract interface Map<K, V> {
method public abstract void clear();
method public default V compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>);
method public default V computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>);
@@ -61986,11 +61986,11 @@
method public abstract java.util.Collection<V> values();
}
- public static abstract interface Map.Entry {
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey();
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey(java.util.Comparator<? super K>);
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue();
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue(java.util.Comparator<? super V>);
+ public static abstract interface Map.Entry<K, V> {
+ method public static <K extends java.lang.Comparable<? super K>, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey();
+ method public static <K, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey(java.util.Comparator<? super K>);
+ method public static <K, V extends java.lang.Comparable<? super V>> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue();
+ method public static <K, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue(java.util.Comparator<? super V>);
method public abstract boolean equals(java.lang.Object);
method public abstract K getKey();
method public abstract V getValue();
@@ -62014,7 +62014,7 @@
method public java.lang.String getKey();
}
- public abstract interface NavigableMap implements java.util.SortedMap {
+ public abstract interface NavigableMap<K, V> implements java.util.SortedMap {
method public abstract java.util.Map.Entry<K, V> ceilingEntry(K);
method public abstract K ceilingKey(K);
method public abstract java.util.NavigableSet<K> descendingKeySet();
@@ -62038,7 +62038,7 @@
method public abstract java.util.SortedMap<K, V> tailMap(K);
}
- public abstract interface NavigableSet implements java.util.SortedSet {
+ public abstract interface NavigableSet<E> implements java.util.SortedSet {
method public abstract E ceiling(E);
method public abstract java.util.Iterator<E> descendingIterator();
method public abstract java.util.NavigableSet<E> descendingSet();
@@ -62062,16 +62062,16 @@
}
public final class Objects {
- method public static int compare(T, T, java.util.Comparator<? super T>);
+ method public static <T> int compare(T, T, java.util.Comparator<? super T>);
method public static boolean deepEquals(java.lang.Object, java.lang.Object);
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<java.lang.String>);
+ method public static <T> T requireNonNull(T);
+ method public static <T> T requireNonNull(T, java.lang.String);
+ method public static <T> T requireNonNull(T, java.util.function.Supplier<java.lang.String>);
method public static java.lang.String toString(java.lang.Object);
method public static java.lang.String toString(java.lang.Object, java.lang.String);
}
@@ -62093,19 +62093,19 @@
method public abstract void update(java.util.Observable, java.lang.Object);
}
- public final class Optional {
- method public static java.util.Optional<T> empty();
+ public final class Optional<T> {
+ method public static <T> java.util.Optional<T> empty();
method public java.util.Optional<T> filter(java.util.function.Predicate<? super T>);
- method public java.util.Optional<U> flatMap(java.util.function.Function<? super T, java.util.Optional<U>>);
+ method public <U> java.util.Optional<U> flatMap(java.util.function.Function<? super T, java.util.Optional<U>>);
method public T get();
method public void ifPresent(java.util.function.Consumer<? super T>);
method public boolean isPresent();
- method public java.util.Optional<U> map(java.util.function.Function<? super T, ? extends U>);
- method public static java.util.Optional<T> of(T);
- method public static java.util.Optional<T> ofNullable(T);
+ method public <U> java.util.Optional<U> map(java.util.function.Function<? super T, ? extends U>);
+ method public static <T> java.util.Optional<T> of(T);
+ method public static <T> java.util.Optional<T> ofNullable(T);
method public T orElse(T);
method public T orElseGet(java.util.function.Supplier<? extends T>);
- method public T orElseThrow(java.util.function.Supplier<? extends X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> T orElseThrow(java.util.function.Supplier<? extends X>) throws java.lang.Throwable;
}
public final class OptionalDouble {
@@ -62116,7 +62116,7 @@
method public static java.util.OptionalDouble of(double);
method public double orElse(double);
method public double orElseGet(java.util.function.DoubleSupplier);
- method public double orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> double orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
public final class OptionalInt {
@@ -62127,7 +62127,7 @@
method public static java.util.OptionalInt of(int);
method public int orElse(int);
method public int orElseGet(java.util.function.IntSupplier);
- method public int orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> int orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
public final class OptionalLong {
@@ -62138,10 +62138,10 @@
method public static java.util.OptionalLong of(long);
method public long orElse(long);
method public long orElseGet(java.util.function.LongSupplier);
- method public long orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> long orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
- public abstract interface PrimitiveIterator implements java.util.Iterator {
+ public abstract interface PrimitiveIterator<T, T_CONS> implements java.util.Iterator {
method public abstract void forEachRemaining(T_CONS);
}
@@ -62166,7 +62166,7 @@
method public abstract long nextLong();
}
- public class PriorityQueue extends java.util.AbstractQueue implements java.io.Serializable {
+ public class PriorityQueue<E> extends java.util.AbstractQueue implements java.io.Serializable {
ctor public PriorityQueue();
ctor public PriorityQueue(int);
ctor public PriorityQueue(java.util.Comparator<? super E>);
@@ -62215,7 +62215,7 @@
method public java.lang.Object handleGetObject(java.lang.String);
}
- public abstract interface Queue implements java.util.Collection {
+ public abstract interface Queue<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract E element();
method public abstract boolean offer(E);
@@ -62365,15 +62365,15 @@
ctor public ServiceConfigurationError(java.lang.String, java.lang.Throwable);
}
- public final class ServiceLoader implements java.lang.Iterable {
+ public final class ServiceLoader<S> implements java.lang.Iterable {
method public java.util.Iterator<S> iterator();
- method public static java.util.ServiceLoader<S> load(java.lang.Class<S>, java.lang.ClassLoader);
- method public static java.util.ServiceLoader<S> load(java.lang.Class<S>);
- method public static java.util.ServiceLoader<S> loadInstalled(java.lang.Class<S>);
+ method public static <S> java.util.ServiceLoader<S> load(java.lang.Class<S>, java.lang.ClassLoader);
+ method public static <S> java.util.ServiceLoader<S> load(java.lang.Class<S>);
+ method public static <S> java.util.ServiceLoader<S> loadInstalled(java.lang.Class<S>);
method public void reload();
}
- public abstract interface Set implements java.util.Collection {
+ public abstract interface Set<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
method public abstract void clear();
@@ -62388,7 +62388,7 @@
method public abstract boolean retainAll(java.util.Collection<?>);
method public abstract int size();
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
public class SimpleTimeZone extends java.util.TimeZone {
@@ -62414,7 +62414,7 @@
field public static final int WALL_TIME = 0; // 0x0
}
- public abstract interface SortedMap implements java.util.Map {
+ public abstract interface SortedMap<K, V> implements java.util.Map {
method public abstract java.util.Comparator<? super K> comparator();
method public abstract java.util.Set<java.util.Map.Entry<K, V>> entrySet();
method public abstract K firstKey();
@@ -62426,7 +62426,7 @@
method public abstract java.util.Collection<V> values();
}
- public abstract interface SortedSet implements java.util.Set {
+ public abstract interface SortedSet<E> implements java.util.Set {
method public abstract java.util.Comparator<? super E> comparator();
method public abstract E first();
method public abstract java.util.SortedSet<E> headSet(E);
@@ -62435,7 +62435,7 @@
method public abstract java.util.SortedSet<E> tailSet(E);
}
- public abstract interface Spliterator {
+ public abstract interface Spliterator<T> {
method public abstract int characteristics();
method public abstract long estimateSize();
method public default void forEachRemaining(java.util.function.Consumer<? super T>);
@@ -62478,7 +62478,7 @@
method public abstract java.util.Spliterator.OfLong trySplit();
}
- public static abstract interface Spliterator.OfPrimitive implements java.util.Spliterator {
+ public static abstract interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> implements java.util.Spliterator {
method public default void forEachRemaining(T_CONS);
method public abstract boolean tryAdvance(T_CONS);
method public abstract T_SPLITR trySplit();
@@ -62488,25 +62488,25 @@
method public static java.util.Spliterator.OfDouble emptyDoubleSpliterator();
method public static java.util.Spliterator.OfInt emptyIntSpliterator();
method public static java.util.Spliterator.OfLong emptyLongSpliterator();
- method public static java.util.Spliterator<T> emptySpliterator();
- method public static java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
+ method public static <T> java.util.Spliterator<T> emptySpliterator();
+ method public static <T> java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
method public static java.util.PrimitiveIterator.OfInt iterator(java.util.Spliterator.OfInt);
method public static java.util.PrimitiveIterator.OfLong iterator(java.util.Spliterator.OfLong);
method public static java.util.PrimitiveIterator.OfDouble iterator(java.util.Spliterator.OfDouble);
- method public static java.util.Spliterator<T> spliterator(java.lang.Object[], int);
- method public static java.util.Spliterator<T> spliterator(java.lang.Object[], int, int, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.lang.Object[], int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.lang.Object[], int, int, int);
method public static java.util.Spliterator.OfInt spliterator(int[], int);
method public static java.util.Spliterator.OfInt spliterator(int[], int, int, int);
method public static java.util.Spliterator.OfLong spliterator(long[], int);
method public static java.util.Spliterator.OfLong spliterator(long[], int, int, int);
method public static java.util.Spliterator.OfDouble spliterator(double[], int);
method public static java.util.Spliterator.OfDouble spliterator(double[], int, int, int);
- method public static java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
- method public static java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
method public static java.util.Spliterator.OfInt spliterator(java.util.PrimitiveIterator.OfInt, long, int);
method public static java.util.Spliterator.OfLong spliterator(java.util.PrimitiveIterator.OfLong, long, int);
method public static java.util.Spliterator.OfDouble spliterator(java.util.PrimitiveIterator.OfDouble, long, int);
- method public static java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
+ method public static <T> java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
method public static java.util.Spliterator.OfInt spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt, int);
method public static java.util.Spliterator.OfLong spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong, int);
method public static java.util.Spliterator.OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble, int);
@@ -62533,7 +62533,7 @@
method public java.util.Spliterator.OfLong trySplit();
}
- public static abstract class Spliterators.AbstractSpliterator implements java.util.Spliterator {
+ public static abstract class Spliterators.AbstractSpliterator<T> implements java.util.Spliterator {
ctor protected Spliterators.AbstractSpliterator(long, int);
method public int characteristics();
method public long estimateSize();
@@ -62568,7 +62568,7 @@
method public java.util.SplittableRandom split();
}
- public class Stack extends java.util.Vector {
+ public class Stack<E> extends java.util.Vector {
ctor public Stack();
method public boolean empty();
method public synchronized E peek();
@@ -62652,7 +62652,7 @@
ctor public TooManyListenersException(java.lang.String);
}
- public class TreeMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.NavigableMap java.io.Serializable {
+ public class TreeMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.NavigableMap java.io.Serializable {
ctor public TreeMap();
ctor public TreeMap(java.util.Comparator<? super K>);
ctor public TreeMap(java.util.Map<? extends K, ? extends V>);
@@ -62689,7 +62689,7 @@
method public java.util.SortedMap<K, V> tailMap(K);
}
- public class TreeSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ public class TreeSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
ctor public TreeSet();
ctor public TreeSet(java.util.Comparator<? super E>);
ctor public TreeSet(java.util.Collection<? extends E>);
@@ -62742,7 +62742,7 @@
method public java.lang.String getFlags();
}
- public class Vector extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class Vector<E> extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public Vector(int, int);
ctor public Vector(int);
ctor public Vector();
@@ -62777,7 +62777,7 @@
field protected java.lang.Object[] elementData;
}
- public class WeakHashMap extends java.util.AbstractMap implements java.util.Map {
+ public class WeakHashMap<K, V> extends java.util.AbstractMap implements java.util.Map {
ctor public WeakHashMap(int, float);
ctor public WeakHashMap(int);
ctor public WeakHashMap();
@@ -62793,18 +62793,18 @@
public abstract class AbstractExecutorService implements java.util.concurrent.ExecutorService {
ctor public AbstractExecutorService();
- method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
- method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
- method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
- method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
- method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
+ method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
+ method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
method public java.util.concurrent.Future<?> submit(java.lang.Runnable);
- method public java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
- method public java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ method public <T> java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
}
- public class ArrayBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class ArrayBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public ArrayBlockingQueue(int);
ctor public ArrayBlockingQueue(int, boolean);
ctor public ArrayBlockingQueue(int, boolean, java.util.Collection<? extends E>);
@@ -62823,7 +62823,7 @@
method public E take() throws java.lang.InterruptedException;
}
- public abstract interface BlockingDeque implements java.util.concurrent.BlockingQueue java.util.Deque {
+ public abstract interface BlockingDeque<E> implements java.util.concurrent.BlockingQueue java.util.Deque {
method public abstract boolean add(E);
method public abstract void addFirst(E);
method public abstract void addLast(E);
@@ -62855,7 +62855,7 @@
method public abstract E takeLast() throws java.lang.InterruptedException;
}
- public abstract interface BlockingQueue implements java.util.Queue {
+ public abstract interface BlockingQueue<E> implements java.util.Queue {
method public abstract boolean add(E);
method public abstract boolean contains(java.lang.Object);
method public abstract int drainTo(java.util.Collection<? super E>);
@@ -62874,7 +62874,7 @@
ctor public BrokenBarrierException(java.lang.String);
}
- public abstract interface Callable {
+ public abstract interface Callable<V> {
method public abstract V call() throws java.lang.Exception;
}
@@ -62883,28 +62883,28 @@
ctor public CancellationException(java.lang.String);
}
- public class CompletableFuture implements java.util.concurrent.CompletionStage java.util.concurrent.Future {
+ public class CompletableFuture<T> implements java.util.concurrent.CompletionStage java.util.concurrent.Future {
ctor public CompletableFuture();
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> allOf(java.util.concurrent.CompletableFuture<?>...);
method public static java.util.concurrent.CompletableFuture<java.lang.Object> anyOf(java.util.concurrent.CompletableFuture<?>...);
- method public java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
method public boolean cancel(boolean);
method public boolean complete(T);
method public boolean completeExceptionally(java.lang.Throwable);
- method public static java.util.concurrent.CompletableFuture<U> completedFuture(U);
+ method public static <U> java.util.concurrent.CompletableFuture<U> completedFuture(U);
method public java.util.concurrent.CompletableFuture<T> exceptionally(java.util.function.Function<java.lang.Throwable, ? extends T>);
method public T get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
method public T get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
method public T getNow(T);
method public int getNumberOfDependents();
- method public java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
method public boolean isCancelled();
method public boolean isCompletedExceptionally();
method public boolean isDone();
@@ -62919,23 +62919,23 @@
method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable, java.util.concurrent.Executor);
- method public static java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
- method public static java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
+ method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
+ method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRun(java.lang.Runnable);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
@@ -62955,7 +62955,7 @@
ctor public CompletionException(java.lang.Throwable);
}
- public abstract interface CompletionService {
+ public abstract interface CompletionService<V> {
method public abstract java.util.concurrent.Future<V> poll();
method public abstract java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
method public abstract java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
@@ -62963,17 +62963,17 @@
method public abstract java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
}
- public abstract interface CompletionStage {
+ public abstract interface CompletionStage<T> {
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<T> exceptionally(java.util.function.Function<java.lang.Throwable, ? extends T>);
- method public abstract java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
@@ -62983,18 +62983,18 @@
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public abstract java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public abstract java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRun(java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
@@ -63004,7 +63004,7 @@
method public abstract java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>, java.util.concurrent.Executor);
}
- public class ConcurrentHashMap extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable {
+ public class ConcurrentHashMap<K, V> extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable {
ctor public ConcurrentHashMap();
ctor public ConcurrentHashMap(int);
ctor public ConcurrentHashMap(java.util.Map<? extends K, ? extends V>);
@@ -63018,29 +63018,29 @@
method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
method public void forEach(java.util.function.BiConsumer<? super K, ? super V>);
method public void forEach(long, java.util.function.BiConsumer<? super K, ? super V>);
- method public void forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachEntry(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>);
- method public void forEachEntry(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachEntry(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachKey(long, java.util.function.Consumer<? super K>);
- method public void forEachKey(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachKey(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachValue(long, java.util.function.Consumer<? super V>);
- method public void forEachValue(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachValue(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>);
method public V getOrDefault(java.lang.Object, V);
method public java.util.concurrent.ConcurrentHashMap.KeySetView<K, V> keySet(V);
method public java.util.Enumeration<K> keys();
method public long mappingCount();
method public V merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>);
- method public static java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet();
- method public static java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet(int);
+ method public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet();
+ method public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet(int);
method public V putIfAbsent(K, V);
- method public U reduce(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduce(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public java.util.Map.Entry<K, V> reduceEntries(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>);
- method public U reduceEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceEntriesToDouble(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator);
method public int reduceEntriesToInt(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator);
method public long reduceEntriesToLong(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator);
method public K reduceKeys(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>);
- method public U reduceKeys(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceKeys(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceKeysToDouble(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator);
method public int reduceKeysToInt(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator);
method public long reduceKeysToLong(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator);
@@ -63048,7 +63048,7 @@
method public int reduceToInt(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator);
method public long reduceToLong(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator);
method public V reduceValues(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>);
- method public U reduceValues(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceValues(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceValuesToDouble(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator);
method public int reduceValuesToInt(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator);
method public long reduceValuesToLong(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator);
@@ -63056,13 +63056,13 @@
method public boolean replace(K, V, V);
method public V replace(K, V);
method public void replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>);
- method public U search(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>);
- method public U searchEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>);
- method public U searchKeys(long, java.util.function.Function<? super K, ? extends U>);
- method public U searchValues(long, java.util.function.Function<? super V, ? extends U>);
+ method public <U> U search(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>);
+ method public <U> U searchEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>);
+ method public <U> U searchKeys(long, java.util.function.Function<? super K, ? extends U>);
+ method public <U> U searchValues(long, java.util.function.Function<? super V, ? extends U>);
}
- static abstract class ConcurrentHashMap.CollectionView implements java.util.Collection java.io.Serializable {
+ static abstract class ConcurrentHashMap.CollectionView<K, V, E> implements java.util.Collection java.io.Serializable {
method public final void clear();
method public abstract boolean contains(java.lang.Object);
method public final boolean containsAll(java.util.Collection<?>);
@@ -63074,11 +63074,11 @@
method public final boolean retainAll(java.util.Collection<?>);
method public final int size();
method public final java.lang.Object[] toArray();
- method public final T[] toArray(T[]);
+ method public final <T> T[] toArray(T[]);
method public final java.lang.String toString();
}
- public static class ConcurrentHashMap.KeySetView extends java.util.concurrent.ConcurrentHashMap.CollectionView implements java.io.Serializable java.util.Set {
+ public static class ConcurrentHashMap.KeySetView<K, V> extends java.util.concurrent.ConcurrentHashMap.CollectionView implements java.io.Serializable java.util.Set {
method public boolean add(K);
method public boolean addAll(java.util.Collection<? extends K>);
method public boolean contains(java.lang.Object);
@@ -63089,7 +63089,7 @@
method public java.util.Spliterator<K> spliterator();
}
- public class ConcurrentLinkedDeque extends java.util.AbstractCollection implements java.util.Deque java.io.Serializable {
+ public class ConcurrentLinkedDeque<E> extends java.util.AbstractCollection implements java.util.Deque java.io.Serializable {
ctor public ConcurrentLinkedDeque();
ctor public ConcurrentLinkedDeque(java.util.Collection<? extends E>);
method public void addFirst(E);
@@ -63119,7 +63119,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class ConcurrentLinkedQueue extends java.util.AbstractQueue implements java.util.Queue java.io.Serializable {
+ public class ConcurrentLinkedQueue<E> extends java.util.AbstractQueue implements java.util.Queue java.io.Serializable {
ctor public ConcurrentLinkedQueue();
ctor public ConcurrentLinkedQueue(java.util.Collection<? extends E>);
method public java.util.Iterator<E> iterator();
@@ -63130,14 +63130,14 @@
method public java.util.Spliterator<E> spliterator();
}
- public abstract interface ConcurrentMap implements java.util.Map {
+ public abstract interface ConcurrentMap<K, V> implements java.util.Map {
method public abstract V putIfAbsent(K, V);
method public abstract boolean remove(java.lang.Object, java.lang.Object);
method public abstract boolean replace(K, V, V);
method public abstract V replace(K, V);
}
- public abstract interface ConcurrentNavigableMap implements java.util.concurrent.ConcurrentMap java.util.NavigableMap {
+ public abstract interface ConcurrentNavigableMap<K, V> implements java.util.concurrent.ConcurrentMap java.util.NavigableMap {
method public abstract java.util.NavigableSet<K> descendingKeySet();
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> descendingMap();
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> headMap(K, boolean);
@@ -63150,7 +63150,7 @@
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
}
- public class ConcurrentSkipListMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap java.io.Serializable {
+ public class ConcurrentSkipListMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap java.io.Serializable {
ctor public ConcurrentSkipListMap();
ctor public ConcurrentSkipListMap(java.util.Comparator<? super K>);
ctor public ConcurrentSkipListMap(java.util.Map<? extends K, ? extends V>);
@@ -63194,7 +63194,7 @@
method public java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
}
- public class ConcurrentSkipListSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ public class ConcurrentSkipListSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
ctor public ConcurrentSkipListSet();
ctor public ConcurrentSkipListSet(java.util.Comparator<? super E>);
ctor public ConcurrentSkipListSet(java.util.Collection<? extends E>);
@@ -63222,7 +63222,7 @@
method public java.util.NavigableSet<E> tailSet(E);
}
- public class CopyOnWriteArrayList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class CopyOnWriteArrayList<E> implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public CopyOnWriteArrayList();
ctor public CopyOnWriteArrayList(java.util.Collection<? extends E>);
ctor public CopyOnWriteArrayList(E[]);
@@ -63254,10 +63254,10 @@
method public int size();
method public java.util.List<E> subList(int, int);
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
}
- public class CopyOnWriteArraySet extends java.util.AbstractSet implements java.io.Serializable {
+ public class CopyOnWriteArraySet<E> extends java.util.AbstractSet implements java.io.Serializable {
ctor public CopyOnWriteArraySet();
ctor public CopyOnWriteArraySet(java.util.Collection<? extends E>);
method public void forEach(java.util.function.Consumer<? super E>);
@@ -63275,7 +63275,7 @@
method public long getCount();
}
- public abstract class CountedCompleter extends java.util.concurrent.ForkJoinTask {
+ public abstract class CountedCompleter<T> extends java.util.concurrent.ForkJoinTask {
ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>, int);
ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>);
ctor protected CountedCompleter();
@@ -63312,7 +63312,7 @@
method public void reset();
}
- public class DelayQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue {
+ public class DelayQueue<E extends java.util.concurrent.Delayed> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue {
ctor public DelayQueue();
ctor public DelayQueue(java.util.Collection<? extends E>);
method public int drainTo(java.util.Collection<? super E>);
@@ -63333,7 +63333,7 @@
method public abstract long getDelay(java.util.concurrent.TimeUnit);
}
- public class Exchanger {
+ public class Exchanger<V> {
ctor public Exchanger();
method public V exchange(V) throws java.lang.InterruptedException;
method public V exchange(V, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
@@ -63350,7 +63350,7 @@
method public abstract void execute(java.lang.Runnable);
}
- public class ExecutorCompletionService implements java.util.concurrent.CompletionService {
+ public class ExecutorCompletionService<V> implements java.util.concurrent.CompletionService {
ctor public ExecutorCompletionService(java.util.concurrent.Executor);
ctor public ExecutorCompletionService(java.util.concurrent.Executor, java.util.concurrent.BlockingQueue<java.util.concurrent.Future<V>>);
method public java.util.concurrent.Future<V> poll();
@@ -63362,21 +63362,21 @@
public abstract interface ExecutorService implements java.util.concurrent.Executor {
method public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
- method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
- method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public abstract <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public abstract <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public abstract <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
method public abstract boolean isShutdown();
method public abstract boolean isTerminated();
method public abstract void shutdown();
method public abstract java.util.List<java.lang.Runnable> shutdownNow();
- method public abstract java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
- method public abstract java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public abstract <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ method public abstract <T> java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
method public abstract java.util.concurrent.Future<?> submit(java.lang.Runnable);
}
public class Executors {
- method public static java.util.concurrent.Callable<T> callable(java.lang.Runnable, T);
+ method public static <T> java.util.concurrent.Callable<T> callable(java.lang.Runnable, T);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.lang.Runnable);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedAction<?>);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedExceptionAction<?>);
@@ -63393,8 +63393,8 @@
method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory);
method public static java.util.concurrent.ExecutorService newWorkStealingPool(int);
method public static java.util.concurrent.ExecutorService newWorkStealingPool();
- method public static java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
- method public static java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
+ method public static <T> java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
+ method public static <T> java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
method public static java.util.concurrent.ThreadFactory privilegedThreadFactory();
method public static java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService);
method public static java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService);
@@ -63422,7 +63422,7 @@
method public long getStealCount();
method public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
method public boolean hasQueuedSubmissions();
- method public T invoke(java.util.concurrent.ForkJoinTask<T>);
+ method public <T> T invoke(java.util.concurrent.ForkJoinTask<T>);
method public boolean isQuiescent();
method public boolean isShutdown();
method public boolean isTerminated();
@@ -63431,7 +63431,7 @@
method protected java.util.concurrent.ForkJoinTask<?> pollSubmission();
method public void shutdown();
method public java.util.List<java.lang.Runnable> shutdownNow();
- method public java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
+ method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
field public static final java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory defaultForkJoinWorkerThreadFactory;
}
@@ -63444,11 +63444,11 @@
method public abstract boolean isReleasable();
}
- public abstract class ForkJoinTask implements java.util.concurrent.Future java.io.Serializable {
+ public abstract class ForkJoinTask<V> implements java.util.concurrent.Future java.io.Serializable {
ctor public ForkJoinTask();
method public static java.util.concurrent.ForkJoinTask<?> adapt(java.lang.Runnable);
- method public static java.util.concurrent.ForkJoinTask<T> adapt(java.lang.Runnable, T);
- method public static java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
+ method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.lang.Runnable, T);
+ method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
method public boolean cancel(boolean);
method public final boolean compareAndSetForkJoinTaskTag(short, short);
method public void complete(V);
@@ -63468,7 +63468,7 @@
method public final V invoke();
method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>, java.util.concurrent.ForkJoinTask<?>);
method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>...);
- method public static java.util.Collection<T> invokeAll(java.util.Collection<T>);
+ method public static <T extends java.util.concurrent.ForkJoinTask<?>> java.util.Collection<T> invokeAll(java.util.Collection<T>);
method public final boolean isCancelled();
method public final boolean isCompletedAbnormally();
method public final boolean isCompletedNormally();
@@ -63494,7 +63494,7 @@
method protected void onTermination(java.lang.Throwable);
}
- public abstract interface Future {
+ public abstract interface Future<V> {
method public abstract boolean cancel(boolean);
method public abstract V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
method public abstract V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
@@ -63502,7 +63502,7 @@
method public abstract boolean isDone();
}
- public class FutureTask implements java.util.concurrent.RunnableFuture {
+ public class FutureTask<V> implements java.util.concurrent.RunnableFuture {
ctor public FutureTask(java.util.concurrent.Callable<V>);
ctor public FutureTask(java.lang.Runnable, V);
method public boolean cancel(boolean);
@@ -63517,7 +63517,7 @@
method protected void setException(java.lang.Throwable);
}
- public class LinkedBlockingDeque extends java.util.AbstractQueue implements java.util.concurrent.BlockingDeque java.io.Serializable {
+ public class LinkedBlockingDeque<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingDeque java.io.Serializable {
ctor public LinkedBlockingDeque();
ctor public LinkedBlockingDeque(int);
ctor public LinkedBlockingDeque(java.util.Collection<? extends E>);
@@ -63561,7 +63561,7 @@
method public E takeLast() throws java.lang.InterruptedException;
}
- public class LinkedBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class LinkedBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public LinkedBlockingQueue();
ctor public LinkedBlockingQueue(int);
ctor public LinkedBlockingQueue(java.util.Collection<? extends E>);
@@ -63580,7 +63580,7 @@
method public E take() throws java.lang.InterruptedException;
}
- public class LinkedTransferQueue extends java.util.AbstractQueue implements java.io.Serializable java.util.concurrent.TransferQueue {
+ public class LinkedTransferQueue<E> extends java.util.AbstractQueue implements java.io.Serializable java.util.concurrent.TransferQueue {
ctor public LinkedTransferQueue();
ctor public LinkedTransferQueue(java.util.Collection<? extends E>);
method public int drainTo(java.util.Collection<? super E>);
@@ -63627,7 +63627,7 @@
method public int register();
}
- public class PriorityBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class PriorityBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public PriorityBlockingQueue();
ctor public PriorityBlockingQueue(int);
ctor public PriorityBlockingQueue(int, java.util.Comparator<? super E>);
@@ -63656,7 +63656,7 @@
method protected final void setRawResult(java.lang.Void);
}
- public abstract class RecursiveTask extends java.util.concurrent.ForkJoinTask {
+ public abstract class RecursiveTask<V> extends java.util.concurrent.ForkJoinTask {
ctor public RecursiveTask();
method protected abstract V compute();
method protected final boolean exec();
@@ -63675,22 +63675,22 @@
method public abstract void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
}
- public abstract interface RunnableFuture implements java.util.concurrent.Future java.lang.Runnable {
+ public abstract interface RunnableFuture<V> implements java.util.concurrent.Future java.lang.Runnable {
method public abstract void run();
}
- public abstract interface RunnableScheduledFuture implements java.util.concurrent.RunnableFuture java.util.concurrent.ScheduledFuture {
+ public abstract interface RunnableScheduledFuture<V> implements java.util.concurrent.RunnableFuture java.util.concurrent.ScheduledFuture {
method public abstract boolean isPeriodic();
}
public abstract interface ScheduledExecutorService implements java.util.concurrent.ExecutorService {
method public abstract java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
- method public abstract java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public abstract <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
method public abstract java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public abstract java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
}
- public abstract interface ScheduledFuture implements java.util.concurrent.Delayed java.util.concurrent.Future {
+ public abstract interface ScheduledFuture<V> implements java.util.concurrent.Delayed java.util.concurrent.Future {
}
public class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService {
@@ -63698,13 +63698,13 @@
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory);
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.RejectedExecutionHandler);
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
- method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
- method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
+ method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
+ method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
method public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
method public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
method public boolean getRemoveOnCancelPolicy();
method public java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
- method public java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean);
@@ -63734,7 +63734,7 @@
method public boolean tryAcquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
}
- public class SynchronousQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class SynchronousQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public SynchronousQueue();
ctor public SynchronousQueue(boolean);
method public int drainTo(java.util.Collection<? super E>);
@@ -63852,7 +63852,7 @@
ctor public TimeoutException(java.lang.String);
}
- public abstract interface TransferQueue implements java.util.concurrent.BlockingQueue {
+ public abstract interface TransferQueue<E> implements java.util.concurrent.BlockingQueue {
method public abstract int getWaitingConsumerCount();
method public abstract boolean hasWaitingConsumer();
method public abstract void transfer(E) throws java.lang.InterruptedException;
@@ -63922,7 +63922,7 @@
method public final boolean weakCompareAndSet(int, int, int);
}
- public abstract class AtomicIntegerFieldUpdater {
+ public abstract class AtomicIntegerFieldUpdater<T> {
ctor protected AtomicIntegerFieldUpdater();
method public final int accumulateAndGet(T, int, java.util.function.IntBinaryOperator);
method public int addAndGet(T, int);
@@ -63937,7 +63937,7 @@
method public final int getAndUpdate(T, java.util.function.IntUnaryOperator);
method public int incrementAndGet(T);
method public abstract void lazySet(T, int);
- method public static java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public static <U> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
method public abstract void set(T, int);
method public final int updateAndGet(T, java.util.function.IntUnaryOperator);
method public abstract boolean weakCompareAndSet(T, int, int);
@@ -63990,7 +63990,7 @@
method public final boolean weakCompareAndSet(int, long, long);
}
- public abstract class AtomicLongFieldUpdater {
+ public abstract class AtomicLongFieldUpdater<T> {
ctor protected AtomicLongFieldUpdater();
method public final long accumulateAndGet(T, long, java.util.function.LongBinaryOperator);
method public long addAndGet(T, long);
@@ -64005,13 +64005,13 @@
method public final long getAndUpdate(T, java.util.function.LongUnaryOperator);
method public long incrementAndGet(T);
method public abstract void lazySet(T, long);
- method public static java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public static <U> java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
method public abstract void set(T, long);
method public final long updateAndGet(T, java.util.function.LongUnaryOperator);
method public abstract boolean weakCompareAndSet(T, long, long);
}
- public class AtomicMarkableReference {
+ public class AtomicMarkableReference<V> {
ctor public AtomicMarkableReference(V, boolean);
method public boolean attemptMark(V, boolean);
method public boolean compareAndSet(V, V, boolean, boolean);
@@ -64022,7 +64022,7 @@
method public boolean weakCompareAndSet(V, V, boolean, boolean);
}
- public class AtomicReference implements java.io.Serializable {
+ public class AtomicReference<V> implements java.io.Serializable {
ctor public AtomicReference(V);
ctor public AtomicReference();
method public final V accumulateAndGet(V, java.util.function.BinaryOperator<V>);
@@ -64037,7 +64037,7 @@
method public final boolean weakCompareAndSet(V, V);
}
- public class AtomicReferenceArray implements java.io.Serializable {
+ public class AtomicReferenceArray<E> implements java.io.Serializable {
ctor public AtomicReferenceArray(int);
ctor public AtomicReferenceArray(E[]);
method public final E accumulateAndGet(int, E, java.util.function.BinaryOperator<E>);
@@ -64053,7 +64053,7 @@
method public final boolean weakCompareAndSet(int, E, E);
}
- public abstract class AtomicReferenceFieldUpdater {
+ public abstract class AtomicReferenceFieldUpdater<T, V> {
ctor protected AtomicReferenceFieldUpdater();
method public final V accumulateAndGet(T, V, java.util.function.BinaryOperator<V>);
method public abstract boolean compareAndSet(T, V, V);
@@ -64062,13 +64062,13 @@
method public V getAndSet(T, V);
method public final V getAndUpdate(T, java.util.function.UnaryOperator<V>);
method public abstract void lazySet(T, V);
- method public static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U, W> newUpdater(java.lang.Class<U>, java.lang.Class<W>, java.lang.String);
+ method public static <U, W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U, W> newUpdater(java.lang.Class<U>, java.lang.Class<W>, java.lang.String);
method public abstract void set(T, V);
method public final V updateAndGet(T, java.util.function.UnaryOperator<V>);
method public abstract boolean weakCompareAndSet(T, V, V);
}
- public class AtomicStampedReference {
+ public class AtomicStampedReference<V> {
ctor public AtomicStampedReference(V, int);
method public boolean attemptStamp(V, int);
method public boolean compareAndSet(V, V, int, int);
@@ -64371,33 +64371,33 @@
package java.util.function {
- public abstract interface BiConsumer {
+ public abstract interface BiConsumer<T, U> {
method public abstract void accept(T, U);
method public default java.util.function.BiConsumer<T, U> andThen(java.util.function.BiConsumer<? super T, ? super U>);
}
- public abstract interface BiFunction {
- method public default java.util.function.BiFunction<T, U, V> andThen(java.util.function.Function<? super R, ? extends V>);
+ public abstract interface BiFunction<T, U, R> {
+ method public default <V> java.util.function.BiFunction<T, U, V> andThen(java.util.function.Function<? super R, ? extends V>);
method public abstract R apply(T, U);
}
- public abstract interface BiPredicate {
+ public abstract interface BiPredicate<T, U> {
method public default java.util.function.BiPredicate<T, U> and(java.util.function.BiPredicate<? super T, ? super U>);
method public default java.util.function.BiPredicate<T, U> negate();
method public default java.util.function.BiPredicate<T, U> or(java.util.function.BiPredicate<? super T, ? super U>);
method public abstract boolean test(T, U);
}
- public abstract interface BinaryOperator implements java.util.function.BiFunction {
- method public static java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
- method public static java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
+ public abstract interface BinaryOperator<T> implements java.util.function.BiFunction {
+ method public static <T> java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
}
public abstract interface BooleanSupplier {
method public abstract boolean getAsBoolean();
}
- public abstract interface Consumer {
+ public abstract interface Consumer<T> {
method public abstract void accept(T);
method public default java.util.function.Consumer<T> andThen(java.util.function.Consumer<? super T>);
}
@@ -64411,7 +64411,7 @@
method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer);
}
- public abstract interface DoubleFunction {
+ public abstract interface DoubleFunction<R> {
method public abstract R apply(double);
}
@@ -64441,11 +64441,11 @@
method public static java.util.function.DoubleUnaryOperator identity();
}
- public abstract interface Function {
- method public default java.util.function.Function<T, V> andThen(java.util.function.Function<? super R, ? extends V>);
+ public abstract interface Function<T, R> {
+ method public default <V> java.util.function.Function<T, V> andThen(java.util.function.Function<? super R, ? extends V>);
method public abstract R apply(T);
- method public default java.util.function.Function<V, R> compose(java.util.function.Function<? super V, ? extends T>);
- method public static java.util.function.Function<T, T> identity();
+ method public default <V> java.util.function.Function<V, R> compose(java.util.function.Function<? super V, ? extends T>);
+ method public static <T> java.util.function.Function<T, T> identity();
}
public abstract interface IntBinaryOperator {
@@ -64457,7 +64457,7 @@
method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer);
}
- public abstract interface IntFunction {
+ public abstract interface IntFunction<R> {
method public abstract R apply(int);
}
@@ -64496,7 +64496,7 @@
method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer);
}
- public abstract interface LongFunction {
+ public abstract interface LongFunction<R> {
method public abstract R apply(long);
}
@@ -64526,56 +64526,56 @@
method public static java.util.function.LongUnaryOperator identity();
}
- public abstract interface ObjDoubleConsumer {
+ public abstract interface ObjDoubleConsumer<T> {
method public abstract void accept(T, double);
}
- public abstract interface ObjIntConsumer {
+ public abstract interface ObjIntConsumer<T> {
method public abstract void accept(T, int);
}
- public abstract interface ObjLongConsumer {
+ public abstract interface ObjLongConsumer<T> {
method public abstract void accept(T, long);
}
- public abstract interface Predicate {
+ public abstract interface Predicate<T> {
method public default java.util.function.Predicate<T> and(java.util.function.Predicate<? super T>);
- method public static java.util.function.Predicate<T> isEqual(java.lang.Object);
+ method public static <T> java.util.function.Predicate<T> isEqual(java.lang.Object);
method public default java.util.function.Predicate<T> negate();
method public default java.util.function.Predicate<T> or(java.util.function.Predicate<? super T>);
method public abstract boolean test(T);
}
- public abstract interface Supplier {
+ public abstract interface Supplier<T> {
method public abstract T get();
}
- public abstract interface ToDoubleBiFunction {
+ public abstract interface ToDoubleBiFunction<T, U> {
method public abstract double applyAsDouble(T, U);
}
- public abstract interface ToDoubleFunction {
+ public abstract interface ToDoubleFunction<T> {
method public abstract double applyAsDouble(T);
}
- public abstract interface ToIntBiFunction {
+ public abstract interface ToIntBiFunction<T, U> {
method public abstract int applyAsInt(T, U);
}
- public abstract interface ToIntFunction {
+ public abstract interface ToIntFunction<T> {
method public abstract int applyAsInt(T);
}
- public abstract interface ToLongBiFunction {
+ public abstract interface ToLongBiFunction<T, U> {
method public abstract long applyAsLong(T, U);
}
- public abstract interface ToLongFunction {
+ public abstract interface ToLongFunction<T> {
method public abstract long applyAsLong(T);
}
- public abstract interface UnaryOperator implements java.util.function.Function {
- method public static java.util.function.UnaryOperator<T> identity();
+ public abstract interface UnaryOperator<T> implements java.util.function.Function {
+ method public static <T> java.util.function.UnaryOperator<T> identity();
}
}
@@ -65163,7 +65163,7 @@
package java.util.stream {
- public abstract interface BaseStream implements java.lang.AutoCloseable {
+ public abstract interface BaseStream<T, S extends java.util.stream.BaseStream<T, S>> implements java.lang.AutoCloseable {
method public abstract void close();
method public abstract boolean isParallel();
method public abstract java.util.Iterator<T> iterator();
@@ -65174,13 +65174,13 @@
method public abstract S unordered();
}
- public abstract interface Collector {
+ public abstract interface Collector<T, A, R> {
method public abstract java.util.function.BiConsumer<A, T> accumulator();
method public abstract java.util.Set<java.util.stream.Collector.Characteristics> characteristics();
method public abstract java.util.function.BinaryOperator<A> combiner();
method public abstract java.util.function.Function<A, R> finisher();
- method public static java.util.stream.Collector<T, R, R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
- method public static java.util.stream.Collector<T, A, R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A, T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A, R>, java.util.stream.Collector.Characteristics...);
+ method public static <T, R> java.util.stream.Collector<T, R, R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
+ method public static <T, A, R> java.util.stream.Collector<T, A, R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A, T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A, R>, java.util.stream.Collector.Characteristics...);
method public abstract java.util.function.Supplier<A> supplier();
}
@@ -65193,43 +65193,43 @@
}
public final class Collectors {
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, A, RR> collectingAndThen(java.util.stream.Collector<T, A, R>, java.util.function.Function<R, RR>);
- method public static java.util.stream.Collector<T, ?, java.lang.Long> counting();
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, java.util.List<T>>> groupingBy(java.util.function.Function<? super T, ? extends K>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, D>> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, M> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, D>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, M> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, A, R, RR> java.util.stream.Collector<T, A, RR> collectingAndThen(java.util.stream.Collector<T, A, R>, java.util.function.Function<R, RR>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Long> counting();
+ method public static <T, K> java.util.stream.Collector<T, ?, java.util.Map<K, java.util.List<T>>> groupingBy(java.util.function.Function<? super T, ? extends K>);
+ method public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.Map<K, D>> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K, D, A, M extends java.util.Map<K, D>> java.util.stream.Collector<T, ?, M> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>);
+ method public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, D>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K, A, D, M extends java.util.concurrent.ConcurrentMap<K, D>> java.util.stream.Collector<T, ?, M> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining();
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence);
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence, java.lang.CharSequence, java.lang.CharSequence);
- method public static java.util.stream.Collector<T, ?, R> mapping(java.util.function.Function<? super T, ? extends U>, java.util.stream.Collector<? super U, A, R>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, T> reducing(T, java.util.function.BinaryOperator<T>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
- method public static java.util.stream.Collector<T, ?, U> reducing(U, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, C> toCollection(java.util.function.Supplier<C>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, M> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
- method public static java.util.stream.Collector<T, ?, java.util.List<T>> toList();
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, M> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
- method public static java.util.stream.Collector<T, ?, java.util.Set<T>> toSet();
+ method public static <T, U, A, R> java.util.stream.Collector<T, ?, R> mapping(java.util.function.Function<? super T, ? extends U>, java.util.stream.Collector<? super U, A, R>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
+ method public static <T, D, A> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T> java.util.stream.Collector<T, ?, T> reducing(T, java.util.function.BinaryOperator<T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
+ method public static <T, U> java.util.stream.Collector<T, ?, U> reducing(U, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, C extends java.util.Collection<T>> java.util.stream.Collector<T, ?, C> toCollection(java.util.function.Supplier<C>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T, K, U, M extends java.util.concurrent.ConcurrentMap<K, U>> java.util.stream.Collector<T, ?, M> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.List<T>> toList();
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T, K, U, M extends java.util.Map<K, U>> java.util.stream.Collector<T, ?, M> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Set<T>> toSet();
}
public abstract interface DoubleStream implements java.util.stream.BaseStream {
@@ -65238,7 +65238,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Double> boxed();
method public static java.util.stream.DoubleStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.DoubleStream concat(java.util.stream.DoubleStream, java.util.stream.DoubleStream);
method public abstract long count();
method public abstract java.util.stream.DoubleStream distinct();
@@ -65256,7 +65256,7 @@
method public abstract java.util.stream.DoubleStream map(java.util.function.DoubleUnaryOperator);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.DoubleToIntFunction);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.DoubleToLongFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
method public abstract java.util.OptionalDouble max();
method public abstract java.util.OptionalDouble min();
method public abstract boolean noneMatch(java.util.function.DoublePredicate);
@@ -65289,7 +65289,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Integer> boxed();
method public static java.util.stream.IntStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.IntStream concat(java.util.stream.IntStream, java.util.stream.IntStream);
method public abstract long count();
method public abstract java.util.stream.IntStream distinct();
@@ -65307,7 +65307,7 @@
method public abstract java.util.stream.IntStream map(java.util.function.IntUnaryOperator);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.IntToDoubleFunction);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.IntToLongFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
method public abstract java.util.OptionalInt max();
method public abstract java.util.OptionalInt min();
method public abstract boolean noneMatch(java.util.function.IntPredicate);
@@ -65341,7 +65341,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Long> boxed();
method public static java.util.stream.LongStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.LongStream concat(java.util.stream.LongStream, java.util.stream.LongStream);
method public abstract long count();
method public abstract java.util.stream.LongStream distinct();
@@ -65359,7 +65359,7 @@
method public abstract java.util.stream.LongStream map(java.util.function.LongUnaryOperator);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.LongToDoubleFunction);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.LongToIntFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
method public abstract java.util.OptionalLong max();
method public abstract java.util.OptionalLong min();
method public abstract boolean noneMatch(java.util.function.LongPredicate);
@@ -65386,49 +65386,49 @@
method public abstract java.util.stream.LongStream build();
}
- public abstract interface Stream implements java.util.stream.BaseStream {
+ public abstract interface Stream<T> implements java.util.stream.BaseStream {
method public abstract boolean allMatch(java.util.function.Predicate<? super T>);
method public abstract boolean anyMatch(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Stream.Builder<T> builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, ? super T>, java.util.function.BiConsumer<R, R>);
- method public abstract R collect(java.util.stream.Collector<? super T, A, R>);
- method public static java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
+ method public static <T> java.util.stream.Stream.Builder<T> builder();
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, ? super T>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R, A> R collect(java.util.stream.Collector<? super T, A, R>);
+ method public static <T> java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
method public abstract long count();
method public abstract java.util.stream.Stream<T> distinct();
- method public static java.util.stream.Stream<T> empty();
+ method public static <T> java.util.stream.Stream<T> empty();
method public abstract java.util.stream.Stream<T> filter(java.util.function.Predicate<? super T>);
method public abstract java.util.Optional<T> findAny();
method public abstract java.util.Optional<T> findFirst();
- method public abstract java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends R>>);
+ method public abstract <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends R>>);
method public abstract java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super T, ? extends java.util.stream.DoubleStream>);
method public abstract java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super T, ? extends java.util.stream.IntStream>);
method public abstract java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super T, ? extends java.util.stream.LongStream>);
method public abstract void forEach(java.util.function.Consumer<? super T>);
method public abstract void forEachOrdered(java.util.function.Consumer<? super T>);
- method public static java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
- method public static java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
+ method public static <T> java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
+ method public static <T> java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
method public abstract java.util.stream.Stream<T> limit(long);
- method public abstract java.util.stream.Stream<R> map(java.util.function.Function<? super T, ? extends R>);
+ method public abstract <R> java.util.stream.Stream<R> map(java.util.function.Function<? super T, ? extends R>);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super T>);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super T>);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super T>);
method public abstract java.util.Optional<T> max(java.util.Comparator<? super T>);
method public abstract java.util.Optional<T> min(java.util.Comparator<? super T>);
method public abstract boolean noneMatch(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Stream<T> of(T);
- method public static java.util.stream.Stream<T> of(T...);
+ method public static <T> java.util.stream.Stream<T> of(T);
+ method public static <T> java.util.stream.Stream<T> of(T...);
method public abstract java.util.stream.Stream<T> peek(java.util.function.Consumer<? super T>);
method public abstract T reduce(T, java.util.function.BinaryOperator<T>);
method public abstract java.util.Optional<T> reduce(java.util.function.BinaryOperator<T>);
- method public abstract U reduce(U, java.util.function.BiFunction<U, ? super T, U>, java.util.function.BinaryOperator<U>);
+ method public abstract <U> U reduce(U, java.util.function.BiFunction<U, ? super T, U>, java.util.function.BinaryOperator<U>);
method public abstract java.util.stream.Stream<T> skip(long);
method public abstract java.util.stream.Stream<T> sorted();
method public abstract java.util.stream.Stream<T> sorted(java.util.Comparator<? super T>);
method public abstract java.lang.Object[] toArray();
- method public abstract A[] toArray(java.util.function.IntFunction<A[]>);
+ method public abstract <A> A[] toArray(java.util.function.IntFunction<A[]>);
}
- public static abstract interface Stream.Builder implements java.util.function.Consumer {
+ public static abstract interface Stream.Builder<T> implements java.util.function.Consumer {
method public abstract void accept(T);
method public default java.util.stream.Stream.Builder<T> add(T);
method public abstract java.util.stream.Stream<T> build();
@@ -65441,8 +65441,8 @@
method public static java.util.stream.IntStream intStream(java.util.function.Supplier<? extends java.util.Spliterator.OfInt>, int, boolean);
method public static java.util.stream.LongStream longStream(java.util.Spliterator.OfLong, boolean);
method public static java.util.stream.LongStream longStream(java.util.function.Supplier<? extends java.util.Spliterator.OfLong>, int, boolean);
- method public static java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
- method public static java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
+ method public static <T> java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
+ method public static <T> java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
}
}
@@ -67613,16 +67613,16 @@
public final class Subject implements java.io.Serializable {
ctor public Subject();
ctor public Subject(boolean, java.util.Set<? extends java.security.Principal>, java.util.Set<?>, java.util.Set<?>);
- method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
- method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
- method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
- method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
+ method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
method public java.util.Set<java.security.Principal> getPrincipals();
- method public java.util.Set<T> getPrincipals(java.lang.Class<T>);
+ method public <T extends java.security.Principal> java.util.Set<T> getPrincipals(java.lang.Class<T>);
method public java.util.Set<java.lang.Object> getPrivateCredentials();
- method public java.util.Set<T> getPrivateCredentials(java.lang.Class<T>);
+ method public <T> java.util.Set<T> getPrivateCredentials(java.lang.Class<T>);
method public java.util.Set<java.lang.Object> getPublicCredentials();
- method public java.util.Set<T> getPublicCredentials(java.lang.Class<T>);
+ method public <T> java.util.Set<T> getPublicCredentials(java.lang.Class<T>);
method public static javax.security.auth.Subject getSubject(java.security.AccessControlContext);
method public boolean isReadOnly();
method public void setReadOnly();
diff --git a/api/test-current.txt b/api/test-current.txt
index 13474c9..17bd2c7 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -2906,11 +2906,11 @@
field public static final java.lang.String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
}
- public abstract interface AccountManagerCallback {
+ public abstract interface AccountManagerCallback<V> {
method public abstract void run(android.accounts.AccountManagerFuture<V>);
}
- public abstract interface AccountManagerFuture {
+ public abstract interface AccountManagerFuture<V> {
method public abstract boolean cancel(boolean);
method public abstract V getResult() throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
method public abstract V getResult(long, java.util.concurrent.TimeUnit) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
@@ -3056,7 +3056,7 @@
method public java.lang.Object evaluate(float, java.lang.Object, java.lang.Object);
}
- public abstract class BidirectionalTypeConverter extends android.animation.TypeConverter {
+ public abstract class BidirectionalTypeConverter<T, V> extends android.animation.TypeConverter {
ctor public BidirectionalTypeConverter(java.lang.Class<T>, java.lang.Class<V>);
method public abstract T convertBack(V);
method public android.animation.BidirectionalTypeConverter<V, T> invert();
@@ -3148,26 +3148,26 @@
method public java.lang.String getPropertyName();
method public java.lang.Object getTarget();
method public static android.animation.ObjectAnimator ofArgb(java.lang.Object, java.lang.String, int...);
- method public static android.animation.ObjectAnimator ofArgb(T, android.util.Property<T, java.lang.Integer>, int...);
+ method public static <T> android.animation.ObjectAnimator ofArgb(T, android.util.Property<T, java.lang.Integer>, int...);
method public static android.animation.ObjectAnimator ofFloat(java.lang.Object, java.lang.String, float...);
method public static android.animation.ObjectAnimator ofFloat(java.lang.Object, java.lang.String, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, float...);
- method public static android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, android.util.Property<T, java.lang.Float>, android.graphics.Path);
+ method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, float...);
+ method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, android.util.Property<T, java.lang.Float>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofInt(java.lang.Object, java.lang.String, int...);
method public static android.animation.ObjectAnimator ofInt(java.lang.Object, java.lang.String, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, int...);
- method public static android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, android.util.Property<T, java.lang.Integer>, android.graphics.Path);
+ method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, int...);
+ method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, android.util.Property<T, java.lang.Integer>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, float[][]);
method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, T...);
+ method public static <T> android.animation.ObjectAnimator ofMultiFloat(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, T...);
method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, int[][]);
method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, T...);
+ method public static <T> android.animation.ObjectAnimator ofMultiInt(java.lang.Object, java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, T...);
method public static android.animation.ObjectAnimator ofObject(java.lang.Object, java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
method public static android.animation.ObjectAnimator ofObject(java.lang.Object, java.lang.String, android.animation.TypeConverter<android.graphics.PointF, ?>, android.graphics.Path);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, P>, android.animation.TypeConverter<V, P>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
+ method public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V, P> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, P>, android.animation.TypeConverter<V, P>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
method public static android.animation.ObjectAnimator ofPropertyValuesHolder(java.lang.Object, android.animation.PropertyValuesHolder...);
method public void setAutoCancel(boolean);
method public void setProperty(android.util.Property);
@@ -3191,17 +3191,17 @@
method public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, float[][]);
method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<V, float[]>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+ method public static <V> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<V, float[]>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, int[][]);
method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<V, int[]>, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+ method public static <V> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<V, int[]>, android.animation.TypeEvaluator<V>, V...);
+ method public static <T> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
method public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
method public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeConverter<android.graphics.PointF, ?>, android.graphics.Path);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<T, V>, android.animation.TypeEvaluator<T>, T...);
- method public static android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
+ method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
+ method public static <T, V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<T, V>, android.animation.TypeEvaluator<T>, T...);
+ method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
method public void setConverter(android.animation.TypeConverter);
method public void setEvaluator(android.animation.TypeEvaluator);
method public void setFloatValues(float...);
@@ -3238,12 +3238,12 @@
method public abstract float getInterpolation(float);
}
- public abstract class TypeConverter {
+ public abstract class TypeConverter<T, V> {
ctor public TypeConverter(java.lang.Class<T>, java.lang.Class<V>);
method public abstract V convert(T);
}
- public abstract interface TypeEvaluator {
+ public abstract interface TypeEvaluator<T> {
method public abstract T evaluate(float, T, T);
}
@@ -4574,7 +4574,7 @@
method public android.os.Parcelable saveAllState();
}
- public abstract class FragmentHostCallback extends android.app.FragmentContainer {
+ public abstract class FragmentHostCallback<E> extends android.app.FragmentContainer {
ctor public FragmentHostCallback(android.content.Context, android.os.Handler, int);
method public void onAttachFragment(android.app.Fragment);
method public void onDump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
@@ -4841,12 +4841,12 @@
method public abstract void destroyLoader(int);
method public abstract void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
method public static void enableDebugLogging(boolean);
- method public abstract android.content.Loader<D> getLoader(int);
- method public abstract android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
- method public abstract android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ method public abstract <D> android.content.Loader<D> getLoader(int);
+ method public abstract <D> android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ method public abstract <D> android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
}
- public static abstract interface LoaderManager.LoaderCallbacks {
+ public static abstract interface LoaderManager.LoaderCallbacks<D> {
method public abstract android.content.Loader<D> onCreateLoader(int, android.os.Bundle);
method public abstract void onLoadFinished(android.content.Loader<D>, D);
method public abstract void onLoaderReset(android.content.Loader<D>);
@@ -7638,7 +7638,7 @@
ctor public AsyncQueryHandler.WorkerHandler(android.os.Looper);
}
- public abstract class AsyncTaskLoader extends android.content.Loader {
+ public abstract class AsyncTaskLoader<D> extends android.content.Loader {
ctor public AsyncTaskLoader(android.content.Context);
method public void cancelLoadInBackground();
method public boolean isLoadInBackgroundCanceled();
@@ -7820,7 +7820,7 @@
method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String, android.os.CancellationSignal) throws java.io.FileNotFoundException;
method protected final android.os.ParcelFileDescriptor openFileHelper(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
- method public android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
+ method public <T> android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle) throws java.io.FileNotFoundException;
method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException;
method public abstract android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
@@ -7833,7 +7833,7 @@
method public abstract int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
}
- public static abstract interface ContentProvider.PipeDataWriter {
+ public static abstract interface ContentProvider.PipeDataWriter<T> {
method public abstract void writeDataToPipe(android.os.ParcelFileDescriptor, android.net.Uri, java.lang.String, android.os.Bundle, T);
}
@@ -8105,7 +8105,7 @@
method public final java.lang.String getString(int);
method public final java.lang.String getString(int, java.lang.Object...);
method public abstract java.lang.Object getSystemService(java.lang.String);
- method public final T getSystemService(java.lang.Class<T>);
+ method public final <T> T getSystemService(java.lang.Class<T>);
method public abstract java.lang.String getSystemServiceName(java.lang.Class<?>);
method public final java.lang.CharSequence getText(int);
method public abstract android.content.res.Resources.Theme getTheme();
@@ -8462,8 +8462,8 @@
method public long getLongExtra(java.lang.String, long);
method public java.lang.String getPackage();
method public android.os.Parcelable[] getParcelableArrayExtra(java.lang.String);
- method public java.util.ArrayList<T> getParcelableArrayListExtra(java.lang.String);
- method public T getParcelableExtra(java.lang.String);
+ method public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayListExtra(java.lang.String);
+ method public <T extends android.os.Parcelable> T getParcelableExtra(java.lang.String);
method public java.lang.String getScheme();
method public android.content.Intent getSelector();
method public java.io.Serializable getSerializableExtra(java.lang.String);
@@ -8938,7 +8938,7 @@
ctor public IntentSender.SendIntentException(java.lang.Exception);
}
- public class Loader {
+ public class Loader<D> {
ctor public Loader(android.content.Context);
method public void abandon();
method public boolean cancelLoad();
@@ -8975,11 +8975,11 @@
ctor public Loader.ForceLoadContentObserver();
}
- public static abstract interface Loader.OnLoadCanceledListener {
+ public static abstract interface Loader.OnLoadCanceledListener<D> {
method public abstract void onLoadCanceled(android.content.Loader<D>);
}
- public static abstract interface Loader.OnLoadCompleteListener {
+ public static abstract interface Loader.OnLoadCompleteListener<D> {
method public abstract void onLoadComplete(android.content.Loader<D>, D);
}
@@ -10856,7 +10856,7 @@
method public boolean isNull(int);
}
- public abstract class Observable {
+ public abstract class Observable<T> {
ctor public Observable();
method public void registerObserver(T);
method public void unregisterAll();
@@ -12746,7 +12746,7 @@
public class AnimatedStateListDrawable extends android.graphics.drawable.StateListDrawable {
ctor public AnimatedStateListDrawable();
method public void addState(int[], android.graphics.drawable.Drawable, int);
- method public void addTransition(int, int, T, boolean);
+ method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, T, boolean);
}
public class AnimatedVectorDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
@@ -13870,7 +13870,7 @@
}
public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata {
- method public T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
+ method public <T> T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableCaptureRequestKeys();
method public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getAvailableCaptureResultKeys();
field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
@@ -13955,7 +13955,7 @@
field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> TONEMAP_MAX_CURVE_POINTS;
}
- public static final class CameraCharacteristics.Key {
+ public static final class CameraCharacteristics.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
@@ -14020,7 +14020,7 @@
method public void onTorchModeUnavailable(java.lang.String);
}
- public abstract class CameraMetadata {
+ public abstract class CameraMetadata<TKey> {
method public java.util.List<TKey> getKeys();
field public static final int COLOR_CORRECTION_ABERRATION_MODE_FAST = 1; // 0x1
field public static final int COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY = 2; // 0x2
@@ -14228,7 +14228,7 @@
public final class CaptureRequest extends android.hardware.camera2.CameraMetadata implements android.os.Parcelable {
method public int describeContents();
- method public T get(android.hardware.camera2.CaptureRequest.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
method public java.lang.Object getTag();
method public boolean isReprocess();
method public void writeToParcel(android.os.Parcel, int);
@@ -14291,20 +14291,20 @@
public static final class CaptureRequest.Builder {
method public void addTarget(android.view.Surface);
method public android.hardware.camera2.CaptureRequest build();
- method public T get(android.hardware.camera2.CaptureRequest.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
method public void removeTarget(android.view.Surface);
- method public void set(android.hardware.camera2.CaptureRequest.Key<T>, T);
+ method public <T> void set(android.hardware.camera2.CaptureRequest.Key<T>, T);
method public void setTag(java.lang.Object);
}
- public static final class CaptureRequest.Key {
+ public static final class CaptureRequest.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
}
public class CaptureResult extends android.hardware.camera2.CameraMetadata {
- method public T get(android.hardware.camera2.CaptureResult.Key<T>);
+ method public <T> T get(android.hardware.camera2.CaptureResult.Key<T>);
method public long getFrameNumber();
method public android.hardware.camera2.CaptureRequest getRequest();
method public int getSequenceId();
@@ -14385,7 +14385,7 @@
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
}
- public static final class CaptureResult.Key {
+ public static final class CaptureResult.Key<T> {
method public final boolean equals(java.lang.Object);
method public java.lang.String getName();
method public final int hashCode();
@@ -14510,14 +14510,14 @@
method public android.util.Size[] getInputSizes(int);
method public final int[] getOutputFormats();
method public long getOutputMinFrameDuration(int, android.util.Size);
- method public long getOutputMinFrameDuration(java.lang.Class<T>, android.util.Size);
- method public android.util.Size[] getOutputSizes(java.lang.Class<T>);
+ method public <T> long getOutputMinFrameDuration(java.lang.Class<T>, android.util.Size);
+ method public <T> android.util.Size[] getOutputSizes(java.lang.Class<T>);
method public android.util.Size[] getOutputSizes(int);
method public long getOutputStallDuration(int, android.util.Size);
- method public long getOutputStallDuration(java.lang.Class<T>, android.util.Size);
+ method public <T> long getOutputStallDuration(java.lang.Class<T>, android.util.Size);
method public final int[] getValidOutputFormatsForInput(int);
method public boolean isOutputSupportedFor(int);
- method public static boolean isOutputSupportedFor(java.lang.Class<T>);
+ method public static <T> boolean isOutputSupportedFor(java.lang.Class<T>);
method public boolean isOutputSupportedFor(android.view.Surface);
}
@@ -16218,7 +16218,7 @@
package android.icu.text {
- public final class AlphabeticIndex implements java.lang.Iterable {
+ public final class AlphabeticIndex<V> implements java.lang.Iterable {
ctor public AlphabeticIndex(android.icu.util.ULocale);
ctor public AlphabeticIndex(java.util.Locale);
ctor public AlphabeticIndex(android.icu.text.RuleBasedCollator);
@@ -16244,7 +16244,7 @@
method public android.icu.text.AlphabeticIndex<V> setUnderflowLabel(java.lang.String);
}
- public static class AlphabeticIndex.Bucket implements java.lang.Iterable {
+ public static class AlphabeticIndex.Bucket<V> implements java.lang.Iterable {
method public java.lang.String getLabel();
method public android.icu.text.AlphabeticIndex.Bucket.LabelType getLabelType();
method public java.util.Iterator<android.icu.text.AlphabeticIndex.Record<V>> iterator();
@@ -16260,14 +16260,14 @@
enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType UNDERFLOW;
}
- public static final class AlphabeticIndex.ImmutableIndex implements java.lang.Iterable {
+ public static final class AlphabeticIndex.ImmutableIndex<V> implements java.lang.Iterable {
method public android.icu.text.AlphabeticIndex.Bucket<V> getBucket(int);
method public int getBucketCount();
method public int getBucketIndex(java.lang.CharSequence);
method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
}
- public static class AlphabeticIndex.Record {
+ public static class AlphabeticIndex.Record<V> {
method public V getData();
method public java.lang.CharSequence getName();
}
@@ -17780,8 +17780,8 @@
method public final android.icu.text.UnicodeSet addAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet addAll(android.icu.text.UnicodeSet);
method public android.icu.text.UnicodeSet addAll(java.lang.Iterable<?>);
- method public android.icu.text.UnicodeSet addAll(T...);
- method public T addAllTo(T);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet addAll(T...);
+ method public <T extends java.util.Collection<java.lang.String>> T addAllTo(T);
method public void addMatchSetTo(android.icu.text.UnicodeSet);
method public android.icu.text.UnicodeSet applyIntPropertyValue(int, int);
method public final android.icu.text.UnicodeSet applyPattern(java.lang.String);
@@ -17809,15 +17809,15 @@
method public final boolean contains(java.lang.CharSequence);
method public boolean containsAll(android.icu.text.UnicodeSet);
method public boolean containsAll(java.lang.String);
- method public boolean containsAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> boolean containsAll(java.lang.Iterable<T>);
method public boolean containsNone(int, int);
method public boolean containsNone(android.icu.text.UnicodeSet);
method public boolean containsNone(java.lang.CharSequence);
- method public boolean containsNone(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> boolean containsNone(java.lang.Iterable<T>);
method public final boolean containsSome(int, int);
method public final boolean containsSome(android.icu.text.UnicodeSet);
method public final boolean containsSome(java.lang.CharSequence);
- method public final boolean containsSome(java.lang.Iterable<T>);
+ method public final <T extends java.lang.CharSequence> boolean containsSome(java.lang.Iterable<T>);
method public android.icu.text.UnicodeSet freeze();
method public static android.icu.text.UnicodeSet from(java.lang.CharSequence);
method public static android.icu.text.UnicodeSet fromAll(java.lang.CharSequence);
@@ -17835,14 +17835,14 @@
method public final android.icu.text.UnicodeSet remove(java.lang.CharSequence);
method public final android.icu.text.UnicodeSet removeAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet removeAll(android.icu.text.UnicodeSet);
- method public android.icu.text.UnicodeSet removeAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet removeAll(java.lang.Iterable<T>);
method public final android.icu.text.UnicodeSet removeAllStrings();
method public android.icu.text.UnicodeSet retain(int, int);
method public final android.icu.text.UnicodeSet retain(int);
method public final android.icu.text.UnicodeSet retain(java.lang.CharSequence);
method public final android.icu.text.UnicodeSet retainAll(java.lang.CharSequence);
method public android.icu.text.UnicodeSet retainAll(android.icu.text.UnicodeSet);
- method public android.icu.text.UnicodeSet retainAll(java.lang.Iterable<T>);
+ method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet retainAll(java.lang.Iterable<T>);
method public android.icu.text.UnicodeSet set(int, int);
method public android.icu.text.UnicodeSet set(android.icu.text.UnicodeSet);
method public int size();
@@ -18252,7 +18252,7 @@
method public long getToDate();
}
- public abstract interface Freezable implements java.lang.Cloneable {
+ public abstract interface Freezable<T> implements java.lang.Cloneable {
method public abstract T cloneAsThawed();
method public abstract T freeze();
method public abstract boolean isFrozen();
@@ -18534,7 +18534,7 @@
field public static final android.icu.util.TimeUnit YEAR;
}
- public class Output {
+ public class Output<T> {
ctor public Output();
ctor public Output(T);
field public T value;
@@ -28242,7 +28242,7 @@
package android.os {
- public abstract class AsyncTask {
+ public abstract class AsyncTask<Params, Progress, Result> {
ctor public AsyncTask();
method public final boolean cancel(boolean);
method protected abstract Result doInBackground(Params...);
@@ -28469,16 +28469,16 @@
method public float getFloat(java.lang.String, float);
method public float[] getFloatArray(java.lang.String);
method public java.util.ArrayList<java.lang.Integer> getIntegerArrayList(java.lang.String);
- method public T getParcelable(java.lang.String);
+ method public <T extends android.os.Parcelable> T getParcelable(java.lang.String);
method public android.os.Parcelable[] getParcelableArray(java.lang.String);
- method public java.util.ArrayList<T> getParcelableArrayList(java.lang.String);
+ method public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayList(java.lang.String);
method public java.io.Serializable getSerializable(java.lang.String);
method public short getShort(java.lang.String);
method public short getShort(java.lang.String, short);
method public short[] getShortArray(java.lang.String);
method public android.util.Size getSize(java.lang.String);
method public android.util.SizeF getSizeF(java.lang.String);
- method public android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
+ method public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
method public java.util.ArrayList<java.lang.String> getStringArrayList(java.lang.String);
method public boolean hasFileDescriptors();
method public void putAll(android.os.Bundle);
@@ -28983,8 +28983,8 @@
method public final long[] createLongArray();
method public final java.lang.String[] createStringArray();
method public final java.util.ArrayList<java.lang.String> createStringArrayList();
- method public final T[] createTypedArray(android.os.Parcelable.Creator<T>);
- method public final java.util.ArrayList<T> createTypedArrayList(android.os.Parcelable.Creator<T>);
+ method public final <T> T[] createTypedArray(android.os.Parcelable.Creator<T>);
+ method public final <T> java.util.ArrayList<T> createTypedArrayList(android.os.Parcelable.Creator<T>);
method public final int dataAvail();
method public final int dataCapacity();
method public final int dataPosition();
@@ -29017,7 +29017,7 @@
method public final long readLong();
method public final void readLongArray(long[]);
method public final void readMap(java.util.Map, java.lang.ClassLoader);
- method public final T readParcelable(java.lang.ClassLoader);
+ method public final <T extends android.os.Parcelable> T readParcelable(java.lang.ClassLoader);
method public final android.os.Parcelable[] readParcelableArray(java.lang.ClassLoader);
method public final android.os.PersistableBundle readPersistableBundle();
method public final android.os.PersistableBundle readPersistableBundle(java.lang.ClassLoader);
@@ -29030,9 +29030,9 @@
method public final void readStringArray(java.lang.String[]);
method public final void readStringList(java.util.List<java.lang.String>);
method public final android.os.IBinder readStrongBinder();
- method public final void readTypedArray(T[], android.os.Parcelable.Creator<T>);
- method public final void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
- method public final T readTypedObject(android.os.Parcelable.Creator<T>);
+ method public final <T> void readTypedArray(T[], android.os.Parcelable.Creator<T>);
+ method public final <T> void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
+ method public final <T> T readTypedObject(android.os.Parcelable.Creator<T>);
method public final java.lang.Object readValue(java.lang.ClassLoader);
method public final void recycle();
method public final void setDataCapacity(int);
@@ -29063,7 +29063,7 @@
method public final void writeMap(java.util.Map);
method public final void writeNoException();
method public final void writeParcelable(android.os.Parcelable, int);
- method public final void writeParcelableArray(T[], int);
+ method public final <T extends android.os.Parcelable> void writeParcelableArray(T[], int);
method public final void writePersistableBundle(android.os.PersistableBundle);
method public final void writeSerializable(java.io.Serializable);
method public final void writeSize(android.util.Size);
@@ -29075,9 +29075,9 @@
method public final void writeStringList(java.util.List<java.lang.String>);
method public final void writeStrongBinder(android.os.IBinder);
method public final void writeStrongInterface(android.os.IInterface);
- method public final void writeTypedArray(T[], int);
- method public final void writeTypedList(java.util.List<T>);
- method public final void writeTypedObject(T, int);
+ method public final <T extends android.os.Parcelable> void writeTypedArray(T[], int);
+ method public final <T extends android.os.Parcelable> void writeTypedList(java.util.List<T>);
+ method public final <T extends android.os.Parcelable> void writeTypedObject(T, int);
method public final void writeValue(java.lang.Object);
field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
}
@@ -29155,11 +29155,11 @@
field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1
}
- public static abstract interface Parcelable.ClassLoaderCreator implements android.os.Parcelable.Creator {
+ public static abstract interface Parcelable.ClassLoaderCreator<T> implements android.os.Parcelable.Creator {
method public abstract T createFromParcel(android.os.Parcel, java.lang.ClassLoader);
}
- public static abstract interface Parcelable.Creator {
+ public static abstract interface Parcelable.Creator<T> {
method public abstract T createFromParcel(android.os.Parcel);
method public abstract T[] newArray(int);
}
@@ -29274,7 +29274,7 @@
method public abstract void onProgress(int);
}
- public class RemoteCallbackList {
+ public class RemoteCallbackList<E extends android.os.IInterface> {
ctor public RemoteCallbackList();
method public int beginBroadcast();
method public void finishBroadcast();
@@ -34602,7 +34602,7 @@
field public static final java.lang.String SERVICE_INTERFACE = "android.service.carrier.CarrierMessagingService";
}
- public static abstract interface CarrierMessagingService.ResultCallback {
+ public static abstract interface CarrierMessagingService.ResultCallback<T> {
method public abstract void onReceiveResult(T) throws android.os.RemoteException;
}
@@ -34753,7 +34753,7 @@
field public static final java.lang.String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
}
- public class MediaBrowserService.Result {
+ public class MediaBrowserService.Result<T> {
method public void detach();
method public void sendResult(T);
}
@@ -37666,14 +37666,14 @@
package android.test {
- public abstract deprecated class ActivityInstrumentationTestCase extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityInstrumentationTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>);
ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>, boolean);
method public T getActivity();
method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
}
- public abstract deprecated class ActivityInstrumentationTestCase2 extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityInstrumentationTestCase2<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public deprecated ActivityInstrumentationTestCase2(java.lang.String, java.lang.Class<T>);
ctor public ActivityInstrumentationTestCase2(java.lang.Class<T>);
method public T getActivity();
@@ -37688,7 +37688,7 @@
method protected void setActivity(android.app.Activity);
}
- public abstract deprecated class ActivityUnitTestCase extends android.test.ActivityTestCase {
+ public abstract deprecated class ActivityUnitTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
ctor public ActivityUnitTestCase(java.lang.Class<T>);
method public T getActivity();
method public int getFinishedActivityRequest();
@@ -37734,7 +37734,7 @@
method public void testStarted(java.lang.String);
}
- public abstract deprecated class ApplicationTestCase extends android.test.AndroidTestCase {
+ public abstract deprecated class ApplicationTestCase<T extends android.app.Application> extends android.test.AndroidTestCase {
ctor public ApplicationTestCase(java.lang.Class<T>);
method protected final void createApplication();
method public T getApplication();
@@ -37760,8 +37760,8 @@
method public android.app.Instrumentation getInstrumentation();
method public deprecated void injectInsrumentation(android.app.Instrumentation);
method public void injectInstrumentation(android.app.Instrumentation);
- method public final T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
- method public final T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
+ method public final <T extends android.app.Activity> T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
+ method public final <T extends android.app.Activity> T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
method public void runTestOnUiThread(java.lang.Runnable) throws java.lang.Throwable;
method public void sendKeys(java.lang.String);
method public void sendKeys(int...);
@@ -37801,7 +37801,7 @@
public class LoaderTestCase extends android.test.AndroidTestCase {
ctor public LoaderTestCase();
- method public T getLoaderResultSynchronously(android.content.Loader<T>);
+ method public <T> T getLoaderResultSynchronously(android.content.Loader<T>);
}
public final deprecated class MoreAsserts {
@@ -37856,20 +37856,20 @@
method public abstract void startTiming(boolean);
}
- public abstract deprecated class ProviderTestCase extends android.test.InstrumentationTestCase {
+ public abstract deprecated class ProviderTestCase<T extends android.content.ContentProvider> extends android.test.InstrumentationTestCase {
ctor public ProviderTestCase(java.lang.Class<T>, java.lang.String);
method public android.test.mock.MockContentResolver getMockContentResolver();
method public android.test.IsolatedContext getMockContext();
method public T getProvider();
- method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
- public abstract class ProviderTestCase2 extends android.test.AndroidTestCase {
+ public abstract class ProviderTestCase2<T extends android.content.ContentProvider> extends android.test.AndroidTestCase {
ctor public ProviderTestCase2(java.lang.Class<T>, java.lang.String);
method public android.test.mock.MockContentResolver getMockContentResolver();
method public android.test.IsolatedContext getMockContext();
method public T getProvider();
- method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
public deprecated class RenamingDelegatingContext extends android.content.ContextWrapper {
@@ -37877,11 +37877,11 @@
ctor public RenamingDelegatingContext(android.content.Context, android.content.Context, java.lang.String);
method public java.lang.String getDatabasePrefix();
method public void makeExistingFilesAndDbsAccessible();
- method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
}
- public abstract deprecated class ServiceTestCase extends android.test.AndroidTestCase {
+ public abstract deprecated class ServiceTestCase<T extends android.app.Service> extends android.test.AndroidTestCase {
ctor public ServiceTestCase(java.lang.Class<T>);
method protected android.os.IBinder bindService(android.content.Intent);
method public android.app.Application getApplication();
@@ -37894,7 +37894,7 @@
method public void testServiceTestCaseSetUpProperly() throws java.lang.Exception;
}
- public abstract deprecated class SingleLaunchActivityTestCase extends android.test.InstrumentationTestCase {
+ public abstract deprecated class SingleLaunchActivityTestCase<T extends android.app.Activity> extends android.test.InstrumentationTestCase {
ctor public SingleLaunchActivityTestCase(java.lang.String, java.lang.Class<T>);
method public T getActivity();
method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
@@ -38251,7 +38251,7 @@
ctor public TestMethod(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>);
ctor public TestMethod(junit.framework.TestCase);
method public junit.framework.TestCase createTest() throws java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
- method public T getAnnotation(java.lang.Class<T>);
+ method public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public java.lang.Class<? extends junit.framework.TestCase> getEnclosingClass();
method public java.lang.String getEnclosingClassname();
method public java.lang.String getName();
@@ -38694,7 +38694,7 @@
method public int getSpanEnd(java.lang.Object);
method public int getSpanFlags(java.lang.Object);
method public int getSpanStart(java.lang.Object);
- method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public <T> T[] getSpans(int, int, java.lang.Class<T>);
method public deprecated int getTextRunCursor(int, int, int, int, int, android.graphics.Paint);
method public int getTextWatcherDepth();
method public android.text.SpannableStringBuilder insert(int, java.lang.CharSequence, int, int);
@@ -38716,7 +38716,7 @@
method public int getSpanEnd(java.lang.Object);
method public int getSpanFlags(java.lang.Object);
method public int getSpanStart(java.lang.Object);
- method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public <T> T[] getSpans(int, int, java.lang.Class<T>);
method public final int length();
method public int nextSpanTransition(int, int, java.lang.Class);
method public final java.lang.String toString();
@@ -38726,7 +38726,7 @@
method public abstract int getSpanEnd(java.lang.Object);
method public abstract int getSpanFlags(java.lang.Object);
method public abstract int getSpanStart(java.lang.Object);
- method public abstract T[] getSpans(int, int, java.lang.Class<T>);
+ method public abstract <T> T[] getSpans(int, int, java.lang.Class<T>);
method public abstract int nextSpanTransition(int, int, java.lang.Class);
field public static final int SPAN_COMPOSING = 256; // 0x100
field public static final int SPAN_EXCLUSIVE_EXCLUSIVE = 33; // 0x21
@@ -39703,7 +39703,7 @@
field public static final int WEEKDAY_WEDNESDAY = 4; // 0x4
}
- public static class TtsSpan.Builder {
+ public static class TtsSpan.Builder<C extends android.text.style.TtsSpan.Builder<?>> {
ctor public TtsSpan.Builder(java.lang.String);
method public android.text.style.TtsSpan build();
method public C setIntArgument(java.lang.String, int);
@@ -39799,7 +39799,7 @@
method public android.text.style.TtsSpan.OrdinalBuilder setNumber(java.lang.String);
}
- public static class TtsSpan.SemioticClassBuilder extends android.text.style.TtsSpan.Builder {
+ public static class TtsSpan.SemioticClassBuilder<C extends android.text.style.TtsSpan.SemioticClassBuilder<?>> extends android.text.style.TtsSpan.Builder {
ctor public TtsSpan.SemioticClassBuilder(java.lang.String);
method public C setAnimacy(java.lang.String);
method public C setCase(java.lang.String);
@@ -40206,7 +40206,7 @@
ctor public AndroidRuntimeException(java.lang.Exception);
}
- public final class ArrayMap implements java.util.Map {
+ public final class ArrayMap<K, V> implements java.util.Map {
ctor public ArrayMap();
ctor public ArrayMap(int);
ctor public ArrayMap(android.util.ArrayMap<K, V>);
@@ -40234,7 +40234,7 @@
method public java.util.Collection<V> values();
}
- public final class ArraySet implements java.util.Collection java.util.Set {
+ public final class ArraySet<E> implements java.util.Collection java.util.Set {
ctor public ArraySet();
ctor public ArraySet(int);
ctor public ArraySet(android.util.ArraySet<E>);
@@ -40255,7 +40255,7 @@
method public boolean retainAll(java.util.Collection<?>);
method public int size();
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
method public E valueAt(int);
}
@@ -40400,13 +40400,13 @@
public deprecated class FloatMath {
}
- public abstract class FloatProperty extends android.util.Property {
+ public abstract class FloatProperty<T> extends android.util.Property {
ctor public FloatProperty(java.lang.String);
method public final void set(T, java.lang.Float);
method public abstract void setValue(T, float);
}
- public abstract class IntProperty extends android.util.Property {
+ public abstract class IntProperty<T> extends android.util.Property {
ctor public IntProperty(java.lang.String);
method public final void set(T, java.lang.Integer);
method public abstract void setValue(T, int);
@@ -40506,7 +40506,7 @@
method public void println(java.lang.String);
}
- public class LongSparseArray implements java.lang.Cloneable {
+ public class LongSparseArray<E> implements java.lang.Cloneable {
ctor public LongSparseArray();
ctor public LongSparseArray(int);
method public void append(long, E);
@@ -40526,7 +40526,7 @@
method public E valueAt(int);
}
- public class LruCache {
+ public class LruCache<K, V> {
ctor public LruCache(int);
method protected V create(K);
method public final synchronized int createCount();
@@ -40614,9 +40614,9 @@
ctor public NoSuchPropertyException(java.lang.String);
}
- public class Pair {
+ public class Pair<F, S> {
ctor public Pair(F, S);
- method public static android.util.Pair<A, B> create(A, B);
+ method public static <A, B> android.util.Pair<A, B> create(A, B);
field public final F first;
field public final S second;
}
@@ -40649,22 +40649,22 @@
method public abstract void println(java.lang.String);
}
- public abstract class Property {
+ public abstract class Property<T, V> {
ctor public Property(java.lang.Class<V>, java.lang.String);
method public abstract V get(T);
method public java.lang.String getName();
method public java.lang.Class<V> getType();
method public boolean isReadOnly();
- method public static android.util.Property<T, V> of(java.lang.Class<T>, java.lang.Class<V>, java.lang.String);
+ method public static <T, V> android.util.Property<T, V> of(java.lang.Class<T>, java.lang.Class<V>, java.lang.String);
method public void set(T, V);
}
- public final class Range {
+ public final class Range<T extends java.lang.Comparable<? super T>> {
ctor public Range(T, T);
method public T clamp(T);
method public boolean contains(T);
method public boolean contains(android.util.Range<T>);
- method public static android.util.Range<T> create(T, T);
+ method public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> create(T, T);
method public android.util.Range<T> extend(android.util.Range<T>);
method public android.util.Range<T> extend(T, T);
method public android.util.Range<T> extend(T);
@@ -40708,7 +40708,7 @@
method public static android.util.SizeF parseSizeF(java.lang.String) throws java.lang.NumberFormatException;
}
- public class SparseArray implements java.lang.Cloneable {
+ public class SparseArray<E> implements java.lang.Cloneable {
ctor public SparseArray();
ctor public SparseArray(int);
method public void append(int, E);
@@ -45437,7 +45437,7 @@
method public static java.lang.String stripAnchor(java.lang.String);
}
- public abstract interface ValueCallback {
+ public abstract interface ValueCallback<T> {
method public abstract void onReceiveValue(T);
}
@@ -46171,7 +46171,7 @@
field public static final int NO_SELECTION = -2147483648; // 0x80000000
}
- public abstract class AdapterView extends android.view.ViewGroup {
+ public abstract class AdapterView<T extends android.widget.Adapter> extends android.view.ViewGroup {
ctor public AdapterView(android.content.Context);
ctor public AdapterView(android.content.Context, android.util.AttributeSet);
ctor public AdapterView(android.content.Context, android.util.AttributeSet, int);
@@ -46294,7 +46294,7 @@
ctor public AnalogClock(android.content.Context, android.util.AttributeSet, int, int);
}
- public class ArrayAdapter extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+ public class ArrayAdapter<T> extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
ctor public ArrayAdapter(android.content.Context, int);
ctor public ArrayAdapter(android.content.Context, int, int);
ctor public ArrayAdapter(android.content.Context, int, T[]);
@@ -46355,7 +46355,7 @@
method protected void performFiltering(java.lang.CharSequence, int);
method public void performValidation();
method protected void replaceText(java.lang.CharSequence);
- method public void setAdapter(T);
+ method public <T extends android.widget.ListAdapter & android.widget.Filterable> void setAdapter(T);
method public void setCompletionHint(java.lang.CharSequence);
method public void setDropDownAnchor(int);
method public void setDropDownBackgroundDrawable(android.graphics.drawable.Drawable);
@@ -48647,7 +48647,7 @@
package com.android.internal.util {
- public abstract interface Predicate {
+ public abstract interface Predicate<T> {
method public abstract boolean apply(T);
}
@@ -50694,13 +50694,13 @@
enum_constant public static final java.lang.Character.UnicodeScript YI;
}
- public final class Class implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
- method public java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
+ public final class Class<T> implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
+ method public <U> java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
method public T cast(java.lang.Object);
method public boolean desiredAssertionStatus();
method public static java.lang.Class<?> forName(java.lang.String) throws java.lang.ClassNotFoundException;
method public static java.lang.Class<?> forName(java.lang.String, boolean, java.lang.ClassLoader) throws java.lang.ClassNotFoundException;
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getAnnotations();
method public java.lang.String getCanonicalName();
method public java.lang.ClassLoader getClassLoader();
@@ -50817,7 +50817,7 @@
public abstract interface Cloneable {
}
- public abstract interface Comparable {
+ public abstract interface Comparable<T> {
method public abstract int compareTo(T);
}
@@ -50871,7 +50871,7 @@
field public static final java.lang.Class<java.lang.Double> TYPE;
}
- public abstract class Enum implements java.lang.Comparable java.io.Serializable {
+ public abstract class Enum<E extends java.lang.Enum<E>> implements java.lang.Comparable java.io.Serializable {
ctor protected Enum(java.lang.String, int);
method protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException;
method public final int compareTo(E);
@@ -50881,7 +50881,7 @@
method public final int hashCode();
method public final java.lang.String name();
method public final int ordinal();
- method public static T valueOf(java.lang.Class<T>, java.lang.String);
+ method public static <T extends java.lang.Enum<T>> T valueOf(java.lang.Class<T>, java.lang.String);
}
public class EnumConstantNotPresentException extends java.lang.RuntimeException {
@@ -51000,7 +51000,7 @@
ctor public IndexOutOfBoundsException(java.lang.String);
}
- public class InheritableThreadLocal extends java.lang.ThreadLocal {
+ public class InheritableThreadLocal<T> extends java.lang.ThreadLocal {
ctor public InheritableThreadLocal();
method protected T childValue(T);
}
@@ -51071,7 +51071,7 @@
ctor public InterruptedException(java.lang.String);
}
- public abstract interface Iterable {
+ public abstract interface Iterable<T> {
method public default void forEach(java.util.function.Consumer<? super T>);
method public abstract java.util.Iterator<T> iterator();
method public default java.util.Spliterator<T> spliterator();
@@ -51279,12 +51279,12 @@
}
public class Package implements java.lang.reflect.AnnotatedElement {
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getAnnotations();
- method public A[] getAnnotationsByType(java.lang.Class<A>);
- method public A getDeclaredAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(java.lang.Class<A>);
method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- method public A[] getDeclaredAnnotationsByType(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A[] getDeclaredAnnotationsByType(java.lang.Class<A>);
method public java.lang.String getImplementationTitle();
method public java.lang.String getImplementationVendor();
method public java.lang.String getImplementationVersion();
@@ -51844,7 +51844,7 @@
method public void uncaughtException(java.lang.Thread, java.lang.Throwable);
}
- public class ThreadLocal {
+ public class ThreadLocal<T> {
ctor public ThreadLocal();
method public T get();
method protected T initialValue();
@@ -51984,30 +51984,30 @@
package java.lang.ref {
- public class PhantomReference extends java.lang.ref.Reference {
+ public class PhantomReference<T> extends java.lang.ref.Reference {
ctor public PhantomReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
- public abstract class Reference {
+ public abstract class Reference<T> {
method public void clear();
method public boolean enqueue();
method public T get();
method public boolean isEnqueued();
}
- public class ReferenceQueue {
+ public class ReferenceQueue<T> {
ctor public ReferenceQueue();
method public java.lang.ref.Reference<? extends T> poll();
method public java.lang.ref.Reference<? extends T> remove(long) throws java.lang.IllegalArgumentException, java.lang.InterruptedException;
method public java.lang.ref.Reference<? extends T> remove() throws java.lang.InterruptedException;
}
- public class SoftReference extends java.lang.ref.Reference {
+ public class SoftReference<T> extends java.lang.ref.Reference {
ctor public SoftReference(T);
ctor public SoftReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
- public class WeakReference extends java.lang.ref.Reference {
+ public class WeakReference<T> extends java.lang.ref.Reference {
ctor public WeakReference(T);
ctor public WeakReference(T, java.lang.ref.ReferenceQueue<? super T>);
}
@@ -52018,7 +52018,7 @@
public class AccessibleObject implements java.lang.reflect.AnnotatedElement {
ctor protected AccessibleObject();
- method public T getAnnotation(java.lang.Class<T>);
+ method public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public java.lang.annotation.Annotation[] getAnnotations();
method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
method public boolean isAccessible();
@@ -52027,12 +52027,12 @@
}
public abstract interface AnnotatedElement {
- method public abstract T getAnnotation(java.lang.Class<T>);
+ method public abstract <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
method public abstract java.lang.annotation.Annotation[] getAnnotations();
- method public default T[] getAnnotationsByType(java.lang.Class<T>);
- method public default java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class<T>);
method public abstract java.lang.annotation.Annotation[] getDeclaredAnnotations();
- method public default T[] getDeclaredAnnotationsByType(java.lang.Class<T>);
+ method public default <T extends java.lang.annotation.Annotation> T[] getDeclaredAnnotationsByType(java.lang.Class<T>);
method public default boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
}
@@ -52060,8 +52060,8 @@
method public static void setShort(java.lang.Object, int, short) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
}
- public final class Constructor extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
- method public A getAnnotation(java.lang.Class<A>);
+ public final class Constructor<T> extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.Class<T> getDeclaringClass();
method public java.lang.Class<?>[] getExceptionTypes();
method public java.lang.reflect.Type[] getGenericExceptionTypes();
@@ -52080,7 +52080,7 @@
public final class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member {
method public java.lang.Object get(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public boolean getBoolean(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
method public byte getByte(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
method public char getChar(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
@@ -52146,7 +52146,7 @@
}
public final class Method extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
- method public A getAnnotation(java.lang.Class<A>);
+ method public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
method public java.lang.Class<?> getDeclaringClass();
method public java.lang.Object getDefaultValue();
method public java.lang.Class<?>[] getExceptionTypes();
@@ -52224,7 +52224,7 @@
public abstract interface Type {
}
- public abstract interface TypeVariable implements java.lang.reflect.Type {
+ public abstract interface TypeVariable<D extends java.lang.reflect.GenericDeclaration> implements java.lang.reflect.Type {
method public abstract java.lang.reflect.Type[] getBounds();
method public abstract D getGenericDeclaration();
method public abstract java.lang.String getName();
@@ -53013,7 +53013,7 @@
method public abstract java.net.SocketImpl createSocketImpl();
}
- public abstract interface SocketOption {
+ public abstract interface SocketOption<T> {
method public abstract java.lang.String name();
method public abstract java.lang.Class<T> type();
}
@@ -53597,7 +53597,7 @@
method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
method public abstract java.net.SocketAddress receive(java.nio.ByteBuffer) throws java.io.IOException;
method public abstract int send(java.nio.ByteBuffer, java.net.SocketAddress) throws java.io.IOException;
- method public abstract java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.net.DatagramSocket socket();
method public final int validOps();
method public abstract int write(java.nio.ByteBuffer) throws java.io.IOException;
@@ -53673,8 +53673,8 @@
public abstract interface NetworkChannel implements java.nio.channels.Channel {
method public abstract java.nio.channels.NetworkChannel bind(java.net.SocketAddress) throws java.io.IOException;
method public abstract java.net.SocketAddress getLocalAddress() throws java.io.IOException;
- method public abstract T getOption(java.net.SocketOption<T>) throws java.io.IOException;
- method public abstract java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.util.Set<java.net.SocketOption<?>> supportedOptions();
}
@@ -53791,7 +53791,7 @@
method public final java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException;
method public static java.nio.channels.ServerSocketChannel open() throws java.io.IOException;
- method public abstract java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.net.ServerSocket socket();
method public final int validOps();
}
@@ -53809,7 +53809,7 @@
method public abstract int read(java.nio.ByteBuffer) throws java.io.IOException;
method public abstract long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
- method public abstract java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+ method public abstract <T> java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
method public abstract java.nio.channels.SocketChannel shutdownInput() throws java.io.IOException;
method public abstract java.nio.channels.SocketChannel shutdownOutput() throws java.io.IOException;
method public abstract java.net.Socket socket();
@@ -54056,12 +54056,12 @@
public final class AccessController {
method public static void checkPermission(java.security.Permission) throws java.security.AccessControlException;
- method public static T doPrivileged(java.security.PrivilegedAction<T>);
- method public static T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
- method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
- method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
- method public static T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
- method public static T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivileged(java.security.PrivilegedAction<T>);
+ method public static <T> T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
+ method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
method public static java.security.AccessControlContext getContext();
}
@@ -54100,7 +54100,7 @@
method public static java.security.AlgorithmParameters getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
- method public final T getParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method public final <T extends java.security.spec.AlgorithmParameterSpec> T getParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
method public final java.security.Provider getProvider();
method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
method public final void init(byte[]) throws java.io.IOException;
@@ -54112,7 +54112,7 @@
ctor public AlgorithmParametersSpi();
method protected abstract byte[] engineGetEncoded() throws java.io.IOException;
method protected abstract byte[] engineGetEncoded(java.lang.String) throws java.io.IOException;
- method protected abstract T engineGetParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method protected abstract <T extends java.security.spec.AlgorithmParameterSpec> T engineGetParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
method protected abstract void engineInit(byte[]) throws java.io.IOException;
method protected abstract void engineInit(byte[], java.lang.String) throws java.io.IOException;
@@ -54297,7 +54297,7 @@
method public static java.security.KeyFactory getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
method public static java.security.KeyFactory getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
method public static java.security.KeyFactory getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
- method public final T getKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method public final <T extends java.security.spec.KeySpec> T getKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
method public final java.security.Provider getProvider();
method public final java.security.Key translateKey(java.security.Key) throws java.security.InvalidKeyException;
}
@@ -54306,7 +54306,7 @@
ctor public KeyFactorySpi();
method protected abstract java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
method protected abstract java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
- method protected abstract T engineGetKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
method protected abstract java.security.Key engineTranslateKey(java.security.Key) throws java.security.InvalidKeyException;
}
@@ -54575,7 +54575,7 @@
field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L
}
- public abstract interface PrivilegedAction {
+ public abstract interface PrivilegedAction<T> {
method public abstract T run();
}
@@ -54584,7 +54584,7 @@
method public java.lang.Exception getException();
}
- public abstract interface PrivilegedExceptionAction {
+ public abstract interface PrivilegedExceptionAction<T> {
method public abstract T run() throws java.lang.Exception;
}
@@ -56766,11 +56766,11 @@
method public abstract void free() throws java.sql.SQLException;
method public abstract java.io.InputStream getBinaryStream() throws java.sql.SQLException;
method public abstract java.io.Reader getCharacterStream() throws java.sql.SQLException;
- method public abstract T getSource(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T extends javax.xml.transform.Source> T getSource(java.lang.Class<T>) throws java.sql.SQLException;
method public abstract java.lang.String getString() throws java.sql.SQLException;
method public abstract java.io.OutputStream setBinaryStream() throws java.sql.SQLException;
method public abstract java.io.Writer setCharacterStream() throws java.sql.SQLException;
- method public abstract T setResult(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T extends javax.xml.transform.Result> T setResult(java.lang.Class<T>) throws java.sql.SQLException;
method public abstract void setString(java.lang.String) throws java.sql.SQLException;
}
@@ -56894,7 +56894,7 @@
public abstract interface Wrapper {
method public abstract boolean isWrapperFor(java.lang.Class<?>) throws java.sql.SQLException;
- method public abstract T unwrap(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract <T> T unwrap(java.lang.Class<T>) throws java.sql.SQLException;
}
}
@@ -57427,7 +57427,7 @@
package java.util {
- public abstract class AbstractCollection implements java.util.Collection {
+ public abstract class AbstractCollection<E> implements java.util.Collection {
ctor protected AbstractCollection();
method public boolean add(E);
method public boolean addAll(java.util.Collection<? extends E>);
@@ -57441,10 +57441,10 @@
method public boolean retainAll(java.util.Collection<?>);
method public abstract int size();
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
}
- public abstract class AbstractList extends java.util.AbstractCollection implements java.util.List {
+ public abstract class AbstractList<E> extends java.util.AbstractCollection implements java.util.List {
ctor protected AbstractList();
method public void add(int, E);
method public boolean addAll(int, java.util.Collection<? extends E>);
@@ -57461,7 +57461,7 @@
field protected transient int modCount;
}
- public abstract class AbstractMap implements java.util.Map {
+ public abstract class AbstractMap<K, V> implements java.util.Map {
ctor protected AbstractMap();
method public void clear();
method public boolean containsKey(java.lang.Object);
@@ -57477,7 +57477,7 @@
method public java.util.Collection<V> values();
}
- public static class AbstractMap.SimpleEntry implements java.util.Map.Entry java.io.Serializable {
+ public static class AbstractMap.SimpleEntry<K, V> implements java.util.Map.Entry java.io.Serializable {
ctor public AbstractMap.SimpleEntry(K, V);
ctor public AbstractMap.SimpleEntry(java.util.Map.Entry<? extends K, ? extends V>);
method public K getKey();
@@ -57485,7 +57485,7 @@
method public V setValue(V);
}
- public static class AbstractMap.SimpleImmutableEntry implements java.util.Map.Entry java.io.Serializable {
+ public static class AbstractMap.SimpleImmutableEntry<K, V> implements java.util.Map.Entry java.io.Serializable {
ctor public AbstractMap.SimpleImmutableEntry(K, V);
ctor public AbstractMap.SimpleImmutableEntry(java.util.Map.Entry<? extends K, ? extends V>);
method public K getKey();
@@ -57493,23 +57493,23 @@
method public V setValue(V);
}
- public abstract class AbstractQueue extends java.util.AbstractCollection implements java.util.Queue {
+ public abstract class AbstractQueue<E> extends java.util.AbstractCollection implements java.util.Queue {
ctor protected AbstractQueue();
method public E element();
method public E remove();
}
- public abstract class AbstractSequentialList extends java.util.AbstractList {
+ public abstract class AbstractSequentialList<E> extends java.util.AbstractList {
ctor protected AbstractSequentialList();
method public E get(int);
method public abstract java.util.ListIterator<E> listIterator(int);
}
- public abstract class AbstractSet extends java.util.AbstractCollection implements java.util.Set {
+ public abstract class AbstractSet<E> extends java.util.AbstractCollection implements java.util.Set {
ctor protected AbstractSet();
}
- public class ArrayDeque extends java.util.AbstractCollection implements java.lang.Cloneable java.util.Deque java.io.Serializable {
+ public class ArrayDeque<E> extends java.util.AbstractCollection implements java.lang.Cloneable java.util.Deque java.io.Serializable {
ctor public ArrayDeque();
ctor public ArrayDeque(int);
ctor public ArrayDeque(java.util.Collection<? extends E>);
@@ -57541,7 +57541,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class ArrayList extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class ArrayList<E> extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public ArrayList(int);
ctor public ArrayList();
ctor public ArrayList(java.util.Collection<? extends E>);
@@ -57558,7 +57558,7 @@
}
public class Arrays {
- method public static java.util.List<T> asList(T...);
+ method public static <T> java.util.List<T> asList(T...);
method public static int binarySearch(long[], long);
method public static int binarySearch(long[], int, int, long);
method public static int binarySearch(int[], int);
@@ -57575,10 +57575,10 @@
method public static int binarySearch(float[], int, int, float);
method public static int binarySearch(java.lang.Object[], java.lang.Object);
method public static int binarySearch(java.lang.Object[], int, int, java.lang.Object);
- method public static int binarySearch(T[], T, java.util.Comparator<? super T>);
- method public static int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
- method public static T[] copyOf(T[], int);
- method public static T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
+ method public static <T> int binarySearch(T[], T, java.util.Comparator<? super T>);
+ method public static <T> int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
+ method public static <T> T[] copyOf(T[], int);
+ method public static <T, U> T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
method public static byte[] copyOf(byte[], int);
method public static short[] copyOf(short[], int);
method public static int[] copyOf(int[], int);
@@ -57587,8 +57587,8 @@
method public static float[] copyOf(float[], int);
method public static double[] copyOf(double[], int);
method public static boolean[] copyOf(boolean[], int);
- method public static T[] copyOfRange(T[], int, int);
- method public static T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
+ method public static <T> T[] copyOfRange(T[], int, int);
+ method public static <T, U> T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
method public static byte[] copyOfRange(byte[], int, int);
method public static short[] copyOfRange(short[], int, int);
method public static int[] copyOfRange(int[], int, int);
@@ -57636,15 +57636,15 @@
method public static int hashCode(float[]);
method public static int hashCode(double[]);
method public static int hashCode(java.lang.Object[]);
- method public static void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
- method public static void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
+ method public static <T> void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
+ method public static <T> void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
method public static void parallelPrefix(long[], java.util.function.LongBinaryOperator);
method public static void parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator);
method public static void parallelPrefix(double[], java.util.function.DoubleBinaryOperator);
method public static void parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator);
method public static void parallelPrefix(int[], java.util.function.IntBinaryOperator);
method public static void parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator);
- method public static void parallelSetAll(T[], java.util.function.IntFunction<? extends T>);
+ method public static <T> void parallelSetAll(T[], java.util.function.IntFunction<? extends T>);
method public static void parallelSetAll(int[], java.util.function.IntUnaryOperator);
method public static void parallelSetAll(long[], java.util.function.IntToLongFunction);
method public static void parallelSetAll(double[], java.util.function.IntToDoubleFunction);
@@ -57662,11 +57662,11 @@
method public static void parallelSort(float[], int, int);
method public static void parallelSort(double[]);
method public static void parallelSort(double[], int, int);
- method public static void parallelSort(T[]);
- method public static void parallelSort(T[], int, int);
- method public static void parallelSort(T[], java.util.Comparator<? super T>);
- method public static void parallelSort(T[], int, int, java.util.Comparator<? super T>);
- method public static void setAll(T[], java.util.function.IntFunction<? extends T>);
+ method public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[]);
+ method public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[], int, int);
+ method public static <T> void parallelSort(T[], java.util.Comparator<? super T>);
+ method public static <T> void parallelSort(T[], int, int, java.util.Comparator<? super T>);
+ method public static <T> void setAll(T[], java.util.function.IntFunction<? extends T>);
method public static void setAll(int[], java.util.function.IntUnaryOperator);
method public static void setAll(long[], java.util.function.IntToLongFunction);
method public static void setAll(double[], java.util.function.IntToDoubleFunction);
@@ -57686,18 +57686,18 @@
method public static void sort(double[], int, int);
method public static void sort(java.lang.Object[]);
method public static void sort(java.lang.Object[], int, int);
- method public static void sort(T[], java.util.Comparator<? super T>);
- method public static void sort(T[], int, int, java.util.Comparator<? super T>);
- method public static java.util.Spliterator<T> spliterator(T[]);
- method public static java.util.Spliterator<T> spliterator(T[], int, int);
+ method public static <T> void sort(T[], java.util.Comparator<? super T>);
+ method public static <T> void sort(T[], int, int, java.util.Comparator<? super T>);
+ method public static <T> java.util.Spliterator<T> spliterator(T[]);
+ method public static <T> java.util.Spliterator<T> spliterator(T[], int, int);
method public static java.util.Spliterator.OfInt spliterator(int[]);
method public static java.util.Spliterator.OfInt spliterator(int[], int, int);
method public static java.util.Spliterator.OfLong spliterator(long[]);
method public static java.util.Spliterator.OfLong spliterator(long[], int, int);
method public static java.util.Spliterator.OfDouble spliterator(double[]);
method public static java.util.Spliterator.OfDouble spliterator(double[], int, int);
- method public static java.util.stream.Stream<T> stream(T[]);
- method public static java.util.stream.Stream<T> stream(T[], int, int);
+ method public static <T> java.util.stream.Stream<T> stream(T[]);
+ method public static <T> java.util.stream.Stream<T> stream(T[], int, int);
method public static java.util.stream.IntStream stream(int[]);
method public static java.util.stream.IntStream stream(int[], int, int);
method public static java.util.stream.LongStream stream(long[]);
@@ -57854,7 +57854,7 @@
field protected long time;
}
- public abstract interface Collection implements java.lang.Iterable {
+ public abstract interface Collection<E> implements java.lang.Iterable {
method public abstract boolean add(E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
method public abstract void clear();
@@ -57872,86 +57872,86 @@
method public abstract int size();
method public default java.util.stream.Stream<E> stream();
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
public class Collections {
- method public static boolean addAll(java.util.Collection<? super T>, T...);
- method public static java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
- method public static int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T);
- method public static int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
- method public static java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
- method public static java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
- method public static java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
- method public static java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
- method public static java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
- method public static java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
- method public static void copy(java.util.List<? super T>, java.util.List<? extends T>);
+ method public static <T> boolean addAll(java.util.Collection<? super T>, T...);
+ method public static <T> java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
+ method public static <T> int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T);
+ method public static <T> int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
+ method public static <E> java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
+ method public static <E> java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
+ method public static <K, V> java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static <E> java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
+ method public static <K, V> java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static <E> java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
+ method public static <T> void copy(java.util.List<? super T>, java.util.List<? extends T>);
method public static boolean disjoint(java.util.Collection<?>, java.util.Collection<?>);
- method public static java.util.Enumeration<T> emptyEnumeration();
- method public static java.util.Iterator<T> emptyIterator();
- method public static final java.util.List<T> emptyList();
- method public static java.util.ListIterator<T> emptyListIterator();
- method public static final java.util.Map<K, V> emptyMap();
- method public static final java.util.Set<T> emptySet();
- method public static java.util.Enumeration<T> enumeration(java.util.Collection<T>);
- method public static void fill(java.util.List<? super T>, T);
+ method public static <T> java.util.Enumeration<T> emptyEnumeration();
+ method public static <T> java.util.Iterator<T> emptyIterator();
+ method public static final <T> java.util.List<T> emptyList();
+ method public static <T> java.util.ListIterator<T> emptyListIterator();
+ method public static final <K, V> java.util.Map<K, V> emptyMap();
+ method public static final <T> java.util.Set<T> emptySet();
+ method public static <T> java.util.Enumeration<T> enumeration(java.util.Collection<T>);
+ method public static <T> void fill(java.util.List<? super T>, T);
method public static int frequency(java.util.Collection<?>, java.lang.Object);
method public static int indexOfSubList(java.util.List<?>, java.util.List<?>);
method public static int lastIndexOfSubList(java.util.List<?>, java.util.List<?>);
- method public static java.util.ArrayList<T> list(java.util.Enumeration<T>);
- method public static T max(java.util.Collection<? extends T>);
- method public static T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
- method public static T min(java.util.Collection<? extends T>);
- method public static T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
- method public static java.util.List<T> nCopies(int, T);
- method public static java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
- method public static boolean replaceAll(java.util.List<T>, T, T);
+ method public static <T> java.util.ArrayList<T> list(java.util.Enumeration<T>);
+ method public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T max(java.util.Collection<? extends T>);
+ method public static <T> T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T min(java.util.Collection<? extends T>);
+ method public static <T> T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static <T> java.util.List<T> nCopies(int, T);
+ method public static <E> java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
+ method public static <T> boolean replaceAll(java.util.List<T>, T, T);
method public static void reverse(java.util.List<?>);
- method public static java.util.Comparator<T> reverseOrder();
- method public static java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
+ method public static <T> java.util.Comparator<T> reverseOrder();
+ method public static <T> java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
method public static void rotate(java.util.List<?>, int);
method public static void shuffle(java.util.List<?>);
method public static void shuffle(java.util.List<?>, java.util.Random);
- method public static java.util.Set<E> singleton(E);
- method public static java.util.List<E> singletonList(E);
- method public static java.util.Map<K, V> singletonMap(K, V);
- method public static void sort(java.util.List<T>);
- method public static void sort(java.util.List<T>, java.util.Comparator<? super T>);
+ method public static <E> java.util.Set<E> singleton(E);
+ method public static <E> java.util.List<E> singletonList(E);
+ method public static <K, V> java.util.Map<K, V> singletonMap(K, V);
+ method public static <T extends java.lang.Comparable<? super T>> void sort(java.util.List<T>);
+ method public static <T> void sort(java.util.List<T>, java.util.Comparator<? super T>);
method public static void swap(java.util.List<?>, int, int);
- method public static java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
- method public static java.util.List<T> synchronizedList(java.util.List<T>);
- method public static java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
- method public static java.util.Set<T> synchronizedSet(java.util.Set<T>);
- method public static java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
- method public static java.util.SortedSet<T> synchronizedSortedSet(java.util.SortedSet<T>);
- method public static java.util.Collection<T> unmodifiableCollection(java.util.Collection<? extends T>);
- method public static java.util.List<T> unmodifiableList(java.util.List<? extends T>);
- method public static java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
- method public static java.util.Set<T> unmodifiableSet(java.util.Set<? extends T>);
- method public static java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
- method public static java.util.SortedSet<T> unmodifiableSortedSet(java.util.SortedSet<T>);
+ method public static <T> java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
+ method public static <T> java.util.List<T> synchronizedList(java.util.List<T>);
+ method public static <K, V> java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
+ method public static <T> java.util.Set<T> synchronizedSet(java.util.Set<T>);
+ method public static <K, V> java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
+ method public static <T> java.util.SortedSet<T> synchronizedSortedSet(java.util.SortedSet<T>);
+ method public static <T> java.util.Collection<T> unmodifiableCollection(java.util.Collection<? extends T>);
+ method public static <T> java.util.List<T> unmodifiableList(java.util.List<? extends T>);
+ method public static <K, V> java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
+ method public static <T> java.util.Set<T> unmodifiableSet(java.util.Set<? extends T>);
+ method public static <K, V> java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
+ method public static <T> java.util.SortedSet<T> unmodifiableSortedSet(java.util.SortedSet<T>);
field public static final java.util.List EMPTY_LIST;
field public static final java.util.Map EMPTY_MAP;
field public static final java.util.Set EMPTY_SET;
}
- public abstract interface Comparator {
+ public abstract interface Comparator<T> {
method public abstract int compare(T, T);
- method public static java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
- method public static java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>);
- method public static java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, U> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
+ method public static <T, U extends java.lang.Comparable<? super U>> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>);
+ method public static <T> java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
method public abstract boolean equals(java.lang.Object);
- method public static java.util.Comparator<T> naturalOrder();
- method public static java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
- method public static java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
- method public static java.util.Comparator<T> reverseOrder();
+ method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> naturalOrder();
+ method public static <T> java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
+ method public static <T> java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
+ method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> reverseOrder();
method public default java.util.Comparator<T> reversed();
method public default java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
- method public default java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
- method public default java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>);
+ method public default <U> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
+ method public default <U extends java.lang.Comparable<? super U>> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>);
method public default java.util.Comparator<T> thenComparingDouble(java.util.function.ToDoubleFunction<? super T>);
method public default java.util.Comparator<T> thenComparingInt(java.util.function.ToIntFunction<? super T>);
method public default java.util.Comparator<T> thenComparingLong(java.util.function.ToLongFunction<? super T>);
@@ -58010,7 +58010,7 @@
method public deprecated java.lang.String toLocaleString();
}
- public abstract interface Deque implements java.util.Queue {
+ public abstract interface Deque<E> implements java.util.Queue {
method public abstract boolean add(E);
method public abstract void addFirst(E);
method public abstract void addLast(E);
@@ -58040,7 +58040,7 @@
method public abstract int size();
}
- public abstract class Dictionary {
+ public abstract class Dictionary<K, V> {
ctor public Dictionary();
method public abstract java.util.Enumeration<V> elements();
method public abstract V get(java.lang.Object);
@@ -58071,7 +58071,7 @@
ctor public EmptyStackException();
}
- public class EnumMap extends java.util.AbstractMap implements java.lang.Cloneable java.io.Serializable {
+ public class EnumMap<K extends java.lang.Enum<K>, V> extends java.util.AbstractMap implements java.lang.Cloneable java.io.Serializable {
ctor public EnumMap(java.lang.Class<K>);
ctor public EnumMap(java.util.EnumMap<K, ? extends V>);
ctor public EnumMap(java.util.Map<K, ? extends V>);
@@ -58079,23 +58079,23 @@
method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
}
- public abstract class EnumSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable {
- method public static java.util.EnumSet<E> allOf(java.lang.Class<E>);
+ public abstract class EnumSet<E extends java.lang.Enum<E>> extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable {
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> allOf(java.lang.Class<E>);
method public java.util.EnumSet<E> clone();
- method public static java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
- method public static java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
- method public static java.util.EnumSet<E> copyOf(java.util.Collection<E>);
- method public static java.util.EnumSet<E> noneOf(java.lang.Class<E>);
- method public static java.util.EnumSet<E> of(E);
- method public static java.util.EnumSet<E> of(E, E);
- method public static java.util.EnumSet<E> of(E, E, E);
- method public static java.util.EnumSet<E> of(E, E, E, E);
- method public static java.util.EnumSet<E> of(E, E, E, E, E);
- method public static java.util.EnumSet<E> of(E, E...);
- method public static java.util.EnumSet<E> range(E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.Collection<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> noneOf(java.lang.Class<E>);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E, E);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E...);
+ method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> range(E, E);
}
- public abstract interface Enumeration {
+ public abstract interface Enumeration<E> {
method public abstract boolean hasMoreElements();
method public abstract E nextElement();
}
@@ -58103,7 +58103,7 @@
public abstract interface EventListener {
}
- public abstract class EventListenerProxy implements java.util.EventListener {
+ public abstract class EventListenerProxy<T extends java.util.EventListener> implements java.util.EventListener {
ctor public EventListenerProxy(T);
method public T getListener();
}
@@ -58189,7 +58189,7 @@
field public static final int BC = 0; // 0x0
}
- public class HashMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class HashMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public HashMap(int, float);
ctor public HashMap(int);
ctor public HashMap();
@@ -58201,7 +58201,7 @@
method public void replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>);
}
- public class HashSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ public class HashSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
ctor public HashSet();
ctor public HashSet(java.util.Collection<? extends E>);
ctor public HashSet(int, float);
@@ -58212,7 +58212,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class Hashtable extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class Hashtable<K, V> extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public Hashtable(int, float);
ctor public Hashtable(int);
ctor public Hashtable();
@@ -58247,7 +58247,7 @@
method public java.util.Collection<V> values();
}
- public class IdentityHashMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ public class IdentityHashMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
ctor public IdentityHashMap();
ctor public IdentityHashMap(int);
ctor public IdentityHashMap(java.util.Map<? extends K, ? extends V>);
@@ -58314,14 +58314,14 @@
ctor public InvalidPropertiesFormatException(java.lang.String);
}
- public abstract interface Iterator {
+ public abstract interface Iterator<E> {
method public default void forEachRemaining(java.util.function.Consumer<? super E>);
method public abstract boolean hasNext();
method public abstract E next();
method public default void remove();
}
- public class LinkedHashMap extends java.util.HashMap implements java.util.Map {
+ public class LinkedHashMap<K, V> extends java.util.HashMap implements java.util.Map {
ctor public LinkedHashMap(int, float);
ctor public LinkedHashMap(int);
ctor public LinkedHashMap();
@@ -58330,14 +58330,14 @@
method protected boolean removeEldestEntry(java.util.Map.Entry<K, V>);
}
- public class LinkedHashSet extends java.util.HashSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ public class LinkedHashSet<E> extends java.util.HashSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
ctor public LinkedHashSet(int, float);
ctor public LinkedHashSet(int);
ctor public LinkedHashSet();
ctor public LinkedHashSet(java.util.Collection<? extends E>);
}
- public class LinkedList extends java.util.AbstractSequentialList implements java.lang.Cloneable java.util.Deque java.util.List java.io.Serializable {
+ public class LinkedList<E> extends java.util.AbstractSequentialList implements java.lang.Cloneable java.util.Deque java.util.List java.io.Serializable {
ctor public LinkedList();
ctor public LinkedList(java.util.Collection<? extends E>);
method public void addFirst(E);
@@ -58368,7 +58368,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public abstract interface List implements java.util.Collection {
+ public abstract interface List<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract void add(int, E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
@@ -58395,10 +58395,10 @@
method public default void sort(java.util.Comparator<? super E>);
method public abstract java.util.List<E> subList(int, int);
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
- public abstract interface ListIterator implements java.util.Iterator {
+ public abstract interface ListIterator<E> implements java.util.Iterator {
method public abstract void add(E);
method public abstract boolean hasNext();
method public abstract boolean hasPrevious();
@@ -58515,7 +58515,7 @@
method public final long getSum();
}
- public abstract interface Map {
+ public abstract interface Map<K, V> {
method public abstract void clear();
method public default V compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>);
method public default V computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>);
@@ -58543,11 +58543,11 @@
method public abstract java.util.Collection<V> values();
}
- public static abstract interface Map.Entry {
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey();
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey(java.util.Comparator<? super K>);
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue();
- method public static java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue(java.util.Comparator<? super V>);
+ public static abstract interface Map.Entry<K, V> {
+ method public static <K extends java.lang.Comparable<? super K>, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey();
+ method public static <K, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByKey(java.util.Comparator<? super K>);
+ method public static <K, V extends java.lang.Comparable<? super V>> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue();
+ method public static <K, V> java.util.Comparator<java.util.Map.Entry<K, V>> comparingByValue(java.util.Comparator<? super V>);
method public abstract boolean equals(java.lang.Object);
method public abstract K getKey();
method public abstract V getValue();
@@ -58571,7 +58571,7 @@
method public java.lang.String getKey();
}
- public abstract interface NavigableMap implements java.util.SortedMap {
+ public abstract interface NavigableMap<K, V> implements java.util.SortedMap {
method public abstract java.util.Map.Entry<K, V> ceilingEntry(K);
method public abstract K ceilingKey(K);
method public abstract java.util.NavigableSet<K> descendingKeySet();
@@ -58595,7 +58595,7 @@
method public abstract java.util.SortedMap<K, V> tailMap(K);
}
- public abstract interface NavigableSet implements java.util.SortedSet {
+ public abstract interface NavigableSet<E> implements java.util.SortedSet {
method public abstract E ceiling(E);
method public abstract java.util.Iterator<E> descendingIterator();
method public abstract java.util.NavigableSet<E> descendingSet();
@@ -58619,16 +58619,16 @@
}
public final class Objects {
- method public static int compare(T, T, java.util.Comparator<? super T>);
+ method public static <T> int compare(T, T, java.util.Comparator<? super T>);
method public static boolean deepEquals(java.lang.Object, java.lang.Object);
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<java.lang.String>);
+ method public static <T> T requireNonNull(T);
+ method public static <T> T requireNonNull(T, java.lang.String);
+ method public static <T> T requireNonNull(T, java.util.function.Supplier<java.lang.String>);
method public static java.lang.String toString(java.lang.Object);
method public static java.lang.String toString(java.lang.Object, java.lang.String);
}
@@ -58650,19 +58650,19 @@
method public abstract void update(java.util.Observable, java.lang.Object);
}
- public final class Optional {
- method public static java.util.Optional<T> empty();
+ public final class Optional<T> {
+ method public static <T> java.util.Optional<T> empty();
method public java.util.Optional<T> filter(java.util.function.Predicate<? super T>);
- method public java.util.Optional<U> flatMap(java.util.function.Function<? super T, java.util.Optional<U>>);
+ method public <U> java.util.Optional<U> flatMap(java.util.function.Function<? super T, java.util.Optional<U>>);
method public T get();
method public void ifPresent(java.util.function.Consumer<? super T>);
method public boolean isPresent();
- method public java.util.Optional<U> map(java.util.function.Function<? super T, ? extends U>);
- method public static java.util.Optional<T> of(T);
- method public static java.util.Optional<T> ofNullable(T);
+ method public <U> java.util.Optional<U> map(java.util.function.Function<? super T, ? extends U>);
+ method public static <T> java.util.Optional<T> of(T);
+ method public static <T> java.util.Optional<T> ofNullable(T);
method public T orElse(T);
method public T orElseGet(java.util.function.Supplier<? extends T>);
- method public T orElseThrow(java.util.function.Supplier<? extends X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> T orElseThrow(java.util.function.Supplier<? extends X>) throws java.lang.Throwable;
}
public final class OptionalDouble {
@@ -58673,7 +58673,7 @@
method public static java.util.OptionalDouble of(double);
method public double orElse(double);
method public double orElseGet(java.util.function.DoubleSupplier);
- method public double orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> double orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
public final class OptionalInt {
@@ -58684,7 +58684,7 @@
method public static java.util.OptionalInt of(int);
method public int orElse(int);
method public int orElseGet(java.util.function.IntSupplier);
- method public int orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> int orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
public final class OptionalLong {
@@ -58695,10 +58695,10 @@
method public static java.util.OptionalLong of(long);
method public long orElse(long);
method public long orElseGet(java.util.function.LongSupplier);
- method public long orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
+ method public <X extends java.lang.Throwable> long orElseThrow(java.util.function.Supplier<X>) throws java.lang.Throwable;
}
- public abstract interface PrimitiveIterator implements java.util.Iterator {
+ public abstract interface PrimitiveIterator<T, T_CONS> implements java.util.Iterator {
method public abstract void forEachRemaining(T_CONS);
}
@@ -58723,7 +58723,7 @@
method public abstract long nextLong();
}
- public class PriorityQueue extends java.util.AbstractQueue implements java.io.Serializable {
+ public class PriorityQueue<E> extends java.util.AbstractQueue implements java.io.Serializable {
ctor public PriorityQueue();
ctor public PriorityQueue(int);
ctor public PriorityQueue(java.util.Comparator<? super E>);
@@ -58772,7 +58772,7 @@
method public java.lang.Object handleGetObject(java.lang.String);
}
- public abstract interface Queue implements java.util.Collection {
+ public abstract interface Queue<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract E element();
method public abstract boolean offer(E);
@@ -58922,15 +58922,15 @@
ctor public ServiceConfigurationError(java.lang.String, java.lang.Throwable);
}
- public final class ServiceLoader implements java.lang.Iterable {
+ public final class ServiceLoader<S> implements java.lang.Iterable {
method public java.util.Iterator<S> iterator();
- method public static java.util.ServiceLoader<S> load(java.lang.Class<S>, java.lang.ClassLoader);
- method public static java.util.ServiceLoader<S> load(java.lang.Class<S>);
- method public static java.util.ServiceLoader<S> loadInstalled(java.lang.Class<S>);
+ method public static <S> java.util.ServiceLoader<S> load(java.lang.Class<S>, java.lang.ClassLoader);
+ method public static <S> java.util.ServiceLoader<S> load(java.lang.Class<S>);
+ method public static <S> java.util.ServiceLoader<S> loadInstalled(java.lang.Class<S>);
method public void reload();
}
- public abstract interface Set implements java.util.Collection {
+ public abstract interface Set<E> implements java.util.Collection {
method public abstract boolean add(E);
method public abstract boolean addAll(java.util.Collection<? extends E>);
method public abstract void clear();
@@ -58945,7 +58945,7 @@
method public abstract boolean retainAll(java.util.Collection<?>);
method public abstract int size();
method public abstract java.lang.Object[] toArray();
- method public abstract T[] toArray(T[]);
+ method public abstract <T> T[] toArray(T[]);
}
public class SimpleTimeZone extends java.util.TimeZone {
@@ -58971,7 +58971,7 @@
field public static final int WALL_TIME = 0; // 0x0
}
- public abstract interface SortedMap implements java.util.Map {
+ public abstract interface SortedMap<K, V> implements java.util.Map {
method public abstract java.util.Comparator<? super K> comparator();
method public abstract java.util.Set<java.util.Map.Entry<K, V>> entrySet();
method public abstract K firstKey();
@@ -58983,7 +58983,7 @@
method public abstract java.util.Collection<V> values();
}
- public abstract interface SortedSet implements java.util.Set {
+ public abstract interface SortedSet<E> implements java.util.Set {
method public abstract java.util.Comparator<? super E> comparator();
method public abstract E first();
method public abstract java.util.SortedSet<E> headSet(E);
@@ -58992,7 +58992,7 @@
method public abstract java.util.SortedSet<E> tailSet(E);
}
- public abstract interface Spliterator {
+ public abstract interface Spliterator<T> {
method public abstract int characteristics();
method public abstract long estimateSize();
method public default void forEachRemaining(java.util.function.Consumer<? super T>);
@@ -59035,7 +59035,7 @@
method public abstract java.util.Spliterator.OfLong trySplit();
}
- public static abstract interface Spliterator.OfPrimitive implements java.util.Spliterator {
+ public static abstract interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> implements java.util.Spliterator {
method public default void forEachRemaining(T_CONS);
method public abstract boolean tryAdvance(T_CONS);
method public abstract T_SPLITR trySplit();
@@ -59045,25 +59045,25 @@
method public static java.util.Spliterator.OfDouble emptyDoubleSpliterator();
method public static java.util.Spliterator.OfInt emptyIntSpliterator();
method public static java.util.Spliterator.OfLong emptyLongSpliterator();
- method public static java.util.Spliterator<T> emptySpliterator();
- method public static java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
+ method public static <T> java.util.Spliterator<T> emptySpliterator();
+ method public static <T> java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
method public static java.util.PrimitiveIterator.OfInt iterator(java.util.Spliterator.OfInt);
method public static java.util.PrimitiveIterator.OfLong iterator(java.util.Spliterator.OfLong);
method public static java.util.PrimitiveIterator.OfDouble iterator(java.util.Spliterator.OfDouble);
- method public static java.util.Spliterator<T> spliterator(java.lang.Object[], int);
- method public static java.util.Spliterator<T> spliterator(java.lang.Object[], int, int, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.lang.Object[], int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.lang.Object[], int, int, int);
method public static java.util.Spliterator.OfInt spliterator(int[], int);
method public static java.util.Spliterator.OfInt spliterator(int[], int, int, int);
method public static java.util.Spliterator.OfLong spliterator(long[], int);
method public static java.util.Spliterator.OfLong spliterator(long[], int, int, int);
method public static java.util.Spliterator.OfDouble spliterator(double[], int);
method public static java.util.Spliterator.OfDouble spliterator(double[], int, int, int);
- method public static java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
- method public static java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
+ method public static <T> java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
method public static java.util.Spliterator.OfInt spliterator(java.util.PrimitiveIterator.OfInt, long, int);
method public static java.util.Spliterator.OfLong spliterator(java.util.PrimitiveIterator.OfLong, long, int);
method public static java.util.Spliterator.OfDouble spliterator(java.util.PrimitiveIterator.OfDouble, long, int);
- method public static java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
+ method public static <T> java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
method public static java.util.Spliterator.OfInt spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt, int);
method public static java.util.Spliterator.OfLong spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong, int);
method public static java.util.Spliterator.OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble, int);
@@ -59090,7 +59090,7 @@
method public java.util.Spliterator.OfLong trySplit();
}
- public static abstract class Spliterators.AbstractSpliterator implements java.util.Spliterator {
+ public static abstract class Spliterators.AbstractSpliterator<T> implements java.util.Spliterator {
ctor protected Spliterators.AbstractSpliterator(long, int);
method public int characteristics();
method public long estimateSize();
@@ -59125,7 +59125,7 @@
method public java.util.SplittableRandom split();
}
- public class Stack extends java.util.Vector {
+ public class Stack<E> extends java.util.Vector {
ctor public Stack();
method public boolean empty();
method public synchronized E peek();
@@ -59209,7 +59209,7 @@
ctor public TooManyListenersException(java.lang.String);
}
- public class TreeMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.NavigableMap java.io.Serializable {
+ public class TreeMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.NavigableMap java.io.Serializable {
ctor public TreeMap();
ctor public TreeMap(java.util.Comparator<? super K>);
ctor public TreeMap(java.util.Map<? extends K, ? extends V>);
@@ -59246,7 +59246,7 @@
method public java.util.SortedMap<K, V> tailMap(K);
}
- public class TreeSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ public class TreeSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
ctor public TreeSet();
ctor public TreeSet(java.util.Comparator<? super E>);
ctor public TreeSet(java.util.Collection<? extends E>);
@@ -59299,7 +59299,7 @@
method public java.lang.String getFlags();
}
- public class Vector extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class Vector<E> extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public Vector(int, int);
ctor public Vector(int);
ctor public Vector();
@@ -59334,7 +59334,7 @@
field protected java.lang.Object[] elementData;
}
- public class WeakHashMap extends java.util.AbstractMap implements java.util.Map {
+ public class WeakHashMap<K, V> extends java.util.AbstractMap implements java.util.Map {
ctor public WeakHashMap(int, float);
ctor public WeakHashMap(int);
ctor public WeakHashMap();
@@ -59350,18 +59350,18 @@
public abstract class AbstractExecutorService implements java.util.concurrent.ExecutorService {
ctor public AbstractExecutorService();
- method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
- method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
- method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
- method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
- method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
+ method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
+ method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
method public java.util.concurrent.Future<?> submit(java.lang.Runnable);
- method public java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
- method public java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ method public <T> java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
}
- public class ArrayBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class ArrayBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public ArrayBlockingQueue(int);
ctor public ArrayBlockingQueue(int, boolean);
ctor public ArrayBlockingQueue(int, boolean, java.util.Collection<? extends E>);
@@ -59380,7 +59380,7 @@
method public E take() throws java.lang.InterruptedException;
}
- public abstract interface BlockingDeque implements java.util.concurrent.BlockingQueue java.util.Deque {
+ public abstract interface BlockingDeque<E> implements java.util.concurrent.BlockingQueue java.util.Deque {
method public abstract boolean add(E);
method public abstract void addFirst(E);
method public abstract void addLast(E);
@@ -59412,7 +59412,7 @@
method public abstract E takeLast() throws java.lang.InterruptedException;
}
- public abstract interface BlockingQueue implements java.util.Queue {
+ public abstract interface BlockingQueue<E> implements java.util.Queue {
method public abstract boolean add(E);
method public abstract boolean contains(java.lang.Object);
method public abstract int drainTo(java.util.Collection<? super E>);
@@ -59431,7 +59431,7 @@
ctor public BrokenBarrierException(java.lang.String);
}
- public abstract interface Callable {
+ public abstract interface Callable<V> {
method public abstract V call() throws java.lang.Exception;
}
@@ -59440,28 +59440,28 @@
ctor public CancellationException(java.lang.String);
}
- public class CompletableFuture implements java.util.concurrent.CompletionStage java.util.concurrent.Future {
+ public class CompletableFuture<T> implements java.util.concurrent.CompletionStage java.util.concurrent.Future {
ctor public CompletableFuture();
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> allOf(java.util.concurrent.CompletableFuture<?>...);
method public static java.util.concurrent.CompletableFuture<java.lang.Object> anyOf(java.util.concurrent.CompletableFuture<?>...);
- method public java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
method public boolean cancel(boolean);
method public boolean complete(T);
method public boolean completeExceptionally(java.lang.Throwable);
- method public static java.util.concurrent.CompletableFuture<U> completedFuture(U);
+ method public static <U> java.util.concurrent.CompletableFuture<U> completedFuture(U);
method public java.util.concurrent.CompletableFuture<T> exceptionally(java.util.function.Function<java.lang.Throwable, ? extends T>);
method public T get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
method public T get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
method public T getNow(T);
method public int getNumberOfDependents();
- method public java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
method public boolean isCancelled();
method public boolean isCompletedExceptionally();
method public boolean isDone();
@@ -59476,23 +59476,23 @@
method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable);
method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(java.lang.Runnable, java.util.concurrent.Executor);
- method public static java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
- method public static java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
+ method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
+ method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
- method public java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
- method public java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRun(java.lang.Runnable);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable);
method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
@@ -59512,7 +59512,7 @@
ctor public CompletionException(java.lang.Throwable);
}
- public abstract interface CompletionService {
+ public abstract interface CompletionService<V> {
method public abstract java.util.concurrent.Future<V> poll();
method public abstract java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
method public abstract java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
@@ -59520,17 +59520,17 @@
method public abstract java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
}
- public abstract interface CompletionStage {
+ public abstract interface CompletionStage<T> {
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
- method public abstract java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T, U>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<T> exceptionally(java.util.function.Function<java.lang.Throwable, ? extends T>);
- method public abstract java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, java.lang.Runnable, java.util.concurrent.Executor);
@@ -59540,18 +59540,18 @@
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
- method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
- method public abstract java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
- method public abstract java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
- method public abstract java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public abstract java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
- method public abstract java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T, ? super U>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T, ? extends U>, java.util.concurrent.Executor);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>);
+ method public abstract <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends V>, java.util.concurrent.Executor);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>);
+ method public abstract <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRun(java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(java.lang.Runnable);
method public abstract java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(java.lang.Runnable, java.util.concurrent.Executor);
@@ -59561,7 +59561,7 @@
method public abstract java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>, java.util.concurrent.Executor);
}
- public class ConcurrentHashMap extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable {
+ public class ConcurrentHashMap<K, V> extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable {
ctor public ConcurrentHashMap();
ctor public ConcurrentHashMap(int);
ctor public ConcurrentHashMap(java.util.Map<? extends K, ? extends V>);
@@ -59575,29 +59575,29 @@
method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
method public void forEach(java.util.function.BiConsumer<? super K, ? super V>);
method public void forEach(long, java.util.function.BiConsumer<? super K, ? super V>);
- method public void forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachEntry(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>);
- method public void forEachEntry(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachEntry(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachKey(long, java.util.function.Consumer<? super K>);
- method public void forEachKey(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachKey(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>);
method public void forEachValue(long, java.util.function.Consumer<? super V>);
- method public void forEachValue(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>);
+ method public <U> void forEachValue(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>);
method public V getOrDefault(java.lang.Object, V);
method public java.util.concurrent.ConcurrentHashMap.KeySetView<K, V> keySet(V);
method public java.util.Enumeration<K> keys();
method public long mappingCount();
method public V merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>);
- method public static java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet();
- method public static java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet(int);
+ method public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet();
+ method public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K, java.lang.Boolean> newKeySet(int);
method public V putIfAbsent(K, V);
- method public U reduce(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduce(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public java.util.Map.Entry<K, V> reduceEntries(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>);
- method public U reduceEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceEntriesToDouble(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator);
method public int reduceEntriesToInt(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator);
method public long reduceEntriesToLong(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator);
method public K reduceKeys(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>);
- method public U reduceKeys(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceKeys(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceKeysToDouble(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator);
method public int reduceKeysToInt(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator);
method public long reduceKeysToLong(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator);
@@ -59605,7 +59605,7 @@
method public int reduceToInt(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator);
method public long reduceToLong(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator);
method public V reduceValues(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>);
- method public U reduceValues(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
+ method public <U> U reduceValues(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>);
method public double reduceValuesToDouble(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator);
method public int reduceValuesToInt(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator);
method public long reduceValuesToLong(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator);
@@ -59613,13 +59613,13 @@
method public boolean replace(K, V, V);
method public V replace(K, V);
method public void replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>);
- method public U search(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>);
- method public U searchEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>);
- method public U searchKeys(long, java.util.function.Function<? super K, ? extends U>);
- method public U searchValues(long, java.util.function.Function<? super V, ? extends U>);
+ method public <U> U search(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>);
+ method public <U> U searchEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>);
+ method public <U> U searchKeys(long, java.util.function.Function<? super K, ? extends U>);
+ method public <U> U searchValues(long, java.util.function.Function<? super V, ? extends U>);
}
- static abstract class ConcurrentHashMap.CollectionView implements java.util.Collection java.io.Serializable {
+ static abstract class ConcurrentHashMap.CollectionView<K, V, E> implements java.util.Collection java.io.Serializable {
method public final void clear();
method public abstract boolean contains(java.lang.Object);
method public final boolean containsAll(java.util.Collection<?>);
@@ -59631,11 +59631,11 @@
method public final boolean retainAll(java.util.Collection<?>);
method public final int size();
method public final java.lang.Object[] toArray();
- method public final T[] toArray(T[]);
+ method public final <T> T[] toArray(T[]);
method public final java.lang.String toString();
}
- public static class ConcurrentHashMap.KeySetView extends java.util.concurrent.ConcurrentHashMap.CollectionView implements java.io.Serializable java.util.Set {
+ public static class ConcurrentHashMap.KeySetView<K, V> extends java.util.concurrent.ConcurrentHashMap.CollectionView implements java.io.Serializable java.util.Set {
method public boolean add(K);
method public boolean addAll(java.util.Collection<? extends K>);
method public boolean contains(java.lang.Object);
@@ -59646,7 +59646,7 @@
method public java.util.Spliterator<K> spliterator();
}
- public class ConcurrentLinkedDeque extends java.util.AbstractCollection implements java.util.Deque java.io.Serializable {
+ public class ConcurrentLinkedDeque<E> extends java.util.AbstractCollection implements java.util.Deque java.io.Serializable {
ctor public ConcurrentLinkedDeque();
ctor public ConcurrentLinkedDeque(java.util.Collection<? extends E>);
method public void addFirst(E);
@@ -59676,7 +59676,7 @@
method public java.util.Spliterator<E> spliterator();
}
- public class ConcurrentLinkedQueue extends java.util.AbstractQueue implements java.util.Queue java.io.Serializable {
+ public class ConcurrentLinkedQueue<E> extends java.util.AbstractQueue implements java.util.Queue java.io.Serializable {
ctor public ConcurrentLinkedQueue();
ctor public ConcurrentLinkedQueue(java.util.Collection<? extends E>);
method public java.util.Iterator<E> iterator();
@@ -59687,14 +59687,14 @@
method public java.util.Spliterator<E> spliterator();
}
- public abstract interface ConcurrentMap implements java.util.Map {
+ public abstract interface ConcurrentMap<K, V> implements java.util.Map {
method public abstract V putIfAbsent(K, V);
method public abstract boolean remove(java.lang.Object, java.lang.Object);
method public abstract boolean replace(K, V, V);
method public abstract V replace(K, V);
}
- public abstract interface ConcurrentNavigableMap implements java.util.concurrent.ConcurrentMap java.util.NavigableMap {
+ public abstract interface ConcurrentNavigableMap<K, V> implements java.util.concurrent.ConcurrentMap java.util.NavigableMap {
method public abstract java.util.NavigableSet<K> descendingKeySet();
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> descendingMap();
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> headMap(K, boolean);
@@ -59707,7 +59707,7 @@
method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
}
- public class ConcurrentSkipListMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap java.io.Serializable {
+ public class ConcurrentSkipListMap<K, V> extends java.util.AbstractMap implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap java.io.Serializable {
ctor public ConcurrentSkipListMap();
ctor public ConcurrentSkipListMap(java.util.Comparator<? super K>);
ctor public ConcurrentSkipListMap(java.util.Map<? extends K, ? extends V>);
@@ -59751,7 +59751,7 @@
method public java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
}
- public class ConcurrentSkipListSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ public class ConcurrentSkipListSet<E> extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
ctor public ConcurrentSkipListSet();
ctor public ConcurrentSkipListSet(java.util.Comparator<? super E>);
ctor public ConcurrentSkipListSet(java.util.Collection<? extends E>);
@@ -59779,7 +59779,7 @@
method public java.util.NavigableSet<E> tailSet(E);
}
- public class CopyOnWriteArrayList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ public class CopyOnWriteArrayList<E> implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
ctor public CopyOnWriteArrayList();
ctor public CopyOnWriteArrayList(java.util.Collection<? extends E>);
ctor public CopyOnWriteArrayList(E[]);
@@ -59811,10 +59811,10 @@
method public int size();
method public java.util.List<E> subList(int, int);
method public java.lang.Object[] toArray();
- method public T[] toArray(T[]);
+ method public <T> T[] toArray(T[]);
}
- public class CopyOnWriteArraySet extends java.util.AbstractSet implements java.io.Serializable {
+ public class CopyOnWriteArraySet<E> extends java.util.AbstractSet implements java.io.Serializable {
ctor public CopyOnWriteArraySet();
ctor public CopyOnWriteArraySet(java.util.Collection<? extends E>);
method public void forEach(java.util.function.Consumer<? super E>);
@@ -59832,7 +59832,7 @@
method public long getCount();
}
- public abstract class CountedCompleter extends java.util.concurrent.ForkJoinTask {
+ public abstract class CountedCompleter<T> extends java.util.concurrent.ForkJoinTask {
ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>, int);
ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>);
ctor protected CountedCompleter();
@@ -59869,7 +59869,7 @@
method public void reset();
}
- public class DelayQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue {
+ public class DelayQueue<E extends java.util.concurrent.Delayed> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue {
ctor public DelayQueue();
ctor public DelayQueue(java.util.Collection<? extends E>);
method public int drainTo(java.util.Collection<? super E>);
@@ -59890,7 +59890,7 @@
method public abstract long getDelay(java.util.concurrent.TimeUnit);
}
- public class Exchanger {
+ public class Exchanger<V> {
ctor public Exchanger();
method public V exchange(V) throws java.lang.InterruptedException;
method public V exchange(V, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
@@ -59907,7 +59907,7 @@
method public abstract void execute(java.lang.Runnable);
}
- public class ExecutorCompletionService implements java.util.concurrent.CompletionService {
+ public class ExecutorCompletionService<V> implements java.util.concurrent.CompletionService {
ctor public ExecutorCompletionService(java.util.concurrent.Executor);
ctor public ExecutorCompletionService(java.util.concurrent.Executor, java.util.concurrent.BlockingQueue<java.util.concurrent.Future<V>>);
method public java.util.concurrent.Future<V> poll();
@@ -59919,21 +59919,21 @@
public abstract interface ExecutorService implements java.util.concurrent.Executor {
method public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
- method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
- method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
- method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public abstract <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public abstract <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public abstract <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
method public abstract boolean isShutdown();
method public abstract boolean isTerminated();
method public abstract void shutdown();
method public abstract java.util.List<java.lang.Runnable> shutdownNow();
- method public abstract java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
- method public abstract java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public abstract <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ method public abstract <T> java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
method public abstract java.util.concurrent.Future<?> submit(java.lang.Runnable);
}
public class Executors {
- method public static java.util.concurrent.Callable<T> callable(java.lang.Runnable, T);
+ method public static <T> java.util.concurrent.Callable<T> callable(java.lang.Runnable, T);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.lang.Runnable);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedAction<?>);
method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedExceptionAction<?>);
@@ -59950,8 +59950,8 @@
method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory);
method public static java.util.concurrent.ExecutorService newWorkStealingPool(int);
method public static java.util.concurrent.ExecutorService newWorkStealingPool();
- method public static java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
- method public static java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
+ method public static <T> java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
+ method public static <T> java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
method public static java.util.concurrent.ThreadFactory privilegedThreadFactory();
method public static java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService);
method public static java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService);
@@ -59979,7 +59979,7 @@
method public long getStealCount();
method public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
method public boolean hasQueuedSubmissions();
- method public T invoke(java.util.concurrent.ForkJoinTask<T>);
+ method public <T> T invoke(java.util.concurrent.ForkJoinTask<T>);
method public boolean isQuiescent();
method public boolean isShutdown();
method public boolean isTerminated();
@@ -59988,7 +59988,7 @@
method protected java.util.concurrent.ForkJoinTask<?> pollSubmission();
method public void shutdown();
method public java.util.List<java.lang.Runnable> shutdownNow();
- method public java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
+ method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
field public static final java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory defaultForkJoinWorkerThreadFactory;
}
@@ -60001,11 +60001,11 @@
method public abstract boolean isReleasable();
}
- public abstract class ForkJoinTask implements java.util.concurrent.Future java.io.Serializable {
+ public abstract class ForkJoinTask<V> implements java.util.concurrent.Future java.io.Serializable {
ctor public ForkJoinTask();
method public static java.util.concurrent.ForkJoinTask<?> adapt(java.lang.Runnable);
- method public static java.util.concurrent.ForkJoinTask<T> adapt(java.lang.Runnable, T);
- method public static java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
+ method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.lang.Runnable, T);
+ method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
method public boolean cancel(boolean);
method public final boolean compareAndSetForkJoinTaskTag(short, short);
method public void complete(V);
@@ -60025,7 +60025,7 @@
method public final V invoke();
method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>, java.util.concurrent.ForkJoinTask<?>);
method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>...);
- method public static java.util.Collection<T> invokeAll(java.util.Collection<T>);
+ method public static <T extends java.util.concurrent.ForkJoinTask<?>> java.util.Collection<T> invokeAll(java.util.Collection<T>);
method public final boolean isCancelled();
method public final boolean isCompletedAbnormally();
method public final boolean isCompletedNormally();
@@ -60051,7 +60051,7 @@
method protected void onTermination(java.lang.Throwable);
}
- public abstract interface Future {
+ public abstract interface Future<V> {
method public abstract boolean cancel(boolean);
method public abstract V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
method public abstract V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
@@ -60059,7 +60059,7 @@
method public abstract boolean isDone();
}
- public class FutureTask implements java.util.concurrent.RunnableFuture {
+ public class FutureTask<V> implements java.util.concurrent.RunnableFuture {
ctor public FutureTask(java.util.concurrent.Callable<V>);
ctor public FutureTask(java.lang.Runnable, V);
method public boolean cancel(boolean);
@@ -60074,7 +60074,7 @@
method protected void setException(java.lang.Throwable);
}
- public class LinkedBlockingDeque extends java.util.AbstractQueue implements java.util.concurrent.BlockingDeque java.io.Serializable {
+ public class LinkedBlockingDeque<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingDeque java.io.Serializable {
ctor public LinkedBlockingDeque();
ctor public LinkedBlockingDeque(int);
ctor public LinkedBlockingDeque(java.util.Collection<? extends E>);
@@ -60118,7 +60118,7 @@
method public E takeLast() throws java.lang.InterruptedException;
}
- public class LinkedBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class LinkedBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public LinkedBlockingQueue();
ctor public LinkedBlockingQueue(int);
ctor public LinkedBlockingQueue(java.util.Collection<? extends E>);
@@ -60137,7 +60137,7 @@
method public E take() throws java.lang.InterruptedException;
}
- public class LinkedTransferQueue extends java.util.AbstractQueue implements java.io.Serializable java.util.concurrent.TransferQueue {
+ public class LinkedTransferQueue<E> extends java.util.AbstractQueue implements java.io.Serializable java.util.concurrent.TransferQueue {
ctor public LinkedTransferQueue();
ctor public LinkedTransferQueue(java.util.Collection<? extends E>);
method public int drainTo(java.util.Collection<? super E>);
@@ -60184,7 +60184,7 @@
method public int register();
}
- public class PriorityBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class PriorityBlockingQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public PriorityBlockingQueue();
ctor public PriorityBlockingQueue(int);
ctor public PriorityBlockingQueue(int, java.util.Comparator<? super E>);
@@ -60213,7 +60213,7 @@
method protected final void setRawResult(java.lang.Void);
}
- public abstract class RecursiveTask extends java.util.concurrent.ForkJoinTask {
+ public abstract class RecursiveTask<V> extends java.util.concurrent.ForkJoinTask {
ctor public RecursiveTask();
method protected abstract V compute();
method protected final boolean exec();
@@ -60232,22 +60232,22 @@
method public abstract void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
}
- public abstract interface RunnableFuture implements java.util.concurrent.Future java.lang.Runnable {
+ public abstract interface RunnableFuture<V> implements java.util.concurrent.Future java.lang.Runnable {
method public abstract void run();
}
- public abstract interface RunnableScheduledFuture implements java.util.concurrent.RunnableFuture java.util.concurrent.ScheduledFuture {
+ public abstract interface RunnableScheduledFuture<V> implements java.util.concurrent.RunnableFuture java.util.concurrent.ScheduledFuture {
method public abstract boolean isPeriodic();
}
public abstract interface ScheduledExecutorService implements java.util.concurrent.ExecutorService {
method public abstract java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
- method public abstract java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public abstract <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
method public abstract java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public abstract java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
}
- public abstract interface ScheduledFuture implements java.util.concurrent.Delayed java.util.concurrent.Future {
+ public abstract interface ScheduledFuture<V> implements java.util.concurrent.Delayed java.util.concurrent.Future {
}
public class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService {
@@ -60255,13 +60255,13 @@
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory);
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.RejectedExecutionHandler);
ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
- method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
- method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
+ method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
+ method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
method public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
method public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
method public boolean getRemoveOnCancelPolicy();
method public java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
- method public java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
method public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean);
@@ -60291,7 +60291,7 @@
method public boolean tryAcquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
}
- public class SynchronousQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ public class SynchronousQueue<E> extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
ctor public SynchronousQueue();
ctor public SynchronousQueue(boolean);
method public int drainTo(java.util.Collection<? super E>);
@@ -60409,7 +60409,7 @@
ctor public TimeoutException(java.lang.String);
}
- public abstract interface TransferQueue implements java.util.concurrent.BlockingQueue {
+ public abstract interface TransferQueue<E> implements java.util.concurrent.BlockingQueue {
method public abstract int getWaitingConsumerCount();
method public abstract boolean hasWaitingConsumer();
method public abstract void transfer(E) throws java.lang.InterruptedException;
@@ -60479,7 +60479,7 @@
method public final boolean weakCompareAndSet(int, int, int);
}
- public abstract class AtomicIntegerFieldUpdater {
+ public abstract class AtomicIntegerFieldUpdater<T> {
ctor protected AtomicIntegerFieldUpdater();
method public final int accumulateAndGet(T, int, java.util.function.IntBinaryOperator);
method public int addAndGet(T, int);
@@ -60494,7 +60494,7 @@
method public final int getAndUpdate(T, java.util.function.IntUnaryOperator);
method public int incrementAndGet(T);
method public abstract void lazySet(T, int);
- method public static java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public static <U> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
method public abstract void set(T, int);
method public final int updateAndGet(T, java.util.function.IntUnaryOperator);
method public abstract boolean weakCompareAndSet(T, int, int);
@@ -60547,7 +60547,7 @@
method public final boolean weakCompareAndSet(int, long, long);
}
- public abstract class AtomicLongFieldUpdater {
+ public abstract class AtomicLongFieldUpdater<T> {
ctor protected AtomicLongFieldUpdater();
method public final long accumulateAndGet(T, long, java.util.function.LongBinaryOperator);
method public long addAndGet(T, long);
@@ -60562,13 +60562,13 @@
method public final long getAndUpdate(T, java.util.function.LongUnaryOperator);
method public long incrementAndGet(T);
method public abstract void lazySet(T, long);
- method public static java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public static <U> java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
method public abstract void set(T, long);
method public final long updateAndGet(T, java.util.function.LongUnaryOperator);
method public abstract boolean weakCompareAndSet(T, long, long);
}
- public class AtomicMarkableReference {
+ public class AtomicMarkableReference<V> {
ctor public AtomicMarkableReference(V, boolean);
method public boolean attemptMark(V, boolean);
method public boolean compareAndSet(V, V, boolean, boolean);
@@ -60579,7 +60579,7 @@
method public boolean weakCompareAndSet(V, V, boolean, boolean);
}
- public class AtomicReference implements java.io.Serializable {
+ public class AtomicReference<V> implements java.io.Serializable {
ctor public AtomicReference(V);
ctor public AtomicReference();
method public final V accumulateAndGet(V, java.util.function.BinaryOperator<V>);
@@ -60594,7 +60594,7 @@
method public final boolean weakCompareAndSet(V, V);
}
- public class AtomicReferenceArray implements java.io.Serializable {
+ public class AtomicReferenceArray<E> implements java.io.Serializable {
ctor public AtomicReferenceArray(int);
ctor public AtomicReferenceArray(E[]);
method public final E accumulateAndGet(int, E, java.util.function.BinaryOperator<E>);
@@ -60610,7 +60610,7 @@
method public final boolean weakCompareAndSet(int, E, E);
}
- public abstract class AtomicReferenceFieldUpdater {
+ public abstract class AtomicReferenceFieldUpdater<T, V> {
ctor protected AtomicReferenceFieldUpdater();
method public final V accumulateAndGet(T, V, java.util.function.BinaryOperator<V>);
method public abstract boolean compareAndSet(T, V, V);
@@ -60619,13 +60619,13 @@
method public V getAndSet(T, V);
method public final V getAndUpdate(T, java.util.function.UnaryOperator<V>);
method public abstract void lazySet(T, V);
- method public static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U, W> newUpdater(java.lang.Class<U>, java.lang.Class<W>, java.lang.String);
+ method public static <U, W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U, W> newUpdater(java.lang.Class<U>, java.lang.Class<W>, java.lang.String);
method public abstract void set(T, V);
method public final V updateAndGet(T, java.util.function.UnaryOperator<V>);
method public abstract boolean weakCompareAndSet(T, V, V);
}
- public class AtomicStampedReference {
+ public class AtomicStampedReference<V> {
ctor public AtomicStampedReference(V, int);
method public boolean attemptStamp(V, int);
method public boolean compareAndSet(V, V, int, int);
@@ -60928,33 +60928,33 @@
package java.util.function {
- public abstract interface BiConsumer {
+ public abstract interface BiConsumer<T, U> {
method public abstract void accept(T, U);
method public default java.util.function.BiConsumer<T, U> andThen(java.util.function.BiConsumer<? super T, ? super U>);
}
- public abstract interface BiFunction {
- method public default java.util.function.BiFunction<T, U, V> andThen(java.util.function.Function<? super R, ? extends V>);
+ public abstract interface BiFunction<T, U, R> {
+ method public default <V> java.util.function.BiFunction<T, U, V> andThen(java.util.function.Function<? super R, ? extends V>);
method public abstract R apply(T, U);
}
- public abstract interface BiPredicate {
+ public abstract interface BiPredicate<T, U> {
method public default java.util.function.BiPredicate<T, U> and(java.util.function.BiPredicate<? super T, ? super U>);
method public default java.util.function.BiPredicate<T, U> negate();
method public default java.util.function.BiPredicate<T, U> or(java.util.function.BiPredicate<? super T, ? super U>);
method public abstract boolean test(T, U);
}
- public abstract interface BinaryOperator implements java.util.function.BiFunction {
- method public static java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
- method public static java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
+ public abstract interface BinaryOperator<T> implements java.util.function.BiFunction {
+ method public static <T> java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
}
public abstract interface BooleanSupplier {
method public abstract boolean getAsBoolean();
}
- public abstract interface Consumer {
+ public abstract interface Consumer<T> {
method public abstract void accept(T);
method public default java.util.function.Consumer<T> andThen(java.util.function.Consumer<? super T>);
}
@@ -60968,7 +60968,7 @@
method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer);
}
- public abstract interface DoubleFunction {
+ public abstract interface DoubleFunction<R> {
method public abstract R apply(double);
}
@@ -60998,11 +60998,11 @@
method public static java.util.function.DoubleUnaryOperator identity();
}
- public abstract interface Function {
- method public default java.util.function.Function<T, V> andThen(java.util.function.Function<? super R, ? extends V>);
+ public abstract interface Function<T, R> {
+ method public default <V> java.util.function.Function<T, V> andThen(java.util.function.Function<? super R, ? extends V>);
method public abstract R apply(T);
- method public default java.util.function.Function<V, R> compose(java.util.function.Function<? super V, ? extends T>);
- method public static java.util.function.Function<T, T> identity();
+ method public default <V> java.util.function.Function<V, R> compose(java.util.function.Function<? super V, ? extends T>);
+ method public static <T> java.util.function.Function<T, T> identity();
}
public abstract interface IntBinaryOperator {
@@ -61014,7 +61014,7 @@
method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer);
}
- public abstract interface IntFunction {
+ public abstract interface IntFunction<R> {
method public abstract R apply(int);
}
@@ -61053,7 +61053,7 @@
method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer);
}
- public abstract interface LongFunction {
+ public abstract interface LongFunction<R> {
method public abstract R apply(long);
}
@@ -61083,56 +61083,56 @@
method public static java.util.function.LongUnaryOperator identity();
}
- public abstract interface ObjDoubleConsumer {
+ public abstract interface ObjDoubleConsumer<T> {
method public abstract void accept(T, double);
}
- public abstract interface ObjIntConsumer {
+ public abstract interface ObjIntConsumer<T> {
method public abstract void accept(T, int);
}
- public abstract interface ObjLongConsumer {
+ public abstract interface ObjLongConsumer<T> {
method public abstract void accept(T, long);
}
- public abstract interface Predicate {
+ public abstract interface Predicate<T> {
method public default java.util.function.Predicate<T> and(java.util.function.Predicate<? super T>);
- method public static java.util.function.Predicate<T> isEqual(java.lang.Object);
+ method public static <T> java.util.function.Predicate<T> isEqual(java.lang.Object);
method public default java.util.function.Predicate<T> negate();
method public default java.util.function.Predicate<T> or(java.util.function.Predicate<? super T>);
method public abstract boolean test(T);
}
- public abstract interface Supplier {
+ public abstract interface Supplier<T> {
method public abstract T get();
}
- public abstract interface ToDoubleBiFunction {
+ public abstract interface ToDoubleBiFunction<T, U> {
method public abstract double applyAsDouble(T, U);
}
- public abstract interface ToDoubleFunction {
+ public abstract interface ToDoubleFunction<T> {
method public abstract double applyAsDouble(T);
}
- public abstract interface ToIntBiFunction {
+ public abstract interface ToIntBiFunction<T, U> {
method public abstract int applyAsInt(T, U);
}
- public abstract interface ToIntFunction {
+ public abstract interface ToIntFunction<T> {
method public abstract int applyAsInt(T);
}
- public abstract interface ToLongBiFunction {
+ public abstract interface ToLongBiFunction<T, U> {
method public abstract long applyAsLong(T, U);
}
- public abstract interface ToLongFunction {
+ public abstract interface ToLongFunction<T> {
method public abstract long applyAsLong(T);
}
- public abstract interface UnaryOperator implements java.util.function.Function {
- method public static java.util.function.UnaryOperator<T> identity();
+ public abstract interface UnaryOperator<T> implements java.util.function.Function {
+ method public static <T> java.util.function.UnaryOperator<T> identity();
}
}
@@ -61720,7 +61720,7 @@
package java.util.stream {
- public abstract interface BaseStream implements java.lang.AutoCloseable {
+ public abstract interface BaseStream<T, S extends java.util.stream.BaseStream<T, S>> implements java.lang.AutoCloseable {
method public abstract void close();
method public abstract boolean isParallel();
method public abstract java.util.Iterator<T> iterator();
@@ -61731,13 +61731,13 @@
method public abstract S unordered();
}
- public abstract interface Collector {
+ public abstract interface Collector<T, A, R> {
method public abstract java.util.function.BiConsumer<A, T> accumulator();
method public abstract java.util.Set<java.util.stream.Collector.Characteristics> characteristics();
method public abstract java.util.function.BinaryOperator<A> combiner();
method public abstract java.util.function.Function<A, R> finisher();
- method public static java.util.stream.Collector<T, R, R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
- method public static java.util.stream.Collector<T, A, R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A, T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A, R>, java.util.stream.Collector.Characteristics...);
+ method public static <T, R> java.util.stream.Collector<T, R, R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
+ method public static <T, A, R> java.util.stream.Collector<T, A, R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A, T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A, R>, java.util.stream.Collector.Characteristics...);
method public abstract java.util.function.Supplier<A> supplier();
}
@@ -61750,43 +61750,43 @@
}
public final class Collectors {
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, A, RR> collectingAndThen(java.util.stream.Collector<T, A, R>, java.util.function.Function<R, RR>);
- method public static java.util.stream.Collector<T, ?, java.lang.Long> counting();
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, java.util.List<T>>> groupingBy(java.util.function.Function<? super T, ? extends K>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, D>> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, M> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, D>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, M> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, A, R, RR> java.util.stream.Collector<T, A, RR> collectingAndThen(java.util.stream.Collector<T, A, R>, java.util.function.Function<R, RR>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Long> counting();
+ method public static <T, K> java.util.stream.Collector<T, ?, java.util.Map<K, java.util.List<T>>> groupingBy(java.util.function.Function<? super T, ? extends K>);
+ method public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.Map<K, D>> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K, D, A, M extends java.util.Map<K, D>> java.util.stream.Collector<T, ?, M> groupingBy(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>);
+ method public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, D>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T, K, A, D, M extends java.util.concurrent.ConcurrentMap<K, D>> java.util.stream.Collector<T, ?, M> groupingByConcurrent(java.util.function.Function<? super T, ? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T, A, D>);
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining();
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence);
method public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence, java.lang.CharSequence, java.lang.CharSequence);
- method public static java.util.stream.Collector<T, ?, R> mapping(java.util.function.Function<? super T, ? extends U>, java.util.stream.Collector<? super U, A, R>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T, A, D>);
- method public static java.util.stream.Collector<T, ?, T> reducing(T, java.util.function.BinaryOperator<T>);
- method public static java.util.stream.Collector<T, ?, java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
- method public static java.util.stream.Collector<T, ?, U> reducing(U, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
- method public static java.util.stream.Collector<T, ?, C> toCollection(java.util.function.Supplier<C>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
- method public static java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, M> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
- method public static java.util.stream.Collector<T, ?, java.util.List<T>> toList();
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
- method public static java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
- method public static java.util.stream.Collector<T, ?, M> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
- method public static java.util.stream.Collector<T, ?, java.util.Set<T>> toSet();
+ method public static <T, U, A, R> java.util.stream.Collector<T, ?, R> mapping(java.util.function.Function<? super T, ? extends U>, java.util.stream.Collector<? super U, A, R>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
+ method public static <T, D, A> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T, A, D>);
+ method public static <T> java.util.stream.Collector<T, ?, T> reducing(T, java.util.function.BinaryOperator<T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
+ method public static <T, U> java.util.stream.Collector<T, ?, U> reducing(U, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
+ method public static <T> java.util.stream.Collector<T, ?, java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
+ method public static <T, C extends java.util.Collection<T>> java.util.stream.Collector<T, ?, C> toCollection(java.util.function.Supplier<C>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T, K, U, M extends java.util.concurrent.ConcurrentMap<K, U>> java.util.stream.Collector<T, ?, M> toConcurrentMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.List<T>> toList();
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>);
+ method public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>);
+ method public static <T, K, U, M extends java.util.Map<K, U>> java.util.stream.Collector<T, ?, M> toMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+ method public static <T> java.util.stream.Collector<T, ?, java.util.Set<T>> toSet();
}
public abstract interface DoubleStream implements java.util.stream.BaseStream {
@@ -61795,7 +61795,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Double> boxed();
method public static java.util.stream.DoubleStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.DoubleStream concat(java.util.stream.DoubleStream, java.util.stream.DoubleStream);
method public abstract long count();
method public abstract java.util.stream.DoubleStream distinct();
@@ -61813,7 +61813,7 @@
method public abstract java.util.stream.DoubleStream map(java.util.function.DoubleUnaryOperator);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.DoubleToIntFunction);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.DoubleToLongFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
method public abstract java.util.OptionalDouble max();
method public abstract java.util.OptionalDouble min();
method public abstract boolean noneMatch(java.util.function.DoublePredicate);
@@ -61846,7 +61846,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Integer> boxed();
method public static java.util.stream.IntStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.IntStream concat(java.util.stream.IntStream, java.util.stream.IntStream);
method public abstract long count();
method public abstract java.util.stream.IntStream distinct();
@@ -61864,7 +61864,7 @@
method public abstract java.util.stream.IntStream map(java.util.function.IntUnaryOperator);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.IntToDoubleFunction);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.IntToLongFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
method public abstract java.util.OptionalInt max();
method public abstract java.util.OptionalInt min();
method public abstract boolean noneMatch(java.util.function.IntPredicate);
@@ -61898,7 +61898,7 @@
method public abstract java.util.OptionalDouble average();
method public abstract java.util.stream.Stream<java.lang.Long> boxed();
method public static java.util.stream.LongStream.Builder builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R, R>);
method public static java.util.stream.LongStream concat(java.util.stream.LongStream, java.util.stream.LongStream);
method public abstract long count();
method public abstract java.util.stream.LongStream distinct();
@@ -61916,7 +61916,7 @@
method public abstract java.util.stream.LongStream map(java.util.function.LongUnaryOperator);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.LongToDoubleFunction);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.LongToIntFunction);
- method public abstract java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
+ method public abstract <U> java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
method public abstract java.util.OptionalLong max();
method public abstract java.util.OptionalLong min();
method public abstract boolean noneMatch(java.util.function.LongPredicate);
@@ -61943,49 +61943,49 @@
method public abstract java.util.stream.LongStream build();
}
- public abstract interface Stream implements java.util.stream.BaseStream {
+ public abstract interface Stream<T> implements java.util.stream.BaseStream {
method public abstract boolean allMatch(java.util.function.Predicate<? super T>);
method public abstract boolean anyMatch(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Stream.Builder<T> builder();
- method public abstract R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, ? super T>, java.util.function.BiConsumer<R, R>);
- method public abstract R collect(java.util.stream.Collector<? super T, A, R>);
- method public static java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
+ method public static <T> java.util.stream.Stream.Builder<T> builder();
+ method public abstract <R> R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, ? super T>, java.util.function.BiConsumer<R, R>);
+ method public abstract <R, A> R collect(java.util.stream.Collector<? super T, A, R>);
+ method public static <T> java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
method public abstract long count();
method public abstract java.util.stream.Stream<T> distinct();
- method public static java.util.stream.Stream<T> empty();
+ method public static <T> java.util.stream.Stream<T> empty();
method public abstract java.util.stream.Stream<T> filter(java.util.function.Predicate<? super T>);
method public abstract java.util.Optional<T> findAny();
method public abstract java.util.Optional<T> findFirst();
- method public abstract java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends R>>);
+ method public abstract <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends R>>);
method public abstract java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super T, ? extends java.util.stream.DoubleStream>);
method public abstract java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super T, ? extends java.util.stream.IntStream>);
method public abstract java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super T, ? extends java.util.stream.LongStream>);
method public abstract void forEach(java.util.function.Consumer<? super T>);
method public abstract void forEachOrdered(java.util.function.Consumer<? super T>);
- method public static java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
- method public static java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
+ method public static <T> java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
+ method public static <T> java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
method public abstract java.util.stream.Stream<T> limit(long);
- method public abstract java.util.stream.Stream<R> map(java.util.function.Function<? super T, ? extends R>);
+ method public abstract <R> java.util.stream.Stream<R> map(java.util.function.Function<? super T, ? extends R>);
method public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super T>);
method public abstract java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super T>);
method public abstract java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super T>);
method public abstract java.util.Optional<T> max(java.util.Comparator<? super T>);
method public abstract java.util.Optional<T> min(java.util.Comparator<? super T>);
method public abstract boolean noneMatch(java.util.function.Predicate<? super T>);
- method public static java.util.stream.Stream<T> of(T);
- method public static java.util.stream.Stream<T> of(T...);
+ method public static <T> java.util.stream.Stream<T> of(T);
+ method public static <T> java.util.stream.Stream<T> of(T...);
method public abstract java.util.stream.Stream<T> peek(java.util.function.Consumer<? super T>);
method public abstract T reduce(T, java.util.function.BinaryOperator<T>);
method public abstract java.util.Optional<T> reduce(java.util.function.BinaryOperator<T>);
- method public abstract U reduce(U, java.util.function.BiFunction<U, ? super T, U>, java.util.function.BinaryOperator<U>);
+ method public abstract <U> U reduce(U, java.util.function.BiFunction<U, ? super T, U>, java.util.function.BinaryOperator<U>);
method public abstract java.util.stream.Stream<T> skip(long);
method public abstract java.util.stream.Stream<T> sorted();
method public abstract java.util.stream.Stream<T> sorted(java.util.Comparator<? super T>);
method public abstract java.lang.Object[] toArray();
- method public abstract A[] toArray(java.util.function.IntFunction<A[]>);
+ method public abstract <A> A[] toArray(java.util.function.IntFunction<A[]>);
}
- public static abstract interface Stream.Builder implements java.util.function.Consumer {
+ public static abstract interface Stream.Builder<T> implements java.util.function.Consumer {
method public abstract void accept(T);
method public default java.util.stream.Stream.Builder<T> add(T);
method public abstract java.util.stream.Stream<T> build();
@@ -61998,8 +61998,8 @@
method public static java.util.stream.IntStream intStream(java.util.function.Supplier<? extends java.util.Spliterator.OfInt>, int, boolean);
method public static java.util.stream.LongStream longStream(java.util.Spliterator.OfLong, boolean);
method public static java.util.stream.LongStream longStream(java.util.function.Supplier<? extends java.util.Spliterator.OfLong>, int, boolean);
- method public static java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
- method public static java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
+ method public static <T> java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
+ method public static <T> java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
}
}
@@ -64170,16 +64170,16 @@
public final class Subject implements java.io.Serializable {
ctor public Subject();
ctor public Subject(boolean, java.util.Set<? extends java.security.Principal>, java.util.Set<?>, java.util.Set<?>);
- method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
- method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
- method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
- method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
+ method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
method public java.util.Set<java.security.Principal> getPrincipals();
- method public java.util.Set<T> getPrincipals(java.lang.Class<T>);
+ method public <T extends java.security.Principal> java.util.Set<T> getPrincipals(java.lang.Class<T>);
method public java.util.Set<java.lang.Object> getPrivateCredentials();
- method public java.util.Set<T> getPrivateCredentials(java.lang.Class<T>);
+ method public <T> java.util.Set<T> getPrivateCredentials(java.lang.Class<T>);
method public java.util.Set<java.lang.Object> getPublicCredentials();
- method public java.util.Set<T> getPublicCredentials(java.lang.Class<T>);
+ method public <T> java.util.Set<T> getPublicCredentials(java.lang.Class<T>);
method public static javax.security.auth.Subject getSubject(java.security.AccessControlContext);
method public boolean isReadOnly();
method public void setReadOnly();
diff --git a/core/java/android/animation/LayoutTransition.java b/core/java/android/animation/LayoutTransition.java
index cdd72be..5a23fdd 100644
--- a/core/java/android/animation/LayoutTransition.java
+++ b/core/java/android/animation/LayoutTransition.java
@@ -62,7 +62,11 @@
* layout will run (closing the gap created in the layout when the item was removed). If this
* default choreography behavior is not desired, the {@link #setDuration(int, long)} and
* {@link #setStartDelay(int, long)} of any or all of the animations can be changed as
- * appropriate.</p>
+ * appropriate. Keep in mind, however, that if you start an APPEARING animation before a
+ * DISAPPEARING animation is completed, the DISAPPEARING animation stops, and any effects from
+ * the DISAPPEARING animation are reverted. If you instead start a DISAPPEARING animation
+ * before an APPEARING animation is completed, a similar set of effects occurs for the
+ * APPEARING animation.</p>
*
* <p>The animations specified for the transition, both the defaults and any custom animations
* set on the transition object, are templates only. That is, these animations exist to hold the
diff --git a/core/java/android/animation/ObjectAnimator.java b/core/java/android/animation/ObjectAnimator.java
index 9a2aa30..0c21c4f 100644
--- a/core/java/android/animation/ObjectAnimator.java
+++ b/core/java/android/animation/ObjectAnimator.java
@@ -977,8 +977,9 @@
@Override
void animateValue(float fraction) {
final Object target = getTarget();
- if (target == null) {
- // We lost the target reference, cancel and clean up.
+ if (mTarget != null && target == null) {
+ // We lost the target reference, cancel and clean up. Note: we allow null target if the
+ /// target has never been set.
cancel();
return;
}
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 1f41c29..6a2b9aa 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -108,6 +108,7 @@
import android.system.Os;
import android.system.OsConstants;
import android.system.ErrnoException;
+import android.webkit.WebView;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.app.IVoiceInteractor;
@@ -1041,10 +1042,21 @@
long dalvikMax = runtime.totalMemory() / 1024;
long dalvikFree = runtime.freeMemory() / 1024;
long dalvikAllocated = dalvikMax - dalvikFree;
+
+ Class[] classesToCount = new Class[] {
+ ContextImpl.class,
+ Activity.class,
+ WebView.class,
+ OpenSSLSocketImpl.class
+ };
+ long[] instanceCounts = VMDebug.countInstancesOfClasses(classesToCount, true);
+ long appContextInstanceCount = instanceCounts[0];
+ long activityInstanceCount = instanceCounts[1];
+ long webviewInstanceCount = instanceCounts[2];
+ long openSslSocketCount = instanceCounts[3];
+
long viewInstanceCount = ViewDebug.getViewInstanceCount();
long viewRootInstanceCount = ViewDebug.getViewRootImplCount();
- long appContextInstanceCount = Debug.countInstancesOfClass(ContextImpl.class);
- long activityInstanceCount = Debug.countInstancesOfClass(Activity.class);
int globalAssetCount = AssetManager.getGlobalAssetCount();
int globalAssetManagerCount = AssetManager.getGlobalAssetManagerCount();
int binderLocalObjectCount = Debug.getBinderLocalObjectCount();
@@ -1052,7 +1064,6 @@
int binderDeathObjectCount = Debug.getBinderDeathObjectCount();
long parcelSize = Parcel.getGlobalAllocSize();
long parcelCount = Parcel.getGlobalAllocCount();
- long openSslSocketCount = Debug.countInstancesOfClass(OpenSSLSocketImpl.class);
SQLiteDebug.PagerStats stats = SQLiteDebug.getDatabaseInfo();
dumpMemInfoTable(pw, memInfo, checkin, dumpFullInfo, dumpDalvik, dumpSummaryOnly,
@@ -1115,6 +1126,7 @@
"Parcel count:", parcelCount);
printRow(pw, TWO_COUNT_COLUMNS, "Death Recipients:", binderDeathObjectCount,
"OpenSSL Sockets:", openSslSocketCount);
+ printRow(pw, ONE_COUNT_COLUMN, "WebViews:", webviewInstanceCount);
// SQLite mem info
pw.println(" ");
diff --git a/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java b/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java
index 15a9101..1717a1e 100644
--- a/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java
+++ b/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java
@@ -68,7 +68,9 @@
public boolean equals(Object o) {
if (o instanceof BluetoothHealthAppConfiguration) {
BluetoothHealthAppConfiguration config = (BluetoothHealthAppConfiguration) o;
- // config.getName() can never be NULL
+
+ if (mName == null) return false;
+
return mName.equals(config.getName()) &&
mDataType == config.getDataType() &&
mRole == config.getRole() &&
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index f908abc..3a2f471 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -1130,7 +1130,9 @@
* <strong>Note: you should not <em>rely</em> on the system deleting these
* files for you; you should always have a reasonable maximum, such as 1 MB,
* for the amount of space you consume with cache files, and prune those
- * files when exceeding that space.</strong>
+ * files when exceeding that space.</strong> If your app requires a larger
+ * cache (larger than 1 MB), you should use {@link #getExternalCacheDir()}
+ * instead.
* <p>
* The returned path may change over time if the calling app is moved to an
* adopted storage device, so only relative paths should be persisted.
@@ -1142,6 +1144,7 @@
* @see #openFileOutput
* @see #getFileStreamPath
* @see #getDir
+ * @see #getExternalCacheDir
*/
public abstract File getCacheDir();
@@ -1190,7 +1193,7 @@
* </ul>
* <p>
* If a shared storage device is emulated (as determined by
- * {@link Environment#isExternalStorageEmulated(File)}), it's contents are
+ * {@link Environment#isExternalStorageEmulated(File)}), its contents are
* backed by a private user data partition, which means there is little
* benefit to storing data here instead of the private directory returned by
* {@link #getCacheDir()}.
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 1cf23ae..cf6880a 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -128,7 +128,7 @@
* a list of people, which the user can browse through. This example is a
* typical top-level entry into the Contacts application, showing you the
* list of people. Selecting a particular person to view would result in a
- * new intent { <b>{@link #ACTION_VIEW} <i>content://contacts/N</i></b> }
+ * new intent { <b>{@link #ACTION_VIEW} <i>content://contacts/people/N</i></b> }
* being used to start an activity to display that person.</p>
* </li>
* </ul>
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java
index d07b5457..f5a79c8 100644
--- a/core/java/android/content/IntentFilter.java
+++ b/core/java/android/content/IntentFilter.java
@@ -124,7 +124,7 @@
* <em>Note that authority matching here is <b>case sensitive</b>, unlike
* formal RFC host names!</em> You should thus always use lower case letters
* for your authority.
- *
+ *
* <p><strong>Data Path</strong> matches if any of the given values match the
* Intent's data path <em>and</em> both a scheme and authority in the filter
* has matched against the Intent, <em>or</em> no paths were supplied in the
@@ -359,8 +359,8 @@
* the {@link MalformedMimeTypeException} exception that the constructor
* can call and turns it into a runtime exception.
*
- * @param action The action to match, i.e. Intent.ACTION_VIEW.
- * @param dataType The type to match, i.e. "vnd.android.cursor.dir/person".
+ * @param action The action to match, such as Intent.ACTION_VIEW.
+ * @param dataType The type to match, such as "vnd.android.cursor.dir/person".
*
* @return A new IntentFilter for the given action and type.
*
@@ -387,7 +387,7 @@
* no data characteristics are subsequently specified, then the
* filter will only match intents that contain no data.
*
- * @param action The action to match, i.e. Intent.ACTION_MAIN.
+ * @param action The action to match, such as Intent.ACTION_MAIN.
*/
public IntentFilter(String action) {
mPriority = 0;
@@ -407,8 +407,8 @@
* <p>Throws {@link MalformedMimeTypeException} if the given MIME type is
* not syntactically correct.
*
- * @param action The action to match, i.e. Intent.ACTION_VIEW.
- * @param dataType The type to match, i.e. "vnd.android.cursor.dir/person".
+ * @param action The action to match, such as Intent.ACTION_VIEW.
+ * @param dataType The type to match, such as "vnd.android.cursor.dir/person".
*
*/
public IntentFilter(String action, String dataType)
@@ -652,7 +652,7 @@
* in the filter, then an Intent's action must be one of those values for
* it to match. If no actions are included, the Intent action is ignored.
*
- * @param action Name of the action to match, i.e. Intent.ACTION_VIEW.
+ * @param action Name of the action to match, such as Intent.ACTION_VIEW.
*/
public final void addAction(String action) {
if (!mActions.contains(action)) {
@@ -721,7 +721,7 @@
* <p>Throws {@link MalformedMimeTypeException} if the given MIME type is
* not syntactically correct.
*
- * @param type Name of the data type to match, i.e. "vnd.android.cursor.dir/person".
+ * @param type Name of the data type to match, such as "vnd.android.cursor.dir/person".
*
* @see #matchData
*/
@@ -798,7 +798,7 @@
* and any schemes you receive from outside of Android should be
* converted to lower case before supplying them here.</em></p>
*
- * @param scheme Name of the scheme to match, i.e. "http".
+ * @param scheme Name of the scheme to match, such as "http".
*
* @see #matchData
*/
@@ -909,7 +909,7 @@
* Determine whether this AuthorityEntry matches the given data Uri.
* <em>Note that this comparison is case-sensitive, unlike formal
* RFC host names. You thus should always normalize to lower-case.</em>
- *
+ *
* @param data The Uri to match.
* @return Returns either {@link IntentFilter#NO_MATCH_DATA},
* {@link IntentFilter#MATCH_CATEGORY_PORT}, or
@@ -1364,7 +1364,7 @@
* filter has no impact on matching unless that category is specified in
* the intent.
*
- * @param category Name of category to match, i.e. Intent.CATEGORY_EMBED.
+ * @param category Name of category to match, such as Intent.CATEGORY_EMBED.
*/
public final void addCategory(String category) {
if (mCategories == null) mCategories = new ArrayList<String>();
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 281d6f6..a75f111 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -5431,7 +5431,7 @@
* {@link #COMPONENT_ENABLED_STATE_DISABLED}, or
* {@link #COMPONENT_ENABLED_STATE_DEFAULT}. The last one means the
* application's enabled state is based on the original information in
- * the manifest as found in {@link ComponentInfo}.
+ * the manifest as found in {@link ApplicationInfo}.
* @throws IllegalArgumentException if the named package does not exist.
*/
public abstract int getApplicationEnabledSetting(String packageName);
diff --git a/core/java/android/database/CursorJoiner.java b/core/java/android/database/CursorJoiner.java
index e3c2988..a95263b 100644
--- a/core/java/android/database/CursorJoiner.java
+++ b/core/java/android/database/CursorJoiner.java
@@ -27,7 +27,7 @@
*
* <pre>
* CursorJoiner joiner = new CursorJoiner(cursorA, keyColumnsofA, cursorB, keyColumnsofB);
- * for (CursorJointer.Result joinerResult : joiner) {
+ * for (CursorJoiner.Result joinerResult : joiner) {
* switch (joinerResult) {
* case LEFT:
* // handle case where a row in cursorA is unique
diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java
index 0f64b92..8e17832 100644
--- a/core/java/android/database/sqlite/SQLiteDatabase.java
+++ b/core/java/android/database/sqlite/SQLiteDatabase.java
@@ -1371,6 +1371,7 @@
/**
* Convenience method for replacing a row in the database.
+ * Inserts a new row if a row does not already exist.
*
* @param table the table in which to replace the row
* @param nullColumnHack optional; may be <code>null</code>.
@@ -1381,7 +1382,7 @@
* provides the name of nullable column name to explicitly insert a NULL into
* in the case where your <code>initialValues</code> is empty.
* @param initialValues this map contains the initial column values for
- * the row.
+ * the row. The keys should be the column names and the values the column values.
* @return the row ID of the newly inserted row, or -1 if an error occurred
*/
public long replace(String table, String nullColumnHack, ContentValues initialValues) {
@@ -1396,6 +1397,7 @@
/**
* Convenience method for replacing a row in the database.
+ * Inserts a new row if a row does not already exist.
*
* @param table the table in which to replace the row
* @param nullColumnHack optional; may be <code>null</code>.
@@ -1406,7 +1408,7 @@
* provides the name of nullable column name to explicitly insert a NULL into
* in the case where your <code>initialValues</code> is empty.
* @param initialValues this map contains the initial column values for
- * the row. The key
+ * the row. The keys should be the column names and the values the column values.
* @throws SQLException
* @return the row ID of the newly inserted row, or -1 if an error occurred
*/
@@ -1740,7 +1742,7 @@
* Returns true if the new version code is greater than the current database version.
*
* @param newVersion The new version code.
- * @return True if the new version code is greater than the current database version.
+ * @return True if the new version code is greater than the current database version.
*/
public boolean needUpgrade(int newVersion) {
return newVersion > getVersion();
diff --git a/core/java/android/database/sqlite/package.html b/core/java/android/database/sqlite/package.html
index ceed171..864a9bb 100644
--- a/core/java/android/database/sqlite/package.html
+++ b/core/java/android/database/sqlite/package.html
@@ -6,15 +6,44 @@
Applications use these classes to manage private databases. If creating a
content provider, you will probably have to use these classes to create and
manage your own database to store content. See <a
-href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a> to learn
-the conventions for implementing a content provider. See the
-NotePadProvider class in the NotePad sample application in the SDK for an
-example of a content provider. Android ships with SQLite version 3.4.0
-<p>If you are working with data sent to you by a provider, you will not use
-these SQLite classes, but instead use the generic {@link android.database}
-classes.
-<p>Android ships with the sqlite3 database tool in the <code>tools/</code>
-folder. You can use this tool to browse or run SQL commands on the device. Run by
-typing <code>sqlite3</code> in a shell window.
+href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a>
+to learn the conventions for implementing a content provider. If you are working
+with data sent to you by a provider, you do not use these SQLite classes, but
+instead use the generic {@link android.database} classes.
+
+<p>The Android SDK and Android emulators both include the
+<a href="{@docRoot}studio/command-line/sqlite3.html">sqlite3</a> command-line
+database tool. On your development machine, run the tool from the
+<code>platform-tools/</code> folder of your SDK. On the emulator, run the tool
+with adb shell, for example, <code>adb -e shell sqlite3</code>.
+
+<p>The version of SQLite depends on the version of Android. See the following table:
+<table style="width:auto;">
+ <tr><th>Android API</th><th>SQLite Version</th></tr>
+ <tr><td>API 24</td><td>3.9</td></tr>
+ <tr><td>API 21</td><td>3.8</td></tr>
+ <tr><td>API 11</td><td>3.7</td></tr>
+ <tr><td>API 8</td><td>3.6</td></tr>
+ <tr><td>API 3</td><td>3.5</td></tr>
+ <tr><td>API 1</td><td>3.4</td></tr>
+</table>
+
+<p>Some device manufacturers include different versions of SQLite on their devices.
+ There are two ways to programmatically determine the version number.
+
+<ul>
+ <li>If available, use the sqlite3 tool, for example:
+ <code>adb -e shell sqlite3 --version</code>.</li>
+ <li>Create and query an in-memory database as shown in the following code sample:
+ <pre>
+ String query = "select sqlite_version() AS sqlite_version";
+ SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(":memory:", null);
+ Cursor cursor = db.rawQuery(query, null);
+ String sqliteVersion = "";
+ if (cursor.moveToNext()) {
+ sqliteVersion = cursor.getString(0);
+ }</pre>
+ </li>
+</ul>
</BODY>
</HTML>
diff --git a/core/java/android/hardware/camera2/utils/TaskDrainer.java b/core/java/android/hardware/camera2/utils/TaskDrainer.java
index 7c46e50..ed30ff3 100644
--- a/core/java/android/hardware/camera2/utils/TaskDrainer.java
+++ b/core/java/android/hardware/camera2/utils/TaskDrainer.java
@@ -29,8 +29,9 @@
* (and new ones won't begin).
*
* <p>The initial state is to allow all tasks to be started and finished. A task may only be started
- * once, after which it must be finished before starting again. Likewise, finishing a task
- * that hasn't been started is also not allowed.</p>
+ * once, after which it must be finished before starting again. Likewise, a task may only be
+ * finished once, after which it must be started before finishing again. It is okay to finish a
+ * task before starting it due to different threads handling starting and finishing.</p>
*
* <p>When draining begins, no more new tasks can be started. This guarantees that at some
* point when all the tasks are finished there will be no more collective new tasks,
@@ -60,6 +61,11 @@
/** Set of tasks which have been started but not yet finished with #taskFinished */
private final Set<T> mTaskSet = new HashSet<T>();
+ /**
+ * Set of tasks which have been finished but not yet started with #taskStarted. This may happen
+ * if taskStarted and taskFinished are called from two different threads.
+ */
+ private final Set<T> mEarlyFinishedTaskSet = new HashSet<T>();
private final Object mLock = new Object();
private boolean mDraining = false;
@@ -118,8 +124,12 @@
throw new IllegalStateException("Can't start more tasks after draining has begun");
}
- if (!mTaskSet.add(task)) {
- throw new IllegalStateException("Task " + task + " was already started");
+ // Try to remove the task from the early finished set.
+ if (!mEarlyFinishedTaskSet.remove(task)) {
+ // The task is not finished early. Add it to the started set.
+ if (!mTaskSet.add(task)) {
+ throw new IllegalStateException("Task " + task + " was already started");
+ }
}
}
}
@@ -128,8 +138,7 @@
/**
* Mark an asynchronous task as having finished.
*
- * <p>A task cannot be finished if it hasn't started. Once finished, a task
- * cannot be finished again (unless it's started again).</p>
+ * <p>A task cannot be finished more than once without first having started.</p>
*
* @param task a key to identify a task
*
@@ -137,7 +146,7 @@
* @see #beginDrain
*
* @throws IllegalStateException
- * If attempting to start a task which is already finished (and not re-started),
+ * If attempting to finish a task which is already finished (and not started),
*/
public void taskFinished(T task) {
synchronized (mLock) {
@@ -145,8 +154,12 @@
Log.v(TAG + "[" + mName + "]", "taskFinished " + task);
}
+ // Try to remove the task from started set.
if (!mTaskSet.remove(task)) {
- throw new IllegalStateException("Task " + task + " was already finished");
+ // Task is not started yet. Add it to the early finished set.
+ if (!mEarlyFinishedTaskSet.add(task)) {
+ throw new IllegalStateException("Task " + task + " was already finished");
+ }
}
// If this is the last finished task and draining has already begun, fire #onDrained
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 990d553..b73acda 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -1289,8 +1289,9 @@
boolean onKeyUp(int keyCode, KeyEvent event);
/**
- * Called when multiple down/up pairs of the same key have occurred
- * in a row.
+ * Called when a user's interaction with an analog control, such as
+ * flinging a trackball, generates simulated down/up events for the same
+ * key multiple times in quick succession.
*
* @param keyCode The value in event.getKeyCode().
* @param count Number of pairs as returned by event.getRepeatCount().
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java
index aa67c82..d9cb269 100644
--- a/core/java/android/widget/ImageView.java
+++ b/core/java/android/widget/ImageView.java
@@ -1441,7 +1441,9 @@
/**
* Returns the alpha that will be applied to the drawable of this ImageView.
*
- * @return the alpha that will be applied to the drawable of this ImageView
+ * @return the alpha value that will be applied to the drawable of this
+ * ImageView (between 0 and 255 inclusive, with 0 being transparent and
+ * 255 being opaque)
*
* @see #setImageAlpha(int)
*/
@@ -1452,7 +1454,8 @@
/**
* Sets the alpha value that should be applied to the image.
*
- * @param alpha the alpha value that should be applied to the image
+ * @param alpha the alpha value that should be applied to the image (between
+ * 0 and 255 inclusive, with 0 being transparent and 255 being opaque)
*
* @see #getImageAlpha()
*/
diff --git a/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java b/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
index 2cb9c25..fb0edea 100644
--- a/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
+++ b/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
@@ -150,6 +150,7 @@
sendCloseSystemWindows();
// Broadcast an intent that the Camera button was longpressed
Intent intent = new Intent(Intent.ACTION_CAMERA_BUTTON, null);
+ intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
intent.putExtra(Intent.EXTRA_KEY_EVENT, event);
mContext.sendOrderedBroadcastAsUser(intent, UserHandle.CURRENT_OR_SELF,
null, null, null, 0, null, null);
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 4080bb7..3a1fe53 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3560,7 +3560,7 @@
<string name="extract_edit_menu_button">Edit</string>
<!-- Notification title when data usage has exceeded warning threshold. [CHAR LIMIT=32] -->
- <string name="data_usage_warning_title">Data usage warning</string>
+ <string name="data_usage_warning_title">Data usage alert</string>
<!-- Notification body when data usage has exceeded warning threshold. [CHAR LIMIT=32] -->
<string name="data_usage_warning_body">Tap to view usage and settings.</string>
diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml
index d2abe21..0f117ae 100644
--- a/docs/html/_redirects.yaml
+++ b/docs/html/_redirects.yaml
@@ -1164,81 +1164,81 @@
# Android Studio help button redirects
- from: /r/studio-ui/vector-asset-studio.html
- to: /studio/write/vector-asset-studio.html?utm_medium=android-studio
+ to: /studio/write/vector-asset-studio.html?utm_source=android-studio
- from: /r/studio-ui/image-asset-studio.html
- to: /studio/write/image-asset-studio.html?utm_medium=android-studio
+ to: /studio/write/image-asset-studio.html?utm_source=android-studio
- from: /r/studio-ui/project-structure.html
- to: /studio/projects/index.html?utm_medium=android-studio
+ to: /studio/projects/index.html?utm_source=android-studio
- from: /r/studio-ui/android-monitor.html
- to: /studio/profile/android-monitor.html?utm_medium=android-studio
+ to: /studio/profile/android-monitor.html?utm_source=android-studio
- from: /r/studio-ui/am-logcat.html
- to: /studio/debug/am-logcat.html?utm_medium=android-studio
+ to: /studio/debug/am-logcat.html?utm_source=android-studio
- from: /r/studio-ui/am-memory.html
- to: /studio/profile/am-memory.html?utm_medium=android-studio
+ to: /studio/profile/am-memory.html?utm_source=android-studio
- from: /r/studio-ui/am-cpu.html
- to: /studio/profile/am-cpu.html?utm_medium=android-studio
+ to: /studio/profile/am-cpu.html?utm_source=android-studio
- from: /r/studio-ui/am-gpu.html
- to: /studio/profile/am-gpu.html?utm_medium=android-studio
+ to: /studio/profile/am-gpu.html?utm_source=android-studio
- from: /r/studio-ui/am-network.html
- to: /studio/profile/am-network.html?utm_medium=android-studio
+ to: /studio/profile/am-network.html?utm_source=android-studio
- from: /r/studio-ui/am-hprof.html
- to: /studio/profile/am-hprof.html?utm_medium=android-studio
+ to: /studio/profile/am-hprof.html?utm_source=android-studio
- from: /r/studio-ui/am-allocation.html
- to: /studio/profile/am-allocation.html?utm_medium=android-studio
+ to: /studio/profile/am-allocation.html?utm_source=android-studio
- from: /r/studio-ui/am-methodtrace.html
- to: /studio/profile/am-methodtrace.html?utm_medium=android-studio
+ to: /studio/profile/am-methodtrace.html?utm_source=android-studio
- from: /r/studio-ui/am-sysinfo.html
- to: /studio/profile/am-sysinfo.html?utm_medium=android-studio
+ to: /studio/profile/am-sysinfo.html?utm_source=android-studio
- from: /r/studio-ui/am-screenshot.html
- to: /studio/debug/am-screenshot.html?utm_medium=android-studio
+ to: /studio/debug/am-screenshot.html?utm_source=android-studio
- from: /r/studio-ui/am-video.html
- to: /studio/debug/am-video.html?utm_medium=android-studio
+ to: /studio/debug/am-video.html?utm_source=android-studio
- from: /r/studio-ui/avd-manager.html
- to: /studio/run/managing-avds.html?utm_medium=android-studio
+ to: /studio/run/managing-avds.html?utm_source=android-studio
- from: /r/studio-ui/rundebugconfig.html
- to: /studio/run/rundebugconfig.html?utm_medium=android-studio
+ to: /studio/run/rundebugconfig.html?utm_source=android-studio
- from: /r/studio-ui/devicechooser.html
- to: /studio/run/emulator.html?utm_medium=android-studio
+ to: /studio/run/emulator.html?utm_source=android-studio
- from: /r/studio-ui/virtualdeviceconfig.html
- to: /studio/run/managing-avds.html?utm_medium=android-studio
+ to: /studio/run/managing-avds.html?utm_source=android-studio
- from: /r/studio-ui/emulator.html
- to: /studio/run/emulator.html?utm_medium=android-studio
+ to: /studio/run/emulator.html?utm_source=android-studio
- from: /r/studio-ui/instant-run.html
- to: /studio/run/index.html?utm_medium=android-studio#instant-run
+ to: /studio/run/index.html?utm_source=android-studio#instant-run
- from: /r/studio-ui/test-recorder.html
- to: http://tools.android.com/tech-docs/test-recorder
+ to: /studio/test/espresso-test-recorder.html?utm_source=android-studio
- from: /r/studio-ui/export-licenses.html
to: http://tools.android.com/tech-docs/new-build-system/license
- from: /r/studio-ui/experimental-to-stable-gradle.html
to: http://tools.android.com/tech-docs/new-build-system/gradle-experimental/experimental-to-stable-gradle
- from: /r/studio-ui/sdk-manager.html
- to: /studio/intro/update.html?utm_medium=android-studio#sdk-manager
+ to: /studio/intro/update.html?utm_source=android-studio#sdk-manager
- from: /r/studio-ui/newjclass.html
- to: /studio/write/create-java-class.html?utm_medium=android-studio
+ to: /studio/write/create-java-class.html?utm_source=android-studio
- from: /r/studio-ui/menu-help.html
- to: /studio/intro/index.html?utm_medium=android-studio
+ to: /studio/intro/index.html?utm_source=android-studio
- from: /r/studio-ui/menu-start.html
- to: /training/index.html?utm_medium=android-studio
+ to: /training/index.html?utm_source=android-studio
- from: /r/studio-ui/run-with-work-profile.html
- to: /studio/run/index.html#ir-work-profile?utm_medium=android-studio
+ to: /studio/run/index.html?utm_source=android-studio#ir-work-profile
- from: /r/studio-ui/am-gpu-debugger.html
- to: /studio/profile/am-gpu.html?utm_medium=android-studio
+ to: /studio/profile/am-gpu.html?utm_source=android-studio
- from: /r/studio-ui/theme-editor.html
- to: /studio/write/theme-editor.html?utm_medium=android-studio
+ to: /studio/write/theme-editor.html?utm_source=android-studio
- from: /r/studio-ui/translations-editor.html
- to: /studio/write/translations-editor.html?utm_medium=android-studio
+ to: /studio/write/translations-editor.html?utm_source=android-studio
- from: /r/studio-ui/debug.html
- to: /studio/debug/index.html?utm_medium=android-studio
+ to: /studio/debug/index.html?utm_source=android-studio
- from: /r/studio-ui/run.html
- to: /studio/run/index.html?utm_medium=android-studio
+ to: /studio/run/index.html?utm_source=android-studio
- from: /r/studio-ui/layout-editor.html
- to: /studio/write/layout-editor.html?utm_medium=android-studio
+ to: /studio/write/layout-editor.html?utm_source=android-studio
- from: /r/studio-ui/project-window.html
- to: /studio/projects/index.html?utm_medium=android-studio
+ to: /studio/projects/index.html?utm_source=android-studio
- from: /r/studio-ui/lint-inspection-results.html
- to: /studio/write/lint.html?utm_medium=android-studio
+ to: /studio/write/lint.html?utm_source=android-studio
- from: /r/studio-ui/gradle-console.html
- to: /studio/run/index.html#gradle-console?utm_medium=android-studio
+ to: /studio/run/index.html?utm_source=android-studio#gradle-console
# Redirects from (removed) N Preview documentation
- from: /preview/features/afw.html
diff --git a/docs/html/develop/index.jd b/docs/html/develop/index.jd
index b1d7388..564dbf9 100644
--- a/docs/html/develop/index.jd
+++ b/docs/html/develop/index.jd
@@ -15,20 +15,25 @@
<div class="cols dac-hero-content">
<div class="col-1of2 col-push-1of2 dac-hero-figure">
<img class="dac-hero-image" style="padding-top:32px"
- src="/images/develop/hero-layout-editor_2x.png">
+ src="/images/develop/hero-layout-editor_2x.png"
+ srcset="/images/develop/hero-layout-editor_2x.png 2x,
+ /images/develop/hero-layout-editor.png 1x">
</div>
<div class="col-1of2 col-pull-1of2" style="margin-bottom:40px">
<h1 class="dac-hero-title">
<a style="color:inherit" href="{@docRoot}studio/index.html">
- Android Studio 2.2 <nobr>is here!</nobr></a></h1>
+ Android Studio 2.2</a></h1>
-<p class="dac-hero-description">The latest version of Android Studio includes a
-rewritten <b>layout editor</b> with the new constraint layout,
-helping you build rich UI with less work.</p>
+<p class="dac-hero-description">There are 20+ new features in this release
+focused on helping you code faster and smarter. With Android Studio 2.2 you
+can:</p>
-
-<p class="dac-hero-description">With over 20 new features, Android Studio
-2.2 helps you code faster and smarter.</p>
+<ul class="dac-hero-description">
+ <li>Develop your app user interface faster with the new Layout Editor &
+ Constraint Layout</li>
+ <li>Develop smarter with the APK analyzer & expanded code analysis</li>
+ <li>Develop with the the latest Android 7.0 Nougat APIs & features</li>
+</ul>
<p style="margin-top:24px">
<a class="dac-hero-cta" href="{@docRoot}studio/index.html">
@@ -36,9 +41,9 @@
Get Android Studio 2.2
</a>
<wbr>
- <a class="dac-hero-cta" href="{@docRoot}studio/releases/index.html">
+ <a class="dac-hero-cta" href="{@docRoot}studio/features.html">
<span class="dac-sprite dac-auto-chevron"></span>
- See the release notes</a>
+ See more features</a>
</p>
</div>
diff --git a/docs/html/distribute/tools/promote/brand.jd b/docs/html/distribute/tools/promote/brand.jd
index 409dfdd..ba2bed7 100644
--- a/docs/html/distribute/tools/promote/brand.jd
+++ b/docs/html/distribute/tools/promote/brand.jd
@@ -34,30 +34,31 @@
<ul>
<li>Android™ should have a trademark symbol the first time it appears in a creative.</li>
<li>Android should always be capitalized and is never plural or possessive.</li>
- <li>"Android" cannot be used in names of applications or accessory products,
- including phones, tablets, TVs, speakers, headphones, watches, and other devices. Instead use "for Android".
+ <li>"Android", or anything confusingly similar to "Android", cannot be used
+ in names of applications or accessory products, including phones, tablets, TVs,
+ speakers, headphones, watches, and other devices. Instead, use "for Android".
<ul>
- <li><span style="color:red">Incorrect</span>: "Android MediaPlayer"</li>
+ <li><span style="color:red">Incorrect</span>: "Android MediaPlayer" or "Ndroid MediaPlayer"</li>
<li><span style="color:green">Correct</span>: "MediaPlayer for Android"</li>
</ul>
- <p>If used with your logo, "for Android" should be no larger than 90% of your logo’s size.
- First instance of this use should be followed by a TM symbol, "for Android™".</p>
+ <p>If used with your logo, "for Android" should be no larger than 90% of your logo's size.
+ The first instance of this use should be followed by a TM symbol: "for Android™".</p>
</li>
- <li>"Android TV", "Android Wear" and "Android Auto" may only be used to identify or market
+ <li>"Android TV", "Android Wear", and "Android Auto" may only be used to identify or market
products or services with prior approval. Use "for Android" or "with Android" for all
- other Android-based products
+ other Android-based products.
<ul>
<li><span style="color:red">Incorrect</span>: "Android TV Streaming Stick",
"Streaming Stick with Android TV"</li>
<li><span style="color:green">Correct</span>: "Streaming Stick with Android"</li>
</ul>
<p>If used with your logo, "for Android" or "with Android" should be no larger than 90% of
- your logo’s size. First instance of this use should be followed by a TM symbol,
+ your logo's size. The first instance of this use should be followed by a TM symbol:
"for Android™".</p>
</li>
- <li>Android may be used as a descriptor, as long as it is followed by a
- proper generic term. (Think of "Android" as a term used in place of
- "the Android platform.")
+ <li>Android may be used as a descriptor in text, as long as it is followed by a
+ proper generic term and is not the name of your product, app, or service.
+ Think of "Android" as a term used in place of "the Android platform."
<ul>
<li><span style="color:red">Incorrect</span>: "Android MediaPlayer" or "Android XYZ app"</li>
<li><span style="color:green">Correct</span>: "Android features" or "Android applications"</li>
@@ -100,7 +101,9 @@
<h4 style="clear:right">Android logo</h4>
<div style="float:right;width:210px;margin-left:30px;margin-top:-10px">
- <img alt="" src="{@docRoot}images/brand/android_logo_no.png">
+ <img alt="" src="{@docRoot}images/brand/android_logo_no.png"
+ srcset="{@docRoot}images/brand/android_logo_no.png 1x,
+ {@docRoot}images/brand/android_logo_no_2x.png 2x">
</div>
<p>The Android logo may not be used.</p>
diff --git a/docs/html/distribute/users/build-buzz.jd b/docs/html/distribute/users/build-buzz.jd
index 7bc6f6c..65aa44a 100644
--- a/docs/html/distribute/users/build-buzz.jd
+++ b/docs/html/distribute/users/build-buzz.jd
@@ -28,9 +28,6 @@
Link to Your Apps in Google Play
</h2>
-
-</div>
-
<p>
After publishing your apps, you can take Android users directly to your
app/games detail page on Google Play by <a href=
@@ -64,9 +61,6 @@
Use the Google Play Badge
</h2>
-
-</div>
-
<div class="figure" style="margin:0 3em;">
<img src="{@docRoot}images/gp-build-buzz-uplift-1.png">
</div>
diff --git a/docs/html/google/play/filters.jd b/docs/html/google/play/filters.jd
index 50cc807..a73b17f 100644
--- a/docs/html/google/play/filters.jd
+++ b/docs/html/google/play/filters.jd
@@ -382,9 +382,12 @@
suspended, users will not be able to reinstall or update it, even if it appears in their Downloads.</p> </td></tr>
<tr>
<td valign="top">Priced
- Status</td> <td valign="top"><p>Not all users can see paid apps. To show paid apps, a device
-must have a SIM card and be running Android 1.1 or later, and it must be in a
-country (as determined by SIM carrier) in which paid apps are available.</p></td>
+ Status</td> <td valign="top"><p>Not all users can see paid apps. To show
+ paid apps, a device must be running Android 1.1 or later, and it must be in
+ a country where paid apps are available. If a device has a SIM card, the SIM
+ carrier determines whether paid apps are available. If a device doesn't have
+ a SIM card, the device's IP address is used to determine whether the device
+ is in a country where paid apps are available.</p></td>
</tr> <tr>
<td valign="top">Country Targeting</td> <td valign="top"> <p>When you upload your app to
Google Play, you can select the countries in which to distribute your app
diff --git a/docs/html/guide/components/intents-common.jd b/docs/html/guide/components/intents-common.jd
index e6c9fc6..47174d2 100644
--- a/docs/html/guide/components/intents-common.jd
+++ b/docs/html/guide/components/intents-common.jd
@@ -2155,7 +2155,7 @@
<p><b>Example intent:</b></p>
<pre>
public void openWifiSettings() {
- Intent intent = new Intent(Intent.ACTION_WIFI_SETTINGS);
+ Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
diff --git a/docs/html/guide/topics/connectivity/nfc/nfc.jd b/docs/html/guide/topics/connectivity/nfc/nfc.jd
index 520f520..881a75f 100644
--- a/docs/html/guide/topics/connectivity/nfc/nfc.jd
+++ b/docs/html/guide/topics/connectivity/nfc/nfc.jd
@@ -487,19 +487,22 @@
intent and gets the NDEF messages from an intent extra.</p>
<pre>
-public void onResume() {
- super.onResume();
+@Override
+protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
...
- if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {
- Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
- if (rawMsgs != null) {
- msgs = new NdefMessage[rawMsgs.length];
- for (int i = 0; i < rawMsgs.length; i++) {
- msgs[i] = (NdefMessage) rawMsgs[i];
+ if (intent != null && NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
+ Parcelable[] rawMessages =
+ intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
+ if (rawMessages != null) {
+ NdefMessage[] messages = new NdefMessage[rawMessages.length];
+ for (int i = 0; i < rawMessages.length; i++) {
+ messages[i] = (NdefMessage) rawMessages[i];
}
+ // Process the messages array.
+ ...
}
}
- //process the msgs array
}
</pre>
diff --git a/docs/html/guide/topics/graphics/2d-graphics.jd b/docs/html/guide/topics/graphics/2d-graphics.jd
index 9cae53c..d7dd038 100644
--- a/docs/html/guide/topics/graphics/2d-graphics.jd
+++ b/docs/html/guide/topics/graphics/2d-graphics.jd
@@ -21,6 +21,7 @@
</li>
<li><a href="#shape-drawable">Shape Drawable</a></li>
<li><a href="#nine-patch">Nine-patch</a></li>
+ <li><a href="#vector-drawable">Vector Drawables</a></li>
</ol>
<h2>See also</h2>
@@ -428,58 +429,66 @@
of the object it's attached to.
-->
- <h2 id="nine-patch">Nine-patch</h2>
+<h2 id="nine-patch">Nine-patch</h2>
- <p>A {@link android.graphics.drawable.NinePatchDrawable} graphic is a stretchable bitmap
-image, which Android
- will automatically resize to accommodate the contents of the View in which you have
-placed it as the background.
- An example use of a NinePatch is the backgrounds used by standard Android buttons —
- buttons must stretch to accommodate strings of various lengths. A NinePatch drawable is a
-standard PNG
- image that includes an extra 1-pixel-wide border. It must be saved with the extension
- <code>.9.png</code>,
- and saved into the <code>res/drawable/</code> directory of your project.
- </p>
- <p>
- The border is used to define the stretchable and static areas of
- the image. You indicate a stretchable section by drawing one (or more) 1-pixel-wide
- black line(s) in the left and top part of the border (the other border pixels should
- be fully transparent or white). You can have as many stretchable sections as you want:
- their relative size stays the same, so the largest sections always remain the largest.
- </p>
- <p>
- You can also define an optional drawable section of the image (effectively,
- the padding lines) by drawing a line on the right and bottom lines.
- If a View object sets the NinePatch as its background and then specifies the
- View's text, it will stretch itself so that all the text fits inside only
- the area designated by the right and bottom lines (if included). If the
- padding lines are not included, Android uses the left and top lines to
- define this drawable area.
- </p>
- <p>To clarify the difference between the different lines, the left and top lines define
- which pixels of the image are allowed to be replicated in order to stretch the image.
- The bottom and right lines define the relative area within the image that the contents
- of the View are allowed to lie within.</p>
- <p>
- Here is a sample NinePatch file used to define a button:
- </p>
- <img src="{@docRoot}images/ninepatch_raw.png" alt="" />
-
- <p>This NinePatch defines one stretchable area with the left and top lines
- and the drawable area with the bottom and right lines. In the top image, the dotted grey
- lines identify the regions of the image that will be replicated in order to stretch the
-image. The pink
- rectangle in the bottom image identifies the region in which the contents of the View are
-allowed.
- If the contents don't fit in this region, then the image will be stretched so that they
-do.
+<p>
+ A {@link android.graphics.drawable.NinePatchDrawable} graphic is a
+ stretchable bitmap image, which Android will automatically resize to
+ accommodate the contents of the View in which you have placed it as the
+ background. An example use of a NinePatch is the backgrounds used by
+ standard Android buttons — buttons must stretch to accommodate strings of
+ various lengths. A NinePatch drawable is a standard PNG image that includes
+ an extra 1-pixel-wide border. It must be saved with the extension
+ <code>.9.png</code>, and saved into the <code>res/drawable/</code> directory
+ of your project.
</p>
-<p>The <a href="{@docRoot}tools/help/draw9patch.html">Draw 9-patch</a> tool offers
- an extremely handy way to create your NinePatch images, using a WYSIWYG graphics editor. It
-even raises warnings if the region you've defined for the stretchable area is at risk of
-producing drawing artifacts as a result of the pixel replication.
+<p>
+ The border is used to define the stretchable and static areas of the image.
+ You indicate a stretchable section by drawing one (or more) 1-pixel-wide
+ black line(s) in the left and top part of the border (the other border
+ pixels should be fully transparent or white). You can have as many
+ stretchable sections as you want: their relative size stays the same, so the
+ largest sections always remain the largest.
+</p>
+
+<p>
+ You can also define an optional drawable section of the image (effectively,
+ the padding lines) by drawing a line on the right and bottom lines. If a
+ View object sets the NinePatch as its background and then specifies the
+ View's text, it will stretch itself so that all the text fits inside only
+ the area designated by the right and bottom lines (if included). If the
+ padding lines are not included, Android uses the left and top lines to
+ define this drawable area.
+</p>
+
+<p>
+ To clarify the difference between the different lines, the left and top
+ lines define which pixels of the image are allowed to be replicated in order
+ to stretch the image. The bottom and right lines define the relative area
+ within the image that the contents of the View are allowed to lie within.
+</p>
+
+<p>
+ Here is a sample NinePatch file used to define a button:
+</p>
+<img src="{@docRoot}images/ninepatch_raw.png" alt="">
+<p>
+ This NinePatch defines one stretchable area with the left and top lines and
+ the drawable area with the bottom and right lines. In the top image, the
+ dotted grey lines identify the regions of the image that will be replicated
+ in order to stretch the image. The pink rectangle in the bottom image
+ identifies the region in which the contents of the View are allowed. If the
+ contents don't fit in this region, then the image will be stretched so that
+ they do.
+</p>
+
+<p>
+ The <a href="{@docRoot}tools/help/draw9patch.html">Draw 9-patch</a> tool
+ offers an extremely handy way to create your NinePatch images, using a
+ WYSIWYG graphics editor. It even raises warnings if the region you've
+ defined for the stretchable area is at risk of producing drawing artifacts
+ as a result of the pixel replication.
</p>
<h3>Example XML</h3>
@@ -516,3 +525,265 @@
</p>
<img src="{@docRoot}images/ninepatch_examples.png" alt=""/>
+
+<h2 id="vector-drawable">
+ Vector Drawables
+</h2>
+
+<p>
+ A {@link android.graphics.drawable.VectorDrawable} graphic replaces multiple
+ PNG assets with a single vector graphic. The vector graphic is defined in an
+ XML file as a set of points, lines, and curves along with its associated
+ color information.
+</p>
+
+<p>
+ The major advantage of using a vector graphic is image scalability. Using
+ vector graphics resizes the same file for different screen densities without
+ loss of image quality. This results in smaller APK files and less developer
+ maintenance. You can also use vector images for animation by using multiple
+ XML files instead of multiple images for each display resolution.
+</p>
+
+<p>
+ Let's go through an example to understand the benefits. An image of size 100
+ x 100 dp may render good quality on a smaller display resolution. On larger
+ devices, the app might want to use a 400 x 400 dp version of the image.
+ Normally, developers create multiple versions of an asset to cater to
+ different screen densities. This approach consumes more development efforts,
+ and results in a larger APK, which takes more space on the device.
+</p>
+
+<p>
+ As of Android 5.0 (API level 21), there are two classes that support vector
+ graphics as a drawable resource: {@link
+ android.graphics.drawable.VectorDrawable} and {@link
+ android.graphics.drawable.AnimatedVectorDrawable}. For more information
+ about using the VectorDrawable and the AnimatedVectorDrawable classes, read
+ the <a href="#vector-drawable-class">About VectorDrawable class</a> and
+ <a href="#animated-vector-drawable-class">About AnimatedVectorDrawable
+ class</a> sections.
+</p>
+
+<h3 id="vector-drawable-class">About VectorDrawable class</h3>
+<p>
+ {@link android.graphics.drawable.VectorDrawable} defines a static drawable
+ object. Similar to the SVG format, each vector graphic is defined as a tree
+ hierachy, which is made up of <code>path</code> and <code>group</code> objects.
+ Each <code>path</code> contains the geometry of the object's outline and
+ <code>group</code> contains details for transformation. All paths are drawn
+ in the same order as they appear in the XML file.
+</p>
+
+<img src="{@docRoot}images/guide/topics/graphics/vectorpath.png" alt=""/>
+<p class="img-caption">
+ <strong>Figure 1.</strong> Sample hierarchy of a vector drawable asset
+</p>
+
+
+<p>
+ The <a href="{@docRoot}studio/write/vector-asset-studio.html">Vector Asset
+ Studio</a> tool offers a simple way to add a vector graphic to the project
+ as an XML file.
+</p>
+
+<h4>
+ Example XML
+</h4>
+
+<p>
+ Here is a sample <code>VectorDrawable</code> XML file that renders an image
+ of a battery in the charging mode.
+</p>
+
+<pre>
+<!-- res/drawable/battery_charging.xml -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ <!-- intrinsic size of the drawable -->
+ android:height="24dp"
+ android:width="24dp"
+ <!-- size of the virtual canvas -->
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <group
+ android:name="rotationGroup"
+ android:pivotX="10.0"
+ android:pivotY="10.0"
+ android:rotation="15.0" >
+ <path
+ android:name="vect"
+ android:fillColor="#FF000000"
+ android:pathData="M15.67,4H14V2h-4v2H8.33C7.6,4 7,4.6 7,5.33V9h4.93L13,7v2h4V5.33C17,4.6 16.4,4 15.67,4z"
+ android:fillAlpha=".3"/>
+ <path
+ android:name="draw"
+ android:fillColor="#FF000000"
+ android:pathData="M13,12.5h2L11,20v-5.5H9L11.93,9H7v11.67C7,21.4 7.6,22 8.33,22h7.33c0.74,0 1.34,-0.6 1.34,-1.33V9h-4v3.5z"/>
+ </group>
+</vector>
+</pre>
+
+<p>This XML renders the following image:
+</p>
+
+<img src=
+"{@docRoot}images/guide/topics/graphics/ic_battery_charging_80_black_24dp.png"
+alt=""/>
+
+<h3 id="animated-vector-drawable-class">
+ About AnimatedVectorDrawable class
+</h3>
+
+<p>
+ {@link android.graphics.drawable.AnimatedVectorDrawable
+ AnimatedVectorDrawable} adds animation to the properties of a vector
+ graphic. You can define an animated vector graphic as three separate
+ resource files or as a single XML file defining the entire drawable. Let's
+ look at both the approaches for better understanding: <a href=
+ "#multiple-files">Multiple XML files</a> and <a href="#single-file">Single
+ XML file</a>.
+</p>
+
+<h4 id="multiple-files">
+ Multiple XML files
+</h4>
+<p>
+ By using this approach, you can define three separate XML files:
+
+<ul>
+ <li>A {@link android.graphics.drawable.VectorDrawable} XML file.
+ </li>
+
+ <li>
+ An {@link android.graphics.drawable.AnimatedVectorDrawable} XML file that
+defines the target {@link android.graphics.drawable.VectorDrawable}, the
+target paths and groups to animate, the properties, and the animations defined
+as {@link android.animation.ObjectAnimator ObjectAnimator} objects or {@link
+android.animation.AnimatorSet AnimatorSet} objects.
+ </li>
+
+ <li>An animator XML file.
+ </li>
+</ul>
+</p>
+
+<h5>
+ Example of multiple XML files
+</h5>
+<p>
+ The following XML files demonstrate the animation of a vector graphic.
+
+<ul>
+ <li>VectorDrawable's XML file: <code>vd.xml</code>
+ </li>
+
+ <li style="list-style: none; display: inline">
+<pre>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="64dp"
+ android:width="64dp"
+ android:viewportHeight="600"
+ android:viewportWidth="600" >
+ <group
+ android:name="rotationGroup"
+ android:pivotX="300.0"
+ android:pivotY="300.0"
+ android:rotation="45.0" >
+ <path
+ android:name="vectorPath"
+ android:fillColor="#000000"
+ android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
+ </group>
+</vector>
+</pre>
+ </li>
+
+ <li>AnimatedVectorDrawable's XML file: <code>avd.xml</code>
+ </li>
+
+ <li style="list-style: none; display: inline">
+<pre>
+<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawable="@drawable/vd" >
+ <target
+ android:name="rotationGroup"
+ android:animation="@anim/rotation" />
+ <target
+ android:name="vectorPath"
+ android:animation="@anim/path_morph" />
+</animated-vector>
+</pre>
+ </li>
+
+ <li>Animator XML files that are used in the AnimatedVectorDrawable's XML
+ file: <code>rotation.xml</code> and <code>path_morph.xml</code>
+ </li>
+
+ <li style="list-style: none; display: inline">
+<pre>
+<objectAnimator
+ android:duration="6000"
+ android:propertyName="rotation"
+ android:valueFrom="0"
+ android:valueTo="360" />
+</pre>
+
+<pre>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <objectAnimator
+ android:duration="3000"
+ android:propertyName="pathData"
+ android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z"
+ android:valueTo="M300,70 l 0,-70 70,0 0,140 -70,0 z"
+ android:valueType="pathType"/>
+</set>
+</pre>
+ </li>
+</ul>
+</p>
+<h4 id="single-file">
+ Single XML file
+</h4>
+
+<p>
+ By using this approach, you can merge the related XML files into a single
+ XML file through the XML Bundle Format. At the time of building the app, the
+ <code>aapt</code> tag creates separate resources and references them in the
+ animated vector. This approach requires Build Tools 24 or higher, and the
+ output is backward compatible.
+</p>
+
+<h5>
+ Example of a single XML file
+</h5>
+<pre>
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:name="root"
+ android:strokeWidth="2"
+ android:strokeLineCap="square"
+ android:strokeColor="?android:colorControlNormal"
+ android:pathData="M4.8,13.4 L9,17.6 M10.4,16.2 L19.6,7" />
+ </vector>
+ </aapt:attr>
+ <target android:name="root">
+ <aapt:attr name="android:animation">
+ <objectAnimator
+ android:propertyName="pathData"
+ android:valueFrom="M4.8,13.4 L9,17.6 M10.4,16.2 L19.6,7"
+ android:valueTo="M6.4,6.4 L17.6,17.6 M6.4,17.6 L17.6,6.4"
+ android:duration="300"
+ android:interpolator="@android:interpolator/fast_out_slow_in"
+ android:valueType="pathType" />
+ </aapt:attr>
+ </target>
+</animated-vector>
+</pre>
\ No newline at end of file
diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd
index 0cf517b..843fe1c 100755
--- a/docs/html/guide/topics/manifest/uses-feature-element.jd
+++ b/docs/html/guide/topics/manifest/uses-feature-element.jd
@@ -1733,7 +1733,7 @@
</p>
<p>
<code>android.hardware.location.network</code>
- (Only when target API level is 20 orlower.)
+ (Only when target API level is 20 or lower.)
</p>
</td>
<!-- <td></td> -->
@@ -1746,7 +1746,7 @@
</p>
<p>
<code>android.hardware.location.gps</code>
- (Only when target API level is 20 orlower.)
+ (Only when target API level is 20 or lower.)
</p>
</td>
diff --git a/docs/html/guide/topics/providers/content-provider-creating.jd b/docs/html/guide/topics/providers/content-provider-creating.jd
index ec6909c..59dc108 100755
--- a/docs/html/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html/guide/topics/providers/content-provider-creating.jd
@@ -460,7 +460,7 @@
* present. Get the last path segment from the URI; this is the _ID value.
* Then, append the value to the WHERE clause for the query
*/
- selection = selection + "_ID = " uri.getLastPathSegment();
+ selection = selection + "_ID = " + uri.getLastPathSegment();
break;
default:
diff --git a/docs/html/guide/topics/ui/drag-drop.jd b/docs/html/guide/topics/ui/drag-drop.jd
index 092271b..4a87cd4 100644
--- a/docs/html/guide/topics/ui/drag-drop.jd
+++ b/docs/html/guide/topics/ui/drag-drop.jd
@@ -400,7 +400,7 @@
<td style="text-align: center;">X</td>
<td style="text-align: center;">X</td>
<td style="text-align: center;">X</td>
- <td style="text-align: center;"> </td>
+ <td style="text-align: center;">X</td>
<td style="text-align: center;"> </td>
<td style="text-align: center;"> </td>
</tr>
diff --git a/docs/html/images/brand/android_logo_no.png b/docs/html/images/brand/android_logo_no.png
index 8de22d8..946bc49 100644
--- a/docs/html/images/brand/android_logo_no.png
+++ b/docs/html/images/brand/android_logo_no.png
Binary files differ
diff --git a/docs/html/images/brand/android_logo_no_2x.png b/docs/html/images/brand/android_logo_no_2x.png
new file mode 100644
index 0000000..8434c79
--- /dev/null
+++ b/docs/html/images/brand/android_logo_no_2x.png
Binary files differ
diff --git a/docs/html/images/develop/hero-layout-editor.png b/docs/html/images/develop/hero-layout-editor.png
new file mode 100644
index 0000000..195150e
--- /dev/null
+++ b/docs/html/images/develop/hero-layout-editor.png
Binary files differ
diff --git a/docs/html/images/develop/hero-layout-editor_2x.png b/docs/html/images/develop/hero-layout-editor_2x.png
index 56dfbf3..60c3d24 100644
--- a/docs/html/images/develop/hero-layout-editor_2x.png
+++ b/docs/html/images/develop/hero-layout-editor_2x.png
Binary files differ
diff --git a/docs/html/images/guide/topics/graphics/ic_battery_charging_80_black_24dp.png b/docs/html/images/guide/topics/graphics/ic_battery_charging_80_black_24dp.png
new file mode 100644
index 0000000..44a4e86
--- /dev/null
+++ b/docs/html/images/guide/topics/graphics/ic_battery_charging_80_black_24dp.png
Binary files differ
diff --git a/docs/html/images/guide/topics/graphics/vectorpath.png b/docs/html/images/guide/topics/graphics/vectorpath.png
new file mode 100644
index 0000000..592bab67
--- /dev/null
+++ b/docs/html/images/guide/topics/graphics/vectorpath.png
Binary files differ
diff --git a/docs/html/index.jd b/docs/html/index.jd
index 39e3d73..78fc848 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -73,14 +73,19 @@
</a>
</div>
<div class="col-7of16 col-pull-6of16">
- <h1 class="dac-hero-title" style="color:#004d40">Android Studio 2.2!</h1>
-<p class="dac-hero-description" style="color:#004d40">The latest update is
-packed with over 20 new features, like a rewritten layout editor with the
-new constraint layout, support for Android 7.0 Nougat, Espresso test recording,
-enhanced Jack compiler / Java 8 support, expanded C++ support with CMake and
-NDK-Build, and much more!</p>
-<p class="dac-hero-description" style="color:#004d40">Android Studio 2.2
-helps you code faster and smarter.</p>
+ <h1 class="dac-hero-title" style="color:#004d40">Android Studio 2.2</h1>
+
+<p class="dac-hero-description" style="color:#004d40">Packed with 20+ new
+features, Android Studio 2.2 focuses on speed, smarts, and Android platform
+support.</p>
+
+<p class="dac-hero-description" style="color:#004d40">Develop faster with
+features such as the new Layout Editor, and develop smarter with the new APK
+analyzer, expanded code analysis and more.</p>
+
+<p class="dac-hero-description" style="color:#004d40">Plus, this update
+includes support for all the latest developer features in Android 7.0 Nougat,
+with an updated emulator to test them all out.</p>
<p style="margin-top:24px">
<a class="dac-hero-cta" href="/studio/index.html" style="color:#004d40">
@@ -88,9 +93,9 @@
Get Android Studio 2.2
</a>
<wbr>
- <a class="dac-hero-cta" href="/studio/releases/index.html" style="color:#004d40">
+ <a class="dac-hero-cta" href="/studio/features.html" style="color:#004d40">
<span class="dac-sprite dac-auto-chevron"></span>
- See the release notes</a>
+ See more features</a>
</p>
</div>
</div>
diff --git a/docs/html/jd_extras_en.js b/docs/html/jd_extras_en.js
index e4bd368..f76cf36 100644
--- a/docs/html/jd_extras_en.js
+++ b/docs/html/jd_extras_en.js
@@ -1032,6 +1032,17 @@
"type":"distribute"
},
{
+ "title": "Play Games Quality",
+ "category": "google",
+ "summary": "Meet the basic expectations of game players through compelling features and an intuitive, well-designed UI.",
+ "url": "https://developers.google.com/games/services/checklist",
+ "group": "",
+ "keywords": ["games", "play games", "quality"],
+ "tags": [],
+ "image": "images/cards/distribute/engage/card-game-services.png",
+ "type": "distribute"
+ },
+ {
"title":"Get Started with Analytics",
"category":"google",
"summary":"Get advanced insight into how players discover and play your games.",
@@ -2979,7 +2990,7 @@
"timestamp": 1383243492000,
"image": "images/cards/google-search_2x.png",
"title": "Set Up App Indexing",
- "summary": "Surface your app content in Google seaerch. Deep link direct to your apps.",
+ "summary": "Surface your app content in Google search. Deep link direct to your apps.",
"keywords": ["search", "appindexing", "engagement", "getusers"],
"type": "distribute",
"category": "google"
@@ -4376,6 +4387,7 @@
"distribute/essentials/quality/wear.html",
"distribute/essentials/quality/tv.html",
"distribute/essentials/quality/auto.html",
+ "https://developers.google.com/games/services/checklist",
"distribute/essentials/quality/billions.html",
"https://developers.google.com/edu/guidelines"
]
diff --git a/docs/html/training/accessibility/service.jd b/docs/html/training/accessibility/service.jd
index 9935c97..c034145 100755
--- a/docs/html/training/accessibility/service.jd
+++ b/docs/html/training/accessibility/service.jd
@@ -17,7 +17,7 @@
<li><a href="#create">Create Your Accessibility Service</a></li>
<li><a href="#configure">Configure Your Accessibility Service</a></li>
<li><a href="#events">Respond to AccessibilityEvents</a></li>
- <li><a href="#query">Query the View Heirarchy for More Context</a></li>
+ <li><a href="#query">Query the View Hierarchy for More Context</a></li>
</ol>
<h2>You should also read</h2>
@@ -200,7 +200,7 @@
}
</pre>
-<h2 id="query">Query the View Heirarchy for More Context</h2>
+<h2 id="query">Query the View Hierarchy for More Context</h2>
<p>This step is optional, but highly useful. The Android platform provides the ability for an
{@link android.accessibilityservice.AccessibilityService} to query the view
hierarchy, collecting information about the UI component that generated an event, and
diff --git a/docs/html/training/camera/videobasics.jd b/docs/html/training/camera/videobasics.jd
index 6da239a..b20cfef 100644
--- a/docs/html/training/camera/videobasics.jd
+++ b/docs/html/training/camera/videobasics.jd
@@ -108,7 +108,7 @@
<pre>
@Override
-protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
Uri videoUri = intent.getData();
mVideoView.setVideoURI(videoUri);
diff --git a/docs/html/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html/training/monitoring-device-state/connectivity-monitoring.jd
index 2dd904f..c63822b 100644
--- a/docs/html/training/monitoring-device-state/connectivity-monitoring.jd
+++ b/docs/html/training/monitoring-device-state/connectivity-monitoring.jd
@@ -33,7 +33,7 @@
<p>Some of the most common uses for repeating alarms and background services is to schedule regular
updates of application data from Internet resources, cache data, or execute long running downloads.
But if you aren't connected to the Internet, or the connection is too slow to complete your
-download, why both waking the device to schedule the update at all?</p>
+download, why bother waking the device to schedule the update at all?</p>
<p>You can use the {@link android.net.ConnectivityManager} to check that you're actually
connected to the Internet, and if so, what type of connection is in place.</p>
diff --git a/docs/html/training/volley/index.jd b/docs/html/training/volley/index.jd
index a8c4b84..d3645d9 100755
--- a/docs/html/training/volley/index.jd
+++ b/docs/html/training/volley/index.jd
@@ -42,7 +42,7 @@
<li>Automatic scheduling of network requests.</li>
<li>Multiple concurrent network connections.</li>
<li>Transparent disk and memory response caching with standard HTTP
-<a href=http://en.wikipedia.org/wiki/Cache_coherence">cache coherence</a>.</li>
+<a href="http://en.wikipedia.org/wiki/Cache_coherence">cache coherence</a>.</li>
<li>Support for request prioritization.</li>
<li>Cancellation request API. You can cancel a single request, or you can set blocks or
scopes of requests to cancel.</li>
@@ -66,13 +66,22 @@
<a href="https://android.googlesource.com/platform/frameworks/volley">AOSP</a>
repository at {@code frameworks/volley} and contains the main request dispatch pipeline
as well as a set of commonly applicable utilities, available in the Volley "toolbox." The
-easiest way to add Volley to your project is to clone the Volley repository and set it as
-a library project:</p>
+easiest way to add Volley to your project is to add the following dependency to your app's
+build.gradle file:
+
+<pre class="no-pretty-print">
+dependencies {
+ ...
+ compile 'com.android.volley:volley:1.0.0'
+}
+</pre>
+
+You can also clone the Volley repository and set it as a library project:</p>
<ol>
<li>Git clone the repository by typing the following at the command line:
-<pre>
+<pre class="no-pretty-print">
git clone https://android.googlesource.com/platform/frameworks/volley
</pre>
</li>
diff --git a/docs/image_sources/brand/android_logo_no.graffle/data.plist b/docs/image_sources/brand/android_logo_no.graffle/data.plist
new file mode 100644
index 0000000..1132a59
--- /dev/null
+++ b/docs/image_sources/brand/android_logo_no.graffle/data.plist
Binary files differ
diff --git a/docs/image_sources/brand/android_logo_no.graffle/image1.jpg b/docs/image_sources/brand/android_logo_no.graffle/image1.jpg
new file mode 100644
index 0000000..ff29599
--- /dev/null
+++ b/docs/image_sources/brand/android_logo_no.graffle/image1.jpg
Binary files differ
diff --git a/keystore/java/android/security/KeyPairGeneratorSpec.java b/keystore/java/android/security/KeyPairGeneratorSpec.java
index d849317..d023866 100644
--- a/keystore/java/android/security/KeyPairGeneratorSpec.java
+++ b/keystore/java/android/security/KeyPairGeneratorSpec.java
@@ -251,8 +251,9 @@
/**
* Builder class for {@link KeyPairGeneratorSpec} objects.
* <p>
- * This will build a parameter spec for use with the <a href="{@docRoot}
- * training/articles/keystore.html">Android KeyStore facility</a>.
+ * This will build a parameter spec for use with the
+ * <a href="{@docRoot}training/articles/keystore.html">Android KeyStore
+ * facility</a>.
* <p>
* The required fields must be filled in with the builder.
* <p>
diff --git a/location/java/android/location/Address.java b/location/java/android/location/Address.java
index b152f48..335ad5e 100644
--- a/location/java/android/location/Address.java
+++ b/location/java/android/location/Address.java
@@ -28,7 +28,7 @@
/**
* A class representing an Address, i.e, a set of Strings describing a location.
*
- * The addres format is a simplified version of xAL (eXtensible Address Language)
+ * The address format is a simplified version of xAL (eXtensible Address Language)
* http://www.oasis-open.org/committees/ciq/ciq.html#6
*/
public class Address implements Parcelable {
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index ca62970..d13039e 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -569,7 +569,7 @@
<!-- Title of dialog shown when data usage has exceeded limit and has been disabled. [CHAR LIMIT=48] -->
<string name="data_usage_disabled_dialog_title">Data is paused</string>
<!-- Body of dialog shown when data usage has exceeded limit and has been disabled. [CHAR LIMIT=NONE] -->
- <string name="data_usage_disabled_dialog">Because your set data limit was reached, the device has paused data usage for the remainder of this cycle.\n\nResuming may lead to charges from your carrier.</string>
+ <string name="data_usage_disabled_dialog">The data limit you set has been reached. You are no longer using cellular data.\n\nIf you resume, charges may apply for data usage.</string>
<!-- Dialog button indicating that data connection should be re-enabled. [CHAR LIMIT=28] -->
<string name="data_usage_disabled_dialog_enable">Resume</string>
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 9949949..554696d 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -810,9 +810,10 @@
}
private void updateLowPowerModeLocked() {
- if (mIsPowered && mLowPowerModeSetting) {
+ if ((mIsPowered || !mBatteryLevelLow && !mBootCompleted) && mLowPowerModeSetting) {
if (DEBUG_SPEW) {
- Slog.d(TAG, "updateLowPowerModeLocked: powered, turning setting off");
+ Slog.d(TAG, "updateLowPowerModeLocked: powered or booting with sufficient battery,"
+ + " turning setting off");
}
// Turn setting off if powered
Settings.Global.putInt(mContext.getContentResolver(),
diff --git a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
index 6b273210..6197c42 100644
--- a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
+++ b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
@@ -44,6 +44,7 @@
import android.media.AudioManager;
import android.media.AudioSystem;
import android.net.Uri;
+import android.net.wifi.WifiManager;
import android.os.Environment;
import android.os.FileUtils;
import android.os.Handler;
@@ -117,6 +118,7 @@
private ServiceThread mHandlerThread;
private PendingIntent mResetDemoPendingIntent;
private CameraManager mCameraManager;
+ private WifiManager mWifiManager;
private String[] mCameraIdsWithFlash;
private Configuration mSystemUserConfiguration;
private PreloadAppsInstaller mPreloadAppsInstaller;
@@ -491,6 +493,7 @@
PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP,
TAG);
mNm = NotificationManager.from(getContext());
+ mWifiManager = (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
mCameraManager = (CameraManager) getContext()
.getSystemService(Context.CAMERA_SERVICE);
mCameraIdsWithFlash = getCameraIdsWithFlash();
@@ -528,6 +531,9 @@
mAmi.updatePersistentConfigurationForUser(getSystemUsersConfiguration(), userId);
turnOffAllFlashLights();
muteVolumeStreams();
+ if (!mWifiManager.isWifiEnabled()) {
+ mWifiManager.setWifiEnabled(true);
+ }
// Disable lock screen for demo users.
LockPatternUtils lockPatternUtils = new LockPatternUtils(getContext());
lockPatternUtils.setLockScreenDisabled(true, userId);
diff --git a/telephony/java/android/telephony/DisconnectCause.java b/telephony/java/android/telephony/DisconnectCause.java
index f5e422d..0334254 100644
--- a/telephony/java/android/telephony/DisconnectCause.java
+++ b/telephony/java/android/telephony/DisconnectCause.java
@@ -226,6 +226,13 @@
*/
public static final int DATA_LIMIT_REACHED = 55;
+ /**
+ * The emergency call was terminated because it was dialed on the wrong SIM slot.
+ * The call needs to be redialed the other slot.
+ * {@hide}
+ */
+ public static final int DIALED_ON_WRONG_SLOT = 56;
+
//*********************************************************************************************
// When adding a disconnect type:
// 1) Please assign the new type the next id value below.
@@ -234,14 +241,14 @@
// 4) Update toString() with the newly added disconnect type.
// 5) Update android.telecom.DisconnectCauseUtil with any mappings to a telecom.DisconnectCause.
//
- // NextId: 56
+ // NextId: 57
//*********************************************************************************************
/** Smallest valid value for call disconnect codes. */
public static final int MINIMUM_VALID_VALUE = NOT_DISCONNECTED;
/** Largest valid value for call disconnect codes. */
- public static final int MAXIMUM_VALID_VALUE = DATA_LIMIT_REACHED;
+ public static final int MAXIMUM_VALID_VALUE = DIALED_ON_WRONG_SLOT;
/** Private constructor to avoid class instantiation. */
private DisconnectCause() {
@@ -361,6 +368,8 @@
return "DATA_DISABLED";
case DATA_LIMIT_REACHED:
return "DATA_LIMIT_REACHED";
+ case DIALED_ON_WRONG_SLOT:
+ return "DIALED_ON_WRONG_SLOT";
default:
return "INVALID: " + cause;
}