diff options
| -rw-r--r-- | api/current.txt | 1198 | ||||
| -rw-r--r-- | api/system-current.txt | 1198 | ||||
| -rw-r--r-- | api/test-current.txt | 1198 |
3 files changed, 1797 insertions, 1797 deletions
diff --git a/api/current.txt b/api/current.txt index 05f0cab3ecfd..8bbbee229369 100644 --- a/api/current.txt +++ b/api/current.txt @@ -2906,11 +2906,11 @@ package android.accounts { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.app { 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 @@ package android.app { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.database { 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 @@ package android.graphics.drawable { 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 @@ package android.hardware.camera2 { } 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2.params { 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.math { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.util { 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 @@ package android.icu.util { 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.opengl { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.service.carrier { 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 @@ package android.service.media { 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); } @@ -37591,14 +37591,14 @@ package android.telephony.gsm { 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(); @@ -37613,7 +37613,7 @@ package android.test { 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(); @@ -37659,7 +37659,7 @@ package android.test { 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(); @@ -37685,8 +37685,8 @@ package android.test { 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...); @@ -37726,7 +37726,7 @@ package android.test { 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 { @@ -37781,20 +37781,20 @@ package android.test { 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 { @@ -37802,11 +37802,11 @@ package android.test { 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(); @@ -37819,7 +37819,7 @@ package android.test { 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; @@ -38174,7 +38174,7 @@ package android.test.suitebuilder { 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(); @@ -38617,7 +38617,7 @@ package android.text { 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); @@ -38639,7 +38639,7 @@ package android.text { 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(); @@ -38649,7 +38649,7 @@ package android.text { 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 @@ -39626,7 +39626,7 @@ package android.text.style { 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); @@ -39722,7 +39722,7 @@ package android.text.style { 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); @@ -40129,7 +40129,7 @@ package android.util { 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>); @@ -40157,7 +40157,7 @@ package android.util { 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>); @@ -40178,7 +40178,7 @@ package android.util { 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); } @@ -40323,13 +40323,13 @@ package android.util { 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); @@ -40429,7 +40429,7 @@ package android.util { 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); @@ -40449,7 +40449,7 @@ package android.util { 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(); @@ -40537,9 +40537,9 @@ package android.util { 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; } @@ -40572,22 +40572,22 @@ package android.util { 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); @@ -40631,7 +40631,7 @@ package android.util { 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); @@ -45360,7 +45360,7 @@ package android.webkit { 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); } @@ -46094,7 +46094,7 @@ package android.widget { 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); @@ -46217,7 +46217,7 @@ package android.widget { 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[]); @@ -46278,7 +46278,7 @@ package android.widget { 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); @@ -48563,7 +48563,7 @@ package android.widget { package com.android.internal.util { - public abstract interface Predicate { + public abstract interface Predicate<T> { method public abstract boolean apply(T); } @@ -50635,22 +50635,22 @@ package java.lang { 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 A[] getAnnotationsByType(java.lang.Class<A>); + method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>); method public java.lang.String getCanonicalName(); method public java.lang.ClassLoader getClassLoader(); method public java.lang.Class<?>[] getClasses(); method public java.lang.Class<?> getComponentType(); method public java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; method public java.lang.reflect.Constructor<?>[] getConstructors() throws java.lang.SecurityException; - method public A getDeclaredAnnotation(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 java.lang.Class<?>[] getDeclaredClasses(); method public java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; @@ -50762,7 +50762,7 @@ package java.lang { public abstract interface Cloneable { } - public abstract interface Comparable { + public abstract interface Comparable<T> { method public abstract int compareTo(T); } @@ -50816,7 +50816,7 @@ package java.lang { 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); @@ -50826,7 +50826,7 @@ package java.lang { 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 { @@ -50945,7 +50945,7 @@ package java.lang { 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); } @@ -51024,7 +51024,7 @@ package java.lang { 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(); @@ -51239,12 +51239,12 @@ package java.lang { } 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(); @@ -51843,13 +51843,13 @@ package java.lang { 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(); method public void remove(); method public void set(T); - method public static java.lang.ThreadLocal<S> withInitial(java.util.function.Supplier<? extends S>); + method public static <S> java.lang.ThreadLocal<S> withInitial(java.util.function.Supplier<? extends S>); } public class Throwable implements java.io.Serializable { @@ -51987,30 +51987,30 @@ package java.lang.annotation { 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>); } @@ -52021,7 +52021,7 @@ package java.lang.reflect { 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(); @@ -52030,12 +52030,12 @@ package java.lang.reflect { } 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>); } @@ -52063,7 +52063,7 @@ package java.lang.reflect { 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.Executable { + public final class Constructor<T> extends java.lang.reflect.Executable { method public java.lang.Class<T> getDeclaringClass(); method public java.lang.Class<?>[] getExceptionTypes(); method public int getModifiers(); @@ -52211,7 +52211,7 @@ package java.lang.reflect { } public final class Parameter implements java.lang.reflect.AnnotatedElement { - 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 java.lang.reflect.Executable getDeclaringExecutable(); @@ -52248,7 +52248,7 @@ package java.lang.reflect { 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(); @@ -53037,7 +53037,7 @@ package java.net { 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(); } @@ -53569,9 +53569,9 @@ package java.nio.channels { } public abstract interface AsynchronousByteChannel implements java.nio.channels.AsynchronousChannel { - method public abstract void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer); - method public abstract void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer); } @@ -53599,25 +53599,25 @@ package java.nio.channels { public abstract class AsynchronousFileChannel implements java.nio.channels.AsynchronousChannel { ctor protected AsynchronousFileChannel(); method public abstract void force(boolean) throws java.io.IOException; - method public abstract void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); - method public final void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); + method public abstract <A> void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); + method public final <A> void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); method public abstract java.util.concurrent.Future<java.nio.channels.FileLock> lock(long, long, boolean); method public final java.util.concurrent.Future<java.nio.channels.FileLock> lock(); method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; - method public abstract void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer, long); method public abstract long size() throws java.io.IOException; method public abstract java.nio.channels.AsynchronousFileChannel truncate(long) throws java.io.IOException; method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException; method public final java.nio.channels.FileLock tryLock() throws java.io.IOException; - method public abstract void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer, long); } public abstract class AsynchronousServerSocketChannel implements java.nio.channels.AsynchronousChannel java.nio.channels.NetworkChannel { ctor protected AsynchronousServerSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider); - method public abstract void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, ? super A>); + method public abstract <A> void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, ? super A>); method public abstract java.util.concurrent.Future<java.nio.channels.AsynchronousSocketChannel> accept(); method public final java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException; method public abstract java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException; @@ -53625,30 +53625,30 @@ package java.nio.channels { method public static java.nio.channels.AsynchronousServerSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; method public static java.nio.channels.AsynchronousServerSocketChannel open() throws java.io.IOException; method public final java.nio.channels.spi.AsynchronousChannelProvider provider(); - method public abstract java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public abstract <T> java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; } public abstract class AsynchronousSocketChannel implements java.nio.channels.AsynchronousByteChannel java.nio.channels.NetworkChannel { ctor protected AsynchronousSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider); method public abstract java.nio.channels.AsynchronousSocketChannel bind(java.net.SocketAddress) throws java.io.IOException; - method public abstract void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void, ? super A>); + method public abstract <A> void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Void> connect(java.net.SocketAddress); method public abstract java.net.SocketAddress getLocalAddress() throws java.io.IOException; method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException; method public static java.nio.channels.AsynchronousSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; method public static java.nio.channels.AsynchronousSocketChannel open() throws java.io.IOException; method public final java.nio.channels.spi.AsynchronousChannelProvider provider(); - method public abstract void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); - method public final void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public final <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer); - method public abstract void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); - method public abstract java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public abstract <A> void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); + method public abstract <T> java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; method public abstract java.nio.channels.AsynchronousSocketChannel shutdownInput() throws java.io.IOException; method public abstract java.nio.channels.AsynchronousSocketChannel shutdownOutput() throws java.io.IOException; - method public abstract void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); - method public final void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public final <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer); - method public abstract void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); } public abstract interface ByteChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.WritableByteChannel { @@ -53688,7 +53688,7 @@ package java.nio.channels { ctor public ClosedSelectorException(); } - public abstract interface CompletionHandler { + public abstract interface CompletionHandler<V, A> { method public abstract void completed(V, A); method public abstract void failed(java.lang.Throwable, A); } @@ -53712,7 +53712,7 @@ package java.nio.channels { 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; @@ -53817,8 +53817,8 @@ package java.nio.channels { 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(); } @@ -53940,7 +53940,7 @@ package java.nio.channels { method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException; method public abstract java.net.SocketAddress getLocalAddress() 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(); } @@ -53963,7 +53963,7 @@ package java.nio.channels { 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(); @@ -54248,11 +54248,11 @@ package java.nio.file { ctor public DirectoryNotEmptyException(java.lang.String); } - public abstract interface DirectoryStream implements java.io.Closeable java.lang.Iterable { + public abstract interface DirectoryStream<T> implements java.io.Closeable java.lang.Iterable { method public abstract java.util.Iterator<T> iterator(); } - public static abstract interface DirectoryStream.Filter { + public static abstract interface DirectoryStream.Filter<T> { method public abstract boolean accept(T) throws java.io.IOException; } @@ -54264,7 +54264,7 @@ package java.nio.file { public abstract class FileStore { ctor protected FileStore(); method public abstract java.lang.Object getAttribute(java.lang.String) throws java.io.IOException; - method public abstract V getFileStoreAttributeView(java.lang.Class<V>); + method public abstract <V extends java.nio.file.attribute.FileStoreAttributeView> V getFileStoreAttributeView(java.lang.Class<V>); method public abstract long getTotalSpace() throws java.io.IOException; method public abstract long getUnallocatedSpace() throws java.io.IOException; method public abstract long getUsableSpace() throws java.io.IOException; @@ -54336,7 +54336,7 @@ package java.nio.file { enum_constant public static final java.nio.file.FileVisitResult TERMINATE; } - public abstract interface FileVisitor { + public abstract interface FileVisitor<T> { method public abstract java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException; method public abstract java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; method public abstract java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; @@ -54361,7 +54361,7 @@ package java.nio.file { method public static boolean exists(java.nio.file.Path, java.nio.file.LinkOption...); method public static java.util.stream.Stream<java.nio.file.Path> find(java.nio.file.Path, int, java.util.function.BiPredicate<java.nio.file.Path, java.nio.file.attribute.BasicFileAttributes>, java.nio.file.FileVisitOption...) throws java.io.IOException; method public static java.lang.Object getAttribute(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; - method public static V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); + method public static <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); method public static java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException; method public static java.nio.file.attribute.FileTime getLastModifiedTime(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.nio.file.attribute.UserPrincipal getOwner(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException; @@ -54394,7 +54394,7 @@ package java.nio.file { method public static byte[] readAllBytes(java.nio.file.Path) throws java.io.IOException; method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException; method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path) throws java.io.IOException; - method public static A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; + method public static <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.util.Map<java.lang.String, java.lang.Object> readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException; method public static java.nio.file.Path setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...) throws java.io.IOException; @@ -54502,17 +54502,17 @@ package java.nio.file { ctor public ReadOnlyFileSystemException(); } - public abstract interface SecureDirectoryStream implements java.nio.file.DirectoryStream { + public abstract interface SecureDirectoryStream<T> implements java.nio.file.DirectoryStream { method public abstract void deleteDirectory(T) throws java.io.IOException; method public abstract void deleteFile(T) throws java.io.IOException; - method public abstract V getFileAttributeView(java.lang.Class<V>); - method public abstract V getFileAttributeView(T, java.lang.Class<V>, java.nio.file.LinkOption...); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.lang.Class<V>); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(T, java.lang.Class<V>, java.nio.file.LinkOption...); method public abstract void move(T, java.nio.file.SecureDirectoryStream<T>, T) throws java.io.IOException; method public abstract java.nio.channels.SeekableByteChannel newByteChannel(T, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public abstract java.nio.file.SecureDirectoryStream<T> newDirectoryStream(T, java.nio.file.LinkOption...) throws java.io.IOException; } - public class SimpleFileVisitor implements java.nio.file.FileVisitor { + public class SimpleFileVisitor<T> implements java.nio.file.FileVisitor { ctor protected SimpleFileVisitor(); method public java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException; method public java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; @@ -54550,13 +54550,13 @@ package java.nio.file { field public static final java.nio.file.WatchEvent.Kind<java.lang.Object> OVERFLOW; } - public abstract interface WatchEvent { + public abstract interface WatchEvent<T> { method public abstract T context(); method public abstract int count(); method public abstract java.nio.file.WatchEvent.Kind<T> kind(); } - public static abstract interface WatchEvent.Kind { + public static abstract interface WatchEvent.Kind<T> { method public abstract java.lang.String name(); method public abstract java.lang.Class<T> type(); } @@ -54692,7 +54692,7 @@ package java.nio.file.attribute { method public abstract boolean isSystem(); } - public abstract interface FileAttribute { + public abstract interface FileAttribute<T> { method public abstract java.lang.String name(); method public abstract T value(); } @@ -54789,7 +54789,7 @@ package java.nio.file.spi { method public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public abstract void delete(java.nio.file.Path) throws java.io.IOException; method public boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException; - method public abstract V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); method public abstract java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException; method public abstract java.nio.file.FileSystem getFileSystem(java.net.URI); method public abstract java.nio.file.Path getPath(java.net.URI); @@ -54806,7 +54806,7 @@ package java.nio.file.spi { method public java.nio.file.FileSystem newFileSystem(java.nio.file.Path, java.util.Map<java.lang.String, ?>) throws java.io.IOException; method public java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; method public java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; - method public abstract A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; + method public abstract <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; method public abstract java.util.Map<java.lang.String, java.lang.Object> readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; method public java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException; method public abstract void setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...) throws java.io.IOException; @@ -54836,12 +54836,12 @@ package java.security { 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(); } @@ -54880,7 +54880,7 @@ package java.security { 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; @@ -54892,7 +54892,7 @@ package java.security { 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; @@ -55084,7 +55084,7 @@ package java.security { 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; } @@ -55093,7 +55093,7 @@ package java.security { 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; } @@ -55381,7 +55381,7 @@ package java.security { field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L } - public abstract interface PrivilegedAction { + public abstract interface PrivilegedAction<T> { method public abstract T run(); } @@ -55390,7 +55390,7 @@ package java.security { method public java.lang.Exception getException(); } - public abstract interface PrivilegedExceptionAction { + public abstract interface PrivilegedExceptionAction<T> { method public abstract T run() throws java.lang.Exception; } @@ -57584,11 +57584,11 @@ package java.sql { 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; } @@ -57712,7 +57712,7 @@ package java.sql { 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; } } @@ -58245,7 +58245,7 @@ package java.text { 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>); @@ -58259,10 +58259,10 @@ package java.util { 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>); @@ -58279,7 +58279,7 @@ package java.util { 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); @@ -58295,7 +58295,7 @@ package java.util { 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(); @@ -58303,7 +58303,7 @@ package java.util { 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(); @@ -58311,23 +58311,23 @@ package java.util { 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>); @@ -58359,7 +58359,7 @@ package java.util { 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>); @@ -58376,7 +58376,7 @@ package java.util { } 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); @@ -58393,10 +58393,10 @@ package java.util { 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); @@ -58405,8 +58405,8 @@ package java.util { 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); @@ -58454,15 +58454,15 @@ package java.util { 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); @@ -58480,11 +58480,11 @@ package java.util { 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); @@ -58504,18 +58504,18 @@ package java.util { 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[]); @@ -58699,7 +58699,7 @@ package java.util { 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(); @@ -58717,86 +58717,86 @@ package java.util { 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>); @@ -58855,7 +58855,7 @@ package java.util { 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); @@ -58885,7 +58885,7 @@ package java.util { 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); @@ -58916,7 +58916,7 @@ package java.util { 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>); @@ -58924,23 +58924,23 @@ package java.util { 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); - } - - public abstract interface Enumeration { + 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<E> { method public abstract boolean hasMoreElements(); method public abstract E nextElement(); } @@ -58948,7 +58948,7 @@ package java.util { 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(); } @@ -59034,7 +59034,7 @@ package java.util { 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(); @@ -59054,7 +59054,7 @@ package java.util { 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); @@ -59065,7 +59065,7 @@ package java.util { 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(); @@ -59100,7 +59100,7 @@ package java.util { 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>); @@ -59167,14 +59167,14 @@ package java.util { 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(); @@ -59183,14 +59183,14 @@ package java.util { 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); @@ -59221,7 +59221,7 @@ package java.util { 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>); @@ -59248,10 +59248,10 @@ package java.util { 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(); @@ -59368,7 +59368,7 @@ package java.util { 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>); @@ -59396,11 +59396,11 @@ package java.util { 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(); @@ -59424,7 +59424,7 @@ package java.util { 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(); @@ -59448,7 +59448,7 @@ package java.util { 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(); @@ -59472,16 +59472,16 @@ package java.util { } 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); } @@ -59503,19 +59503,19 @@ package java.util { 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 { @@ -59526,7 +59526,7 @@ package java.util { 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 { @@ -59537,7 +59537,7 @@ package java.util { 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 { @@ -59548,10 +59548,10 @@ package java.util { 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); } @@ -59576,7 +59576,7 @@ package java.util { 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>); @@ -59625,7 +59625,7 @@ package java.util { 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); @@ -59777,15 +59777,15 @@ package java.util { 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(); @@ -59800,7 +59800,7 @@ package java.util { 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 { @@ -59826,7 +59826,7 @@ package java.util { 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(); @@ -59838,7 +59838,7 @@ package java.util { 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); @@ -59847,7 +59847,7 @@ package java.util { 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>); @@ -59890,7 +59890,7 @@ package java.util { 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(); @@ -59900,25 +59900,25 @@ package java.util { 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); @@ -59945,7 +59945,7 @@ package java.util { 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(); @@ -59980,7 +59980,7 @@ package java.util { 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(); @@ -60064,7 +60064,7 @@ package java.util { 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>); @@ -60101,7 +60101,7 @@ package java.util { 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>); @@ -60154,7 +60154,7 @@ package java.util { 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(); @@ -60189,7 +60189,7 @@ package java.util { 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(); @@ -60205,18 +60205,18 @@ package java.util.concurrent { 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>); @@ -60235,7 +60235,7 @@ package java.util.concurrent { 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); @@ -60267,7 +60267,7 @@ package java.util.concurrent { 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>); @@ -60286,7 +60286,7 @@ package java.util.concurrent { ctor public BrokenBarrierException(java.lang.String); } - public abstract interface Callable { + public abstract interface Callable<V> { method public abstract V call() throws java.lang.Exception; } @@ -60295,28 +60295,28 @@ package java.util.concurrent { 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(); @@ -60331,23 +60331,23 @@ package java.util.concurrent { 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); @@ -60367,7 +60367,7 @@ package java.util.concurrent { 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>); @@ -60375,17 +60375,17 @@ package java.util.concurrent { 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); @@ -60395,18 +60395,18 @@ package java.util.concurrent { 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); @@ -60416,7 +60416,7 @@ package java.util.concurrent { 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>); @@ -60430,29 +60430,29 @@ package java.util.concurrent { 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); @@ -60460,7 +60460,7 @@ package java.util.concurrent { 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); @@ -60468,13 +60468,13 @@ package java.util.concurrent { 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<?>); @@ -60486,11 +60486,11 @@ package java.util.concurrent { 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); @@ -60501,7 +60501,7 @@ package java.util.concurrent { 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); @@ -60531,7 +60531,7 @@ package java.util.concurrent { 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(); @@ -60542,14 +60542,14 @@ package java.util.concurrent { 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); @@ -60562,7 +60562,7 @@ package java.util.concurrent { 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>); @@ -60606,7 +60606,7 @@ package java.util.concurrent { 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>); @@ -60634,7 +60634,7 @@ package java.util.concurrent { 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[]); @@ -60666,10 +60666,10 @@ package java.util.concurrent { 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>); @@ -60687,7 +60687,7 @@ package java.util.concurrent { 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(); @@ -60724,7 +60724,7 @@ package java.util.concurrent { 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>); @@ -60745,7 +60745,7 @@ package java.util.concurrent { 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; @@ -60762,7 +60762,7 @@ package java.util.concurrent { 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(); @@ -60774,21 +60774,21 @@ package java.util.concurrent { 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<?>); @@ -60805,8 +60805,8 @@ package java.util.concurrent { 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); @@ -60834,7 +60834,7 @@ package java.util.concurrent { 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(); @@ -60843,7 +60843,7 @@ package java.util.concurrent { 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; } @@ -60856,11 +60856,11 @@ package java.util.concurrent { 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); @@ -60880,7 +60880,7 @@ package java.util.concurrent { 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(); @@ -60906,7 +60906,7 @@ package java.util.concurrent { 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; @@ -60914,7 +60914,7 @@ package java.util.concurrent { 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); @@ -60929,7 +60929,7 @@ package java.util.concurrent { 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>); @@ -60973,7 +60973,7 @@ package java.util.concurrent { 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>); @@ -60992,7 +60992,7 @@ package java.util.concurrent { 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>); @@ -61039,7 +61039,7 @@ package java.util.concurrent { 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>); @@ -61068,7 +61068,7 @@ package java.util.concurrent { 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(); @@ -61087,22 +61087,22 @@ package java.util.concurrent { 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 { @@ -61110,13 +61110,13 @@ package java.util.concurrent { 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); @@ -61146,7 +61146,7 @@ package java.util.concurrent { 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>); @@ -61264,7 +61264,7 @@ package java.util.concurrent { 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; @@ -61334,7 +61334,7 @@ package java.util.concurrent.atomic { 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); @@ -61349,7 +61349,7 @@ package java.util.concurrent.atomic { 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); @@ -61402,7 +61402,7 @@ package java.util.concurrent.atomic { 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); @@ -61417,13 +61417,13 @@ package java.util.concurrent.atomic { 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); @@ -61434,7 +61434,7 @@ package java.util.concurrent.atomic { 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>); @@ -61449,7 +61449,7 @@ package java.util.concurrent.atomic { 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>); @@ -61465,7 +61465,7 @@ package java.util.concurrent.atomic { 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); @@ -61474,13 +61474,13 @@ package java.util.concurrent.atomic { 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); @@ -61783,33 +61783,33 @@ package java.util.concurrent.locks { 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>); } @@ -61823,7 +61823,7 @@ package java.util.function { 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); } @@ -61853,11 +61853,11 @@ package java.util.function { 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 { @@ -61869,7 +61869,7 @@ package java.util.function { 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); } @@ -61908,7 +61908,7 @@ package java.util.function { 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); } @@ -61938,56 +61938,56 @@ package java.util.function { 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(); } } @@ -62575,7 +62575,7 @@ package java.util.regex { 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(); @@ -62586,13 +62586,13 @@ package java.util.stream { 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(); } @@ -62605,43 +62605,43 @@ package java.util.stream { } 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 { @@ -62650,7 +62650,7 @@ package java.util.stream { 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(); @@ -62668,7 +62668,7 @@ package java.util.stream { 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); @@ -62701,7 +62701,7 @@ package java.util.stream { 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(); @@ -62719,7 +62719,7 @@ package java.util.stream { 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); @@ -62753,7 +62753,7 @@ package java.util.stream { 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(); @@ -62771,7 +62771,7 @@ package java.util.stream { 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); @@ -62798,49 +62798,49 @@ package java.util.stream { 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(); @@ -62853,8 +62853,8 @@ package java.util.stream { 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); } } @@ -65027,16 +65027,16 @@ package javax.security.auth { 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 f52ea61b9329..85c1db002217 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3031,11 +3031,11 @@ package android.accounts { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.app { 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 @@ package android.app { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.database { 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 @@ package android.graphics.drawable { 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 @@ package android.hardware.camera2 { } 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2.params { 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.math { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.util { 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 @@ package android.icu.util { 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.opengl { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.service.carrier { 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 @@ package android.service.media { 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); } @@ -40756,14 +40756,14 @@ package android.telephony.gsm { 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(); @@ -40778,7 +40778,7 @@ package android.test { 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(); @@ -40824,7 +40824,7 @@ package android.test { 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(); @@ -40850,8 +40850,8 @@ package android.test { 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...); @@ -40891,7 +40891,7 @@ package android.test { 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 { @@ -40946,20 +40946,20 @@ package android.test { 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 { @@ -40967,11 +40967,11 @@ package android.test { 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(); @@ -40984,7 +40984,7 @@ package android.test { 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; @@ -41351,7 +41351,7 @@ package android.test.suitebuilder { 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(); @@ -41794,7 +41794,7 @@ package android.text { 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); @@ -41816,7 +41816,7 @@ package android.text { 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(); @@ -41826,7 +41826,7 @@ package android.text { 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 @@ -42803,7 +42803,7 @@ package android.text.style { 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); @@ -42899,7 +42899,7 @@ package android.text.style { 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); @@ -43306,7 +43306,7 @@ package android.util { 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>); @@ -43334,7 +43334,7 @@ package android.util { 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>); @@ -43355,7 +43355,7 @@ package android.util { 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); } @@ -43500,13 +43500,13 @@ package android.util { 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); @@ -43606,7 +43606,7 @@ package android.util { 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); @@ -43626,7 +43626,7 @@ package android.util { 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(); @@ -43714,9 +43714,9 @@ package android.util { 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; } @@ -43749,22 +43749,22 @@ package android.util { 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); @@ -43808,7 +43808,7 @@ package android.util { 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); @@ -48613,7 +48613,7 @@ package android.webkit { 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); } @@ -49628,7 +49628,7 @@ package android.widget { 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); @@ -49751,7 +49751,7 @@ package android.widget { 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[]); @@ -49812,7 +49812,7 @@ package android.widget { 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); @@ -52097,7 +52097,7 @@ package android.widget { package com.android.internal.util { - public abstract interface Predicate { + public abstract interface Predicate<T> { method public abstract boolean apply(T); } @@ -54169,22 +54169,22 @@ package java.lang { 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 A[] getAnnotationsByType(java.lang.Class<A>); + method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>); method public java.lang.String getCanonicalName(); method public java.lang.ClassLoader getClassLoader(); method public java.lang.Class<?>[] getClasses(); method public java.lang.Class<?> getComponentType(); method public java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; method public java.lang.reflect.Constructor<?>[] getConstructors() throws java.lang.SecurityException; - method public A getDeclaredAnnotation(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 java.lang.Class<?>[] getDeclaredClasses(); method public java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; @@ -54296,7 +54296,7 @@ package java.lang { public abstract interface Cloneable { } - public abstract interface Comparable { + public abstract interface Comparable<T> { method public abstract int compareTo(T); } @@ -54350,7 +54350,7 @@ package java.lang { 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); @@ -54360,7 +54360,7 @@ package java.lang { 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 { @@ -54479,7 +54479,7 @@ package java.lang { 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); } @@ -54558,7 +54558,7 @@ package java.lang { 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(); @@ -54773,12 +54773,12 @@ package java.lang { } 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(); @@ -55377,13 +55377,13 @@ package java.lang { 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(); method public void remove(); method public void set(T); - method public static java.lang.ThreadLocal<S> withInitial(java.util.function.Supplier<? extends S>); + method public static <S> java.lang.ThreadLocal<S> withInitial(java.util.function.Supplier<? extends S>); } public class Throwable implements java.io.Serializable { @@ -55521,30 +55521,30 @@ package java.lang.annotation { 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>); } @@ -55555,7 +55555,7 @@ package java.lang.reflect { 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(); @@ -55564,12 +55564,12 @@ package java.lang.reflect { } 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>); } @@ -55597,7 +55597,7 @@ package java.lang.reflect { 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.Executable { + public final class Constructor<T> extends java.lang.reflect.Executable { method public java.lang.Class<T> getDeclaringClass(); method public java.lang.Class<?>[] getExceptionTypes(); method public int getModifiers(); @@ -55745,7 +55745,7 @@ package java.lang.reflect { } public final class Parameter implements java.lang.reflect.AnnotatedElement { - 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 java.lang.reflect.Executable getDeclaringExecutable(); @@ -55782,7 +55782,7 @@ package java.lang.reflect { 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(); @@ -56571,7 +56571,7 @@ package java.net { 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(); } @@ -57103,9 +57103,9 @@ package java.nio.channels { } public abstract interface AsynchronousByteChannel implements java.nio.channels.AsynchronousChannel { - method public abstract void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer); - method public abstract void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer); } @@ -57133,25 +57133,25 @@ package java.nio.channels { public abstract class AsynchronousFileChannel implements java.nio.channels.AsynchronousChannel { ctor protected AsynchronousFileChannel(); method public abstract void force(boolean) throws java.io.IOException; - method public abstract void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); - method public final void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); + method public abstract <A> void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); + method public final <A> void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); method public abstract java.util.concurrent.Future<java.nio.channels.FileLock> lock(long, long, boolean); method public final java.util.concurrent.Future<java.nio.channels.FileLock> lock(); method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; - method public abstract void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer, long); method public abstract long size() throws java.io.IOException; method public abstract java.nio.channels.AsynchronousFileChannel truncate(long) throws java.io.IOException; method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException; method public final java.nio.channels.FileLock tryLock() throws java.io.IOException; - method public abstract void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer, long); } public abstract class AsynchronousServerSocketChannel implements java.nio.channels.AsynchronousChannel java.nio.channels.NetworkChannel { ctor protected AsynchronousServerSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider); - method public abstract void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, ? super A>); + method public abstract <A> void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, ? super A>); method public abstract java.util.concurrent.Future<java.nio.channels.AsynchronousSocketChannel> accept(); method public final java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException; method public abstract java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException; @@ -57159,30 +57159,30 @@ package java.nio.channels { method public static java.nio.channels.AsynchronousServerSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; method public static java.nio.channels.AsynchronousServerSocketChannel open() throws java.io.IOException; method public final java.nio.channels.spi.AsynchronousChannelProvider provider(); - method public abstract java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public abstract <T> java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; } public abstract class AsynchronousSocketChannel implements java.nio.channels.AsynchronousByteChannel java.nio.channels.NetworkChannel { ctor protected AsynchronousSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider); method public abstract java.nio.channels.AsynchronousSocketChannel bind(java.net.SocketAddress) throws java.io.IOException; - method public abstract void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void, ? super A>); + method public abstract <A> void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Void> connect(java.net.SocketAddress); method public abstract java.net.SocketAddress getLocalAddress() throws java.io.IOException; method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException; method public static java.nio.channels.AsynchronousSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; method public static java.nio.channels.AsynchronousSocketChannel open() throws java.io.IOException; method public final java.nio.channels.spi.AsynchronousChannelProvider provider(); - method public abstract void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); - method public final void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public final <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer); - method public abstract void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); - method public abstract java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public abstract <A> void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); + method public abstract <T> java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; method public abstract java.nio.channels.AsynchronousSocketChannel shutdownInput() throws java.io.IOException; method public abstract java.nio.channels.AsynchronousSocketChannel shutdownOutput() throws java.io.IOException; - method public abstract void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); - method public final void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public final <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer); - method public abstract void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); } public abstract interface ByteChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.WritableByteChannel { @@ -57222,7 +57222,7 @@ package java.nio.channels { ctor public ClosedSelectorException(); } - public abstract interface CompletionHandler { + public abstract interface CompletionHandler<V, A> { method public abstract void completed(V, A); method public abstract void failed(java.lang.Throwable, A); } @@ -57246,7 +57246,7 @@ package java.nio.channels { 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; @@ -57351,8 +57351,8 @@ package java.nio.channels { 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(); } @@ -57474,7 +57474,7 @@ package java.nio.channels { method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException; method public abstract java.net.SocketAddress getLocalAddress() 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(); } @@ -57497,7 +57497,7 @@ package java.nio.channels { 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(); @@ -57782,11 +57782,11 @@ package java.nio.file { ctor public DirectoryNotEmptyException(java.lang.String); } - public abstract interface DirectoryStream implements java.io.Closeable java.lang.Iterable { + public abstract interface DirectoryStream<T> implements java.io.Closeable java.lang.Iterable { method public abstract java.util.Iterator<T> iterator(); } - public static abstract interface DirectoryStream.Filter { + public static abstract interface DirectoryStream.Filter<T> { method public abstract boolean accept(T) throws java.io.IOException; } @@ -57798,7 +57798,7 @@ package java.nio.file { public abstract class FileStore { ctor protected FileStore(); method public abstract java.lang.Object getAttribute(java.lang.String) throws java.io.IOException; - method public abstract V getFileStoreAttributeView(java.lang.Class<V>); + method public abstract <V extends java.nio.file.attribute.FileStoreAttributeView> V getFileStoreAttributeView(java.lang.Class<V>); method public abstract long getTotalSpace() throws java.io.IOException; method public abstract long getUnallocatedSpace() throws java.io.IOException; method public abstract long getUsableSpace() throws java.io.IOException; @@ -57870,7 +57870,7 @@ package java.nio.file { enum_constant public static final java.nio.file.FileVisitResult TERMINATE; } - public abstract interface FileVisitor { + public abstract interface FileVisitor<T> { method public abstract java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException; method public abstract java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; method public abstract java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; @@ -57895,7 +57895,7 @@ package java.nio.file { method public static boolean exists(java.nio.file.Path, java.nio.file.LinkOption...); method public static java.util.stream.Stream<java.nio.file.Path> find(java.nio.file.Path, int, java.util.function.BiPredicate<java.nio.file.Path, java.nio.file.attribute.BasicFileAttributes>, java.nio.file.FileVisitOption...) throws java.io.IOException; method public static java.lang.Object getAttribute(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; - method public static V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); + method public static <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); method public static java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException; method public static java.nio.file.attribute.FileTime getLastModifiedTime(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.nio.file.attribute.UserPrincipal getOwner(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException; @@ -57928,7 +57928,7 @@ package java.nio.file { method public static byte[] readAllBytes(java.nio.file.Path) throws java.io.IOException; method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException; method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path) throws java.io.IOException; - method public static A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; + method public static <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.util.Map<java.lang.String, java.lang.Object> readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException; method public static java.nio.file.Path setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...) throws java.io.IOException; @@ -58036,17 +58036,17 @@ package java.nio.file { ctor public ReadOnlyFileSystemException(); } - public abstract interface SecureDirectoryStream implements java.nio.file.DirectoryStream { + public abstract interface SecureDirectoryStream<T> implements java.nio.file.DirectoryStream { method public abstract void deleteDirectory(T) throws java.io.IOException; method public abstract void deleteFile(T) throws java.io.IOException; - method public abstract V getFileAttributeView(java.lang.Class<V>); - method public abstract V getFileAttributeView(T, java.lang.Class<V>, java.nio.file.LinkOption...); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.lang.Class<V>); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(T, java.lang.Class<V>, java.nio.file.LinkOption...); method public abstract void move(T, java.nio.file.SecureDirectoryStream<T>, T) throws java.io.IOException; method public abstract java.nio.channels.SeekableByteChannel newByteChannel(T, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public abstract java.nio.file.SecureDirectoryStream<T> newDirectoryStream(T, java.nio.file.LinkOption...) throws java.io.IOException; } - public class SimpleFileVisitor implements java.nio.file.FileVisitor { + public class SimpleFileVisitor<T> implements java.nio.file.FileVisitor { ctor protected SimpleFileVisitor(); method public java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException; method public java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; @@ -58084,13 +58084,13 @@ package java.nio.file { field public static final java.nio.file.WatchEvent.Kind<java.lang.Object> OVERFLOW; } - public abstract interface WatchEvent { + public abstract interface WatchEvent<T> { method public abstract T context(); method public abstract int count(); method public abstract java.nio.file.WatchEvent.Kind<T> kind(); } - public static abstract interface WatchEvent.Kind { + public static abstract interface WatchEvent.Kind<T> { method public abstract java.lang.String name(); method public abstract java.lang.Class<T> type(); } @@ -58226,7 +58226,7 @@ package java.nio.file.attribute { method public abstract boolean isSystem(); } - public abstract interface FileAttribute { + public abstract interface FileAttribute<T> { method public abstract java.lang.String name(); method public abstract T value(); } @@ -58323,7 +58323,7 @@ package java.nio.file.spi { method public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public abstract void delete(java.nio.file.Path) throws java.io.IOException; method public boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException; - method public abstract V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); method public abstract java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException; method public abstract java.nio.file.FileSystem getFileSystem(java.net.URI); method public abstract java.nio.file.Path getPath(java.net.URI); @@ -58340,7 +58340,7 @@ package java.nio.file.spi { method public java.nio.file.FileSystem newFileSystem(java.nio.file.Path, java.util.Map<java.lang.String, ?>) throws java.io.IOException; method public java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; method public java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; - method public abstract A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; + method public abstract <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; method public abstract java.util.Map<java.lang.String, java.lang.Object> readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; method public java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException; method public abstract void setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...) throws java.io.IOException; @@ -58370,12 +58370,12 @@ package java.security { 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(); } @@ -58414,7 +58414,7 @@ package java.security { 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; @@ -58426,7 +58426,7 @@ package java.security { 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; @@ -58618,7 +58618,7 @@ package java.security { 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; } @@ -58627,7 +58627,7 @@ package java.security { 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; } @@ -58915,7 +58915,7 @@ package java.security { field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L } - public abstract interface PrivilegedAction { + public abstract interface PrivilegedAction<T> { method public abstract T run(); } @@ -58924,7 +58924,7 @@ package java.security { method public java.lang.Exception getException(); } - public abstract interface PrivilegedExceptionAction { + public abstract interface PrivilegedExceptionAction<T> { method public abstract T run() throws java.lang.Exception; } @@ -61118,11 +61118,11 @@ package java.sql { 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; } @@ -61246,7 +61246,7 @@ package java.sql { 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; } } @@ -61779,7 +61779,7 @@ package java.text { 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>); @@ -61793,10 +61793,10 @@ package java.util { 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>); @@ -61813,7 +61813,7 @@ package java.util { 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); @@ -61829,7 +61829,7 @@ package java.util { 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(); @@ -61837,7 +61837,7 @@ package java.util { 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(); @@ -61845,23 +61845,23 @@ package java.util { 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>); @@ -61893,7 +61893,7 @@ package java.util { 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>); @@ -61910,7 +61910,7 @@ package java.util { } 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); @@ -61927,10 +61927,10 @@ package java.util { 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); @@ -61939,8 +61939,8 @@ package java.util { 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); @@ -61988,15 +61988,15 @@ package java.util { 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); @@ -62014,11 +62014,11 @@ package java.util { 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); @@ -62038,18 +62038,18 @@ package java.util { 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[]); @@ -62233,7 +62233,7 @@ package java.util { 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(); @@ -62251,86 +62251,86 @@ package java.util { 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>); @@ -62389,7 +62389,7 @@ package java.util { 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); @@ -62419,7 +62419,7 @@ package java.util { 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); @@ -62450,7 +62450,7 @@ package java.util { 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>); @@ -62458,23 +62458,23 @@ package java.util { 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); - } - - public abstract interface Enumeration { + 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<E> { method public abstract boolean hasMoreElements(); method public abstract E nextElement(); } @@ -62482,7 +62482,7 @@ package java.util { 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(); } @@ -62568,7 +62568,7 @@ package java.util { 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(); @@ -62588,7 +62588,7 @@ package java.util { 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); @@ -62599,7 +62599,7 @@ package java.util { 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(); @@ -62634,7 +62634,7 @@ package java.util { 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>); @@ -62701,14 +62701,14 @@ package java.util { 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(); @@ -62717,14 +62717,14 @@ package java.util { 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); @@ -62755,7 +62755,7 @@ package java.util { 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>); @@ -62782,10 +62782,10 @@ package java.util { 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(); @@ -62902,7 +62902,7 @@ package java.util { 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>); @@ -62930,11 +62930,11 @@ package java.util { 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(); @@ -62958,7 +62958,7 @@ package java.util { 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(); @@ -62982,7 +62982,7 @@ package java.util { 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(); @@ -63006,16 +63006,16 @@ package java.util { } 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); } @@ -63037,19 +63037,19 @@ package java.util { 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 { @@ -63060,7 +63060,7 @@ package java.util { 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 { @@ -63071,7 +63071,7 @@ package java.util { 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 { @@ -63082,10 +63082,10 @@ package java.util { 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); } @@ -63110,7 +63110,7 @@ package java.util { 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>); @@ -63159,7 +63159,7 @@ package java.util { 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); @@ -63311,15 +63311,15 @@ package java.util { 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(); @@ -63334,7 +63334,7 @@ package java.util { 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 { @@ -63360,7 +63360,7 @@ package java.util { 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(); @@ -63372,7 +63372,7 @@ package java.util { 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); @@ -63381,7 +63381,7 @@ package java.util { 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>); @@ -63424,7 +63424,7 @@ package java.util { 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(); @@ -63434,25 +63434,25 @@ package java.util { 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); @@ -63479,7 +63479,7 @@ package java.util { 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(); @@ -63514,7 +63514,7 @@ package java.util { 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(); @@ -63598,7 +63598,7 @@ package java.util { 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>); @@ -63635,7 +63635,7 @@ package java.util { 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>); @@ -63688,7 +63688,7 @@ package java.util { 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(); @@ -63723,7 +63723,7 @@ package java.util { 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(); @@ -63739,18 +63739,18 @@ package java.util.concurrent { 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>); @@ -63769,7 +63769,7 @@ package java.util.concurrent { 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); @@ -63801,7 +63801,7 @@ package java.util.concurrent { 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>); @@ -63820,7 +63820,7 @@ package java.util.concurrent { ctor public BrokenBarrierException(java.lang.String); } - public abstract interface Callable { + public abstract interface Callable<V> { method public abstract V call() throws java.lang.Exception; } @@ -63829,28 +63829,28 @@ package java.util.concurrent { 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(); @@ -63865,23 +63865,23 @@ package java.util.concurrent { 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); @@ -63901,7 +63901,7 @@ package java.util.concurrent { 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>); @@ -63909,17 +63909,17 @@ package java.util.concurrent { 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); @@ -63929,18 +63929,18 @@ package java.util.concurrent { 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); @@ -63950,7 +63950,7 @@ package java.util.concurrent { 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>); @@ -63964,29 +63964,29 @@ package java.util.concurrent { 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); @@ -63994,7 +63994,7 @@ package java.util.concurrent { 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); @@ -64002,13 +64002,13 @@ package java.util.concurrent { 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<?>); @@ -64020,11 +64020,11 @@ package java.util.concurrent { 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); @@ -64035,7 +64035,7 @@ package java.util.concurrent { 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); @@ -64065,7 +64065,7 @@ package java.util.concurrent { 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(); @@ -64076,14 +64076,14 @@ package java.util.concurrent { 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); @@ -64096,7 +64096,7 @@ package java.util.concurrent { 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>); @@ -64140,7 +64140,7 @@ package java.util.concurrent { 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>); @@ -64168,7 +64168,7 @@ package java.util.concurrent { 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[]); @@ -64200,10 +64200,10 @@ package java.util.concurrent { 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>); @@ -64221,7 +64221,7 @@ package java.util.concurrent { 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(); @@ -64258,7 +64258,7 @@ package java.util.concurrent { 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>); @@ -64279,7 +64279,7 @@ package java.util.concurrent { 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; @@ -64296,7 +64296,7 @@ package java.util.concurrent { 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(); @@ -64308,21 +64308,21 @@ package java.util.concurrent { 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<?>); @@ -64339,8 +64339,8 @@ package java.util.concurrent { 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); @@ -64368,7 +64368,7 @@ package java.util.concurrent { 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(); @@ -64377,7 +64377,7 @@ package java.util.concurrent { 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; } @@ -64390,11 +64390,11 @@ package java.util.concurrent { 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); @@ -64414,7 +64414,7 @@ package java.util.concurrent { 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(); @@ -64440,7 +64440,7 @@ package java.util.concurrent { 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; @@ -64448,7 +64448,7 @@ package java.util.concurrent { 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); @@ -64463,7 +64463,7 @@ package java.util.concurrent { 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>); @@ -64507,7 +64507,7 @@ package java.util.concurrent { 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>); @@ -64526,7 +64526,7 @@ package java.util.concurrent { 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>); @@ -64573,7 +64573,7 @@ package java.util.concurrent { 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>); @@ -64602,7 +64602,7 @@ package java.util.concurrent { 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(); @@ -64621,22 +64621,22 @@ package java.util.concurrent { 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 { @@ -64644,13 +64644,13 @@ package java.util.concurrent { 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); @@ -64680,7 +64680,7 @@ package java.util.concurrent { 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>); @@ -64798,7 +64798,7 @@ package java.util.concurrent { 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; @@ -64868,7 +64868,7 @@ package java.util.concurrent.atomic { 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); @@ -64883,7 +64883,7 @@ package java.util.concurrent.atomic { 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); @@ -64936,7 +64936,7 @@ package java.util.concurrent.atomic { 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); @@ -64951,13 +64951,13 @@ package java.util.concurrent.atomic { 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); @@ -64968,7 +64968,7 @@ package java.util.concurrent.atomic { 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>); @@ -64983,7 +64983,7 @@ package java.util.concurrent.atomic { 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>); @@ -64999,7 +64999,7 @@ package java.util.concurrent.atomic { 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); @@ -65008,13 +65008,13 @@ package java.util.concurrent.atomic { 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); @@ -65317,33 +65317,33 @@ package java.util.concurrent.locks { 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>); } @@ -65357,7 +65357,7 @@ package java.util.function { 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); } @@ -65387,11 +65387,11 @@ package java.util.function { 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 { @@ -65403,7 +65403,7 @@ package java.util.function { 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); } @@ -65442,7 +65442,7 @@ package java.util.function { 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); } @@ -65472,56 +65472,56 @@ package java.util.function { 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(); } } @@ -66109,7 +66109,7 @@ package java.util.regex { 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(); @@ -66120,13 +66120,13 @@ package java.util.stream { 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(); } @@ -66139,43 +66139,43 @@ package java.util.stream { } 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 { @@ -66184,7 +66184,7 @@ package java.util.stream { 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(); @@ -66202,7 +66202,7 @@ package java.util.stream { 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); @@ -66235,7 +66235,7 @@ package java.util.stream { 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(); @@ -66253,7 +66253,7 @@ package java.util.stream { 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); @@ -66287,7 +66287,7 @@ package java.util.stream { 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(); @@ -66305,7 +66305,7 @@ package java.util.stream { 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); @@ -66332,49 +66332,49 @@ package java.util.stream { 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(); @@ -66387,8 +66387,8 @@ package java.util.stream { 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); } } @@ -68561,16 +68561,16 @@ package javax.security.auth { 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 735dedb167cf..13f70ea2a397 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -2906,11 +2906,11 @@ package android.accounts { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.animation { 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 @@ package android.app { 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 @@ package android.app { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.content { 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 @@ package android.database { 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 @@ package android.graphics.drawable { 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 @@ package android.hardware.camera2 { } 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2 { 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 @@ package android.hardware.camera2.params { 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.math { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.text { 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 @@ package android.icu.util { 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 @@ package android.icu.util { 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.opengl { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.os { 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 @@ package android.service.carrier { 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 @@ package android.service.media { 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); } @@ -37673,14 +37673,14 @@ package android.telephony.gsm { 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(); @@ -37695,7 +37695,7 @@ package android.test { 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(); @@ -37741,7 +37741,7 @@ package android.test { 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(); @@ -37767,8 +37767,8 @@ package android.test { 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...); @@ -37808,7 +37808,7 @@ package android.test { 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 { @@ -37863,20 +37863,20 @@ package android.test { 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 { @@ -37884,11 +37884,11 @@ package android.test { 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(); @@ -37901,7 +37901,7 @@ package android.test { 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; @@ -38258,7 +38258,7 @@ package android.test.suitebuilder { 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(); @@ -38701,7 +38701,7 @@ package android.text { 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); @@ -38723,7 +38723,7 @@ package android.text { 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(); @@ -38733,7 +38733,7 @@ package android.text { 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 @@ -39710,7 +39710,7 @@ package android.text.style { 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); @@ -39806,7 +39806,7 @@ package android.text.style { 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); @@ -40213,7 +40213,7 @@ package android.util { 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>); @@ -40241,7 +40241,7 @@ package android.util { 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>); @@ -40262,7 +40262,7 @@ package android.util { 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); } @@ -40407,13 +40407,13 @@ package android.util { 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); @@ -40513,7 +40513,7 @@ package android.util { 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); @@ -40533,7 +40533,7 @@ package android.util { 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(); @@ -40621,9 +40621,9 @@ package android.util { 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; } @@ -40656,22 +40656,22 @@ package android.util { 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); @@ -40715,7 +40715,7 @@ package android.util { 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); @@ -45444,7 +45444,7 @@ package android.webkit { 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); } @@ -46178,7 +46178,7 @@ package android.widget { 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); @@ -46301,7 +46301,7 @@ package android.widget { 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[]); @@ -46362,7 +46362,7 @@ package android.widget { 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); @@ -48654,7 +48654,7 @@ package android.widget { package com.android.internal.util { - public abstract interface Predicate { + public abstract interface Predicate<T> { method public abstract boolean apply(T); } @@ -50726,22 +50726,22 @@ package java.lang { 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 A[] getAnnotationsByType(java.lang.Class<A>); + method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>); method public java.lang.String getCanonicalName(); method public java.lang.ClassLoader getClassLoader(); method public java.lang.Class<?>[] getClasses(); method public java.lang.Class<?> getComponentType(); method public java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; method public java.lang.reflect.Constructor<?>[] getConstructors() throws java.lang.SecurityException; - method public A getDeclaredAnnotation(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 java.lang.Class<?>[] getDeclaredClasses(); method public java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; @@ -50853,7 +50853,7 @@ package java.lang { public abstract interface Cloneable { } - public abstract interface Comparable { + public abstract interface Comparable<T> { method public abstract int compareTo(T); } @@ -50907,7 +50907,7 @@ package java.lang { 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); @@ -50917,7 +50917,7 @@ package java.lang { 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 { @@ -51036,7 +51036,7 @@ package java.lang { 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); } @@ -51115,7 +51115,7 @@ package java.lang { 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(); @@ -51330,12 +51330,12 @@ package java.lang { } 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(); @@ -51934,13 +51934,13 @@ package java.lang { 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(); method public void remove(); method public void set(T); - method public static java.lang.ThreadLocal<S> withInitial(java.util.function.Supplier<? extends S>); + method public static <S> java.lang.ThreadLocal<S> withInitial(java.util.function.Supplier<? extends S>); } public class Throwable implements java.io.Serializable { @@ -52078,30 +52078,30 @@ package java.lang.annotation { 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>); } @@ -52112,7 +52112,7 @@ package java.lang.reflect { 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(); @@ -52121,12 +52121,12 @@ package java.lang.reflect { } 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>); } @@ -52154,7 +52154,7 @@ package java.lang.reflect { 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.Executable { + public final class Constructor<T> extends java.lang.reflect.Executable { method public java.lang.Class<T> getDeclaringClass(); method public java.lang.Class<?>[] getExceptionTypes(); method public int getModifiers(); @@ -52302,7 +52302,7 @@ package java.lang.reflect { } public final class Parameter implements java.lang.reflect.AnnotatedElement { - 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 java.lang.reflect.Executable getDeclaringExecutable(); @@ -52339,7 +52339,7 @@ package java.lang.reflect { 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(); @@ -53128,7 +53128,7 @@ package java.net { 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(); } @@ -53660,9 +53660,9 @@ package java.nio.channels { } public abstract interface AsynchronousByteChannel implements java.nio.channels.AsynchronousChannel { - method public abstract void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer); - method public abstract void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer); } @@ -53690,25 +53690,25 @@ package java.nio.channels { public abstract class AsynchronousFileChannel implements java.nio.channels.AsynchronousChannel { ctor protected AsynchronousFileChannel(); method public abstract void force(boolean) throws java.io.IOException; - method public abstract void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); - method public final void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); + method public abstract <A> void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); + method public final <A> void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock, ? super A>); method public abstract java.util.concurrent.Future<java.nio.channels.FileLock> lock(long, long, boolean); method public final java.util.concurrent.Future<java.nio.channels.FileLock> lock(); method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; - method public abstract void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer, long); method public abstract long size() throws java.io.IOException; method public abstract java.nio.channels.AsynchronousFileChannel truncate(long) throws java.io.IOException; method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException; method public final java.nio.channels.FileLock tryLock() throws java.io.IOException; - method public abstract void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer, long); } public abstract class AsynchronousServerSocketChannel implements java.nio.channels.AsynchronousChannel java.nio.channels.NetworkChannel { ctor protected AsynchronousServerSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider); - method public abstract void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, ? super A>); + method public abstract <A> void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, ? super A>); method public abstract java.util.concurrent.Future<java.nio.channels.AsynchronousSocketChannel> accept(); method public final java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException; method public abstract java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException; @@ -53716,30 +53716,30 @@ package java.nio.channels { method public static java.nio.channels.AsynchronousServerSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; method public static java.nio.channels.AsynchronousServerSocketChannel open() throws java.io.IOException; method public final java.nio.channels.spi.AsynchronousChannelProvider provider(); - method public abstract java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public abstract <T> java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; } public abstract class AsynchronousSocketChannel implements java.nio.channels.AsynchronousByteChannel java.nio.channels.NetworkChannel { ctor protected AsynchronousSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider); method public abstract java.nio.channels.AsynchronousSocketChannel bind(java.net.SocketAddress) throws java.io.IOException; - method public abstract void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void, ? super A>); + method public abstract <A> void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Void> connect(java.net.SocketAddress); method public abstract java.net.SocketAddress getLocalAddress() throws java.io.IOException; method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException; method public static java.nio.channels.AsynchronousSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; method public static java.nio.channels.AsynchronousSocketChannel open() throws java.io.IOException; method public final java.nio.channels.spi.AsynchronousChannelProvider provider(); - method public abstract void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); - method public final void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public final <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer); - method public abstract void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); - method public abstract java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public abstract <A> void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); + method public abstract <T> java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; method public abstract java.nio.channels.AsynchronousSocketChannel shutdownInput() throws java.io.IOException; method public abstract java.nio.channels.AsynchronousSocketChannel shutdownOutput() throws java.io.IOException; - method public abstract void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); - method public final void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); + method public final <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>); method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer); - method public abstract void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); + method public abstract <A> void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>); } public abstract interface ByteChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.WritableByteChannel { @@ -53779,7 +53779,7 @@ package java.nio.channels { ctor public ClosedSelectorException(); } - public abstract interface CompletionHandler { + public abstract interface CompletionHandler<V, A> { method public abstract void completed(V, A); method public abstract void failed(java.lang.Throwable, A); } @@ -53803,7 +53803,7 @@ package java.nio.channels { 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; @@ -53908,8 +53908,8 @@ package java.nio.channels { 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(); } @@ -54031,7 +54031,7 @@ package java.nio.channels { method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException; method public abstract java.net.SocketAddress getLocalAddress() 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(); } @@ -54054,7 +54054,7 @@ package java.nio.channels { 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(); @@ -54339,11 +54339,11 @@ package java.nio.file { ctor public DirectoryNotEmptyException(java.lang.String); } - public abstract interface DirectoryStream implements java.io.Closeable java.lang.Iterable { + public abstract interface DirectoryStream<T> implements java.io.Closeable java.lang.Iterable { method public abstract java.util.Iterator<T> iterator(); } - public static abstract interface DirectoryStream.Filter { + public static abstract interface DirectoryStream.Filter<T> { method public abstract boolean accept(T) throws java.io.IOException; } @@ -54355,7 +54355,7 @@ package java.nio.file { public abstract class FileStore { ctor protected FileStore(); method public abstract java.lang.Object getAttribute(java.lang.String) throws java.io.IOException; - method public abstract V getFileStoreAttributeView(java.lang.Class<V>); + method public abstract <V extends java.nio.file.attribute.FileStoreAttributeView> V getFileStoreAttributeView(java.lang.Class<V>); method public abstract long getTotalSpace() throws java.io.IOException; method public abstract long getUnallocatedSpace() throws java.io.IOException; method public abstract long getUsableSpace() throws java.io.IOException; @@ -54427,7 +54427,7 @@ package java.nio.file { enum_constant public static final java.nio.file.FileVisitResult TERMINATE; } - public abstract interface FileVisitor { + public abstract interface FileVisitor<T> { method public abstract java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException; method public abstract java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; method public abstract java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; @@ -54452,7 +54452,7 @@ package java.nio.file { method public static boolean exists(java.nio.file.Path, java.nio.file.LinkOption...); method public static java.util.stream.Stream<java.nio.file.Path> find(java.nio.file.Path, int, java.util.function.BiPredicate<java.nio.file.Path, java.nio.file.attribute.BasicFileAttributes>, java.nio.file.FileVisitOption...) throws java.io.IOException; method public static java.lang.Object getAttribute(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; - method public static V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); + method public static <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); method public static java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException; method public static java.nio.file.attribute.FileTime getLastModifiedTime(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.nio.file.attribute.UserPrincipal getOwner(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException; @@ -54485,7 +54485,7 @@ package java.nio.file { method public static byte[] readAllBytes(java.nio.file.Path) throws java.io.IOException; method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException; method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path) throws java.io.IOException; - method public static A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; + method public static <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.util.Map<java.lang.String, java.lang.Object> readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; method public static java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException; method public static java.nio.file.Path setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...) throws java.io.IOException; @@ -54593,17 +54593,17 @@ package java.nio.file { ctor public ReadOnlyFileSystemException(); } - public abstract interface SecureDirectoryStream implements java.nio.file.DirectoryStream { + public abstract interface SecureDirectoryStream<T> implements java.nio.file.DirectoryStream { method public abstract void deleteDirectory(T) throws java.io.IOException; method public abstract void deleteFile(T) throws java.io.IOException; - method public abstract V getFileAttributeView(java.lang.Class<V>); - method public abstract V getFileAttributeView(T, java.lang.Class<V>, java.nio.file.LinkOption...); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.lang.Class<V>); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(T, java.lang.Class<V>, java.nio.file.LinkOption...); method public abstract void move(T, java.nio.file.SecureDirectoryStream<T>, T) throws java.io.IOException; method public abstract java.nio.channels.SeekableByteChannel newByteChannel(T, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public abstract java.nio.file.SecureDirectoryStream<T> newDirectoryStream(T, java.nio.file.LinkOption...) throws java.io.IOException; } - public class SimpleFileVisitor implements java.nio.file.FileVisitor { + public class SimpleFileVisitor<T> implements java.nio.file.FileVisitor { ctor protected SimpleFileVisitor(); method public java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException; method public java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; @@ -54641,13 +54641,13 @@ package java.nio.file { field public static final java.nio.file.WatchEvent.Kind<java.lang.Object> OVERFLOW; } - public abstract interface WatchEvent { + public abstract interface WatchEvent<T> { method public abstract T context(); method public abstract int count(); method public abstract java.nio.file.WatchEvent.Kind<T> kind(); } - public static abstract interface WatchEvent.Kind { + public static abstract interface WatchEvent.Kind<T> { method public abstract java.lang.String name(); method public abstract java.lang.Class<T> type(); } @@ -54783,7 +54783,7 @@ package java.nio.file.attribute { method public abstract boolean isSystem(); } - public abstract interface FileAttribute { + public abstract interface FileAttribute<T> { method public abstract java.lang.String name(); method public abstract T value(); } @@ -54880,7 +54880,7 @@ package java.nio.file.spi { method public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; method public abstract void delete(java.nio.file.Path) throws java.io.IOException; method public boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException; - method public abstract V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); + method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...); method public abstract java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException; method public abstract java.nio.file.FileSystem getFileSystem(java.net.URI); method public abstract java.nio.file.Path getPath(java.net.URI); @@ -54897,7 +54897,7 @@ package java.nio.file.spi { method public java.nio.file.FileSystem newFileSystem(java.nio.file.Path, java.util.Map<java.lang.String, ?>) throws java.io.IOException; method public java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; method public java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; - method public abstract A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; + method public abstract <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption...) throws java.io.IOException; method public abstract java.util.Map<java.lang.String, java.lang.Object> readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption...) throws java.io.IOException; method public java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException; method public abstract void setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...) throws java.io.IOException; @@ -54927,12 +54927,12 @@ package java.security { 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(); } @@ -54971,7 +54971,7 @@ package java.security { 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; @@ -54983,7 +54983,7 @@ package java.security { 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; @@ -55175,7 +55175,7 @@ package java.security { 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; } @@ -55184,7 +55184,7 @@ package java.security { 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; } @@ -55472,7 +55472,7 @@ package java.security { field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L } - public abstract interface PrivilegedAction { + public abstract interface PrivilegedAction<T> { method public abstract T run(); } @@ -55481,7 +55481,7 @@ package java.security { method public java.lang.Exception getException(); } - public abstract interface PrivilegedExceptionAction { + public abstract interface PrivilegedExceptionAction<T> { method public abstract T run() throws java.lang.Exception; } @@ -57675,11 +57675,11 @@ package java.sql { 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; } @@ -57803,7 +57803,7 @@ package java.sql { 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; } } @@ -58336,7 +58336,7 @@ package java.text { 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>); @@ -58350,10 +58350,10 @@ package java.util { 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>); @@ -58370,7 +58370,7 @@ package java.util { 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); @@ -58386,7 +58386,7 @@ package java.util { 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(); @@ -58394,7 +58394,7 @@ package java.util { 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(); @@ -58402,23 +58402,23 @@ package java.util { 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>); @@ -58450,7 +58450,7 @@ package java.util { 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>); @@ -58467,7 +58467,7 @@ package java.util { } 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); @@ -58484,10 +58484,10 @@ package java.util { 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); @@ -58496,8 +58496,8 @@ package java.util { 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); @@ -58545,15 +58545,15 @@ package java.util { 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); @@ -58571,11 +58571,11 @@ package java.util { 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); @@ -58595,18 +58595,18 @@ package java.util { 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[]); @@ -58790,7 +58790,7 @@ package java.util { 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(); @@ -58808,86 +58808,86 @@ package java.util { 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>); @@ -58946,7 +58946,7 @@ package java.util { 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); @@ -58976,7 +58976,7 @@ package java.util { 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); @@ -59007,7 +59007,7 @@ package java.util { 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>); @@ -59015,23 +59015,23 @@ package java.util { 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); - } - - public abstract interface Enumeration { + 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<E> { method public abstract boolean hasMoreElements(); method public abstract E nextElement(); } @@ -59039,7 +59039,7 @@ package java.util { 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(); } @@ -59125,7 +59125,7 @@ package java.util { 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(); @@ -59145,7 +59145,7 @@ package java.util { 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); @@ -59156,7 +59156,7 @@ package java.util { 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(); @@ -59191,7 +59191,7 @@ package java.util { 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>); @@ -59258,14 +59258,14 @@ package java.util { 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(); @@ -59274,14 +59274,14 @@ package java.util { 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); @@ -59312,7 +59312,7 @@ package java.util { 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>); @@ -59339,10 +59339,10 @@ package java.util { 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(); @@ -59459,7 +59459,7 @@ package java.util { 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>); @@ -59487,11 +59487,11 @@ package java.util { 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(); @@ -59515,7 +59515,7 @@ package java.util { 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(); @@ -59539,7 +59539,7 @@ package java.util { 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(); @@ -59563,16 +59563,16 @@ package java.util { } 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); } @@ -59594,19 +59594,19 @@ package java.util { 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 { @@ -59617,7 +59617,7 @@ package java.util { 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 { @@ -59628,7 +59628,7 @@ package java.util { 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 { @@ -59639,10 +59639,10 @@ package java.util { 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); } @@ -59667,7 +59667,7 @@ package java.util { 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>); @@ -59716,7 +59716,7 @@ package java.util { 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); @@ -59868,15 +59868,15 @@ package java.util { 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(); @@ -59891,7 +59891,7 @@ package java.util { 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 { @@ -59917,7 +59917,7 @@ package java.util { 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(); @@ -59929,7 +59929,7 @@ package java.util { 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); @@ -59938,7 +59938,7 @@ package java.util { 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>); @@ -59981,7 +59981,7 @@ package java.util { 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(); @@ -59991,25 +59991,25 @@ package java.util { 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); @@ -60036,7 +60036,7 @@ package java.util { 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(); @@ -60071,7 +60071,7 @@ package java.util { 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(); @@ -60155,7 +60155,7 @@ package java.util { 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>); @@ -60192,7 +60192,7 @@ package java.util { 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>); @@ -60245,7 +60245,7 @@ package java.util { 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(); @@ -60280,7 +60280,7 @@ package java.util { 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(); @@ -60296,18 +60296,18 @@ package java.util.concurrent { 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>); @@ -60326,7 +60326,7 @@ package java.util.concurrent { 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); @@ -60358,7 +60358,7 @@ package java.util.concurrent { 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>); @@ -60377,7 +60377,7 @@ package java.util.concurrent { ctor public BrokenBarrierException(java.lang.String); } - public abstract interface Callable { + public abstract interface Callable<V> { method public abstract V call() throws java.lang.Exception; } @@ -60386,28 +60386,28 @@ package java.util.concurrent { 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(); @@ -60422,23 +60422,23 @@ package java.util.concurrent { 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); @@ -60458,7 +60458,7 @@ package java.util.concurrent { 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>); @@ -60466,17 +60466,17 @@ package java.util.concurrent { 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); @@ -60486,18 +60486,18 @@ package java.util.concurrent { 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); @@ -60507,7 +60507,7 @@ package java.util.concurrent { 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>); @@ -60521,29 +60521,29 @@ package java.util.concurrent { 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); @@ -60551,7 +60551,7 @@ package java.util.concurrent { 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); @@ -60559,13 +60559,13 @@ package java.util.concurrent { 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<?>); @@ -60577,11 +60577,11 @@ package java.util.concurrent { 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); @@ -60592,7 +60592,7 @@ package java.util.concurrent { 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); @@ -60622,7 +60622,7 @@ package java.util.concurrent { 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(); @@ -60633,14 +60633,14 @@ package java.util.concurrent { 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); @@ -60653,7 +60653,7 @@ package java.util.concurrent { 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>); @@ -60697,7 +60697,7 @@ package java.util.concurrent { 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>); @@ -60725,7 +60725,7 @@ package java.util.concurrent { 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[]); @@ -60757,10 +60757,10 @@ package java.util.concurrent { 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>); @@ -60778,7 +60778,7 @@ package java.util.concurrent { 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(); @@ -60815,7 +60815,7 @@ package java.util.concurrent { 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>); @@ -60836,7 +60836,7 @@ package java.util.concurrent { 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; @@ -60853,7 +60853,7 @@ package java.util.concurrent { 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(); @@ -60865,21 +60865,21 @@ package java.util.concurrent { 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<?>); @@ -60896,8 +60896,8 @@ package java.util.concurrent { 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); @@ -60925,7 +60925,7 @@ package java.util.concurrent { 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(); @@ -60934,7 +60934,7 @@ package java.util.concurrent { 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; } @@ -60947,11 +60947,11 @@ package java.util.concurrent { 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); @@ -60971,7 +60971,7 @@ package java.util.concurrent { 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(); @@ -60997,7 +60997,7 @@ package java.util.concurrent { 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; @@ -61005,7 +61005,7 @@ package java.util.concurrent { 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); @@ -61020,7 +61020,7 @@ package java.util.concurrent { 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>); @@ -61064,7 +61064,7 @@ package java.util.concurrent { 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>); @@ -61083,7 +61083,7 @@ package java.util.concurrent { 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>); @@ -61130,7 +61130,7 @@ package java.util.concurrent { 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>); @@ -61159,7 +61159,7 @@ package java.util.concurrent { 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(); @@ -61178,22 +61178,22 @@ package java.util.concurrent { 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 { @@ -61201,13 +61201,13 @@ package java.util.concurrent { 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); @@ -61237,7 +61237,7 @@ package java.util.concurrent { 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>); @@ -61355,7 +61355,7 @@ package java.util.concurrent { 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; @@ -61425,7 +61425,7 @@ package java.util.concurrent.atomic { 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); @@ -61440,7 +61440,7 @@ package java.util.concurrent.atomic { 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); @@ -61493,7 +61493,7 @@ package java.util.concurrent.atomic { 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); @@ -61508,13 +61508,13 @@ package java.util.concurrent.atomic { 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); @@ -61525,7 +61525,7 @@ package java.util.concurrent.atomic { 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>); @@ -61540,7 +61540,7 @@ package java.util.concurrent.atomic { 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>); @@ -61556,7 +61556,7 @@ package java.util.concurrent.atomic { 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); @@ -61565,13 +61565,13 @@ package java.util.concurrent.atomic { 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); @@ -61874,33 +61874,33 @@ package java.util.concurrent.locks { 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>); } @@ -61914,7 +61914,7 @@ package java.util.function { 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); } @@ -61944,11 +61944,11 @@ package java.util.function { 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 { @@ -61960,7 +61960,7 @@ package java.util.function { 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); } @@ -61999,7 +61999,7 @@ package java.util.function { 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); } @@ -62029,56 +62029,56 @@ package java.util.function { 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(); } } @@ -62666,7 +62666,7 @@ package java.util.regex { 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(); @@ -62677,13 +62677,13 @@ package java.util.stream { 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(); } @@ -62696,43 +62696,43 @@ package java.util.stream { } 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 { @@ -62741,7 +62741,7 @@ package java.util.stream { 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(); @@ -62759,7 +62759,7 @@ package java.util.stream { 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); @@ -62792,7 +62792,7 @@ package java.util.stream { 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(); @@ -62810,7 +62810,7 @@ package java.util.stream { 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); @@ -62844,7 +62844,7 @@ package java.util.stream { 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(); @@ -62862,7 +62862,7 @@ package java.util.stream { 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); @@ -62889,49 +62889,49 @@ package java.util.stream { 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(); @@ -62944,8 +62944,8 @@ package java.util.stream { 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); } } @@ -65118,16 +65118,16 @@ package javax.security.auth { 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(); |