diff options
author | Yurii Zubrytskyi <zyy@google.com> | 2022-04-26 12:32:19 -0700 |
---|---|---|
committer | Yurii Zubrytskyi <zyy@google.com> | 2022-04-26 13:33:13 -0700 |
commit | d77e77b6746acba806c263344711eb0c4df2b108 (patch) | |
tree | 579accfad52046e276d210a1bde1d62530dd2801 | |
parent | 8440aab4a8b0cb50643f53695403205216bab0de (diff) | |
download | sdk-d77e77b6746acba806c263344711eb0c4df2b108.tar.gz |
Finalize artifacts for extension SDK 3
Import from build id 8501766.
Generated with:
$ packages/modules/common/tools/finalize_sdk.py -b 225745567 -f 3 -bn Tiramisu-SDK-Finalization-sdk 8501766
Bug: 225745567
Test: presubmit
Change-Id: Id8ec7ed65be3e368ca7e47334f62331b56c2f2c7
Merged-In: Id8ec7ed65be3e368ca7e47334f62331b56c2f2c7
134 files changed, 30369 insertions, 0 deletions
diff --git a/extensions/3/module-lib/api/android.net.ipsec.ike-removed.txt b/extensions/3/module-lib/api/android.net.ipsec.ike-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/android.net.ipsec.ike-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/android.net.ipsec.ike.txt b/extensions/3/module-lib/api/android.net.ipsec.ike.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/android.net.ipsec.ike.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/art.module.public.api-removed.txt b/extensions/3/module-lib/api/art.module.public.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/art.module.public.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/art.module.public.api.txt b/extensions/3/module-lib/api/art.module.public.api.txt new file mode 100644 index 000000000..c85cffb88 --- /dev/null +++ b/extensions/3/module-lib/api/art.module.public.api.txt @@ -0,0 +1,864 @@ +// Signature format: 2.0 +package android.compat { + + public final class Compatibility { + method public static void clearBehaviorChangeDelegate(); + method public static void clearOverrides(); + method public static boolean isChangeEnabled(long); + method public static void reportUnconditionalChange(long); + method public static void setBehaviorChangeDelegate(android.compat.Compatibility.BehaviorChangeDelegate); + method public static void setOverrides(android.compat.Compatibility.ChangeConfig); + } + + public static interface Compatibility.BehaviorChangeDelegate { + method public default boolean isChangeEnabled(long); + method public default void onChangeReported(long); + } + + public static final class Compatibility.ChangeConfig { + ctor public Compatibility.ChangeConfig(@NonNull java.util.Set<java.lang.Long>, @NonNull java.util.Set<java.lang.Long>); + method @NonNull public long[] getDisabledChangesArray(); + method @NonNull public java.util.Set<java.lang.Long> getDisabledSet(); + method @NonNull public long[] getEnabledChangesArray(); + method @NonNull public java.util.Set<java.lang.Long> getEnabledSet(); + method public boolean isEmpty(); + method public boolean isForceDisabled(long); + method public boolean isForceEnabled(long); + } + +} + +package android.system { + + public final class NetlinkSocketAddress extends java.net.SocketAddress { + ctor public NetlinkSocketAddress(int, int); + method public int getGroupsMask(); + method public int getPortId(); + } + + public final class Os { + method @Nullable public static android.system.StructCapUserData[] capget(@NonNull android.system.StructCapUserHeader) throws android.system.ErrnoException; + method public static void capset(@NonNull android.system.StructCapUserHeader, @NonNull android.system.StructCapUserData[]) throws android.system.ErrnoException; + method public static int getpgid(int) throws android.system.ErrnoException; + method @Nullable public static android.system.StructRlimit getrlimit(int) throws android.system.ErrnoException; + method public static int getsockoptInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException; + method @Nullable public static android.system.StructLinger getsockoptLinger(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException; + method public static int ioctlInt(@NonNull java.io.FileDescriptor, int) throws android.system.ErrnoException; + method @Nullable public static java.io.FileDescriptor[] pipe2(int) throws android.system.ErrnoException; + method @Nullable public static String realpath(@Nullable String) throws android.system.ErrnoException; + method public static void setpgid(int, int) throws android.system.ErrnoException; + method public static void setregid(int, int) throws android.system.ErrnoException; + method public static void setreuid(int, int) throws android.system.ErrnoException; + method public static void setsockoptIfreq(@NonNull java.io.FileDescriptor, int, int, @Nullable String) throws android.system.ErrnoException; + method public static void setsockoptLinger(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructLinger) throws android.system.ErrnoException; + method public static long splice(@NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, @NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, long, int) throws android.system.ErrnoException; + method public static void unlink(@Nullable String) throws android.system.ErrnoException; + } + + public final class OsConstants { + method public static int CAP_TO_INDEX(int); + method public static int CAP_TO_MASK(int); + field public static final int ARPHRD_LOOPBACK; + field public static final int EUSERS; + field public static final int MAP_POPULATE; + field public static final int O_DIRECT; + field public static final int PR_CAP_AMBIENT; + field public static final int PR_CAP_AMBIENT_RAISE; + field public static final int RLIMIT_NOFILE; + field public static final int RTMGRP_IPV4_IFADDR; + field public static final int SPLICE_F_MORE; + field public static final int SPLICE_F_MOVE; + field public static final int TIOCOUTQ; + field public static final int UDP_ENCAP; + field public static final int UDP_ENCAP_ESPINUDP; + field public static final int XATTR_CREATE; + field public static final int XATTR_REPLACE; + field public static final int _LINUX_CAPABILITY_VERSION_3; + } + + public final class PacketSocketAddress extends java.net.SocketAddress { + ctor public PacketSocketAddress(int, int, byte[]); + } + + public final class StructCapUserData { + ctor public StructCapUserData(int, int, int); + field public final int effective; + field public final int inheritable; + field public final int permitted; + } + + public final class StructCapUserHeader { + ctor public StructCapUserHeader(int, int); + } + + public final class StructLinger { + ctor public StructLinger(int, int); + method public boolean isOn(); + field public final int l_linger; + } + + public final class StructRlimit { + field public final long rlim_cur; + } + + public final class UnixSocketAddress extends java.net.SocketAddress { + method public static android.system.UnixSocketAddress createFileSystem(String); + } + +} + +package com.android.okhttp.internalandroidapi { + + public final class AndroidResponseCacheAdapter { + ctor public AndroidResponseCacheAdapter(@NonNull com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder); + method public void close() throws java.io.IOException; + method public void delete() throws java.io.IOException; + method public void flush() throws java.io.IOException; + method @Nullable public java.net.CacheResponse get(@NonNull java.net.URI, @NonNull String, @Nullable java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException; + method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder(); + method public int getHitCount(); + method public long getMaxSize(); + method public int getNetworkCount(); + method public int getRequestCount(); + method public long getSize() throws java.io.IOException; + method @Nullable public java.net.CacheRequest put(@NonNull java.net.URI, @NonNull java.net.URLConnection) throws java.io.IOException; + } + + public interface HasCacheHolder { + method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder(); + } + + public static final class HasCacheHolder.CacheHolder { + method @NonNull public static com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder create(@NonNull java.io.File, long); + method public boolean isEquivalent(@NonNull java.io.File, long); + } + +} + +package dalvik.annotation.codegen { + + @java.lang.annotation.Repeatable(CovariantReturnType.CovariantReturnTypes.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface CovariantReturnType { + method public abstract int presentAfter(); + method public abstract Class<?> returnType(); + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public static @interface CovariantReturnType.CovariantReturnTypes { + method public abstract dalvik.annotation.codegen.CovariantReturnType[] value(); + } + +} + +package dalvik.annotation.optimization { + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface CriticalNative { + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface FastNative { + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface NeverCompile { + } + +} + +package dalvik.system { + + public final class AnnotatedStackTraceElement { + method @Nullable public Object getBlockedOn(); + method @Nullable public Object[] getHeldLocks(); + method @NonNull public StackTraceElement getStackTraceElement(); + } + + public class AppSpecializationHooks { + method public static void handleCompatChangesBeforeBindingApplication(); + } + + public class BaseDexClassLoader extends java.lang.ClassLoader { + method public void addDexPath(@Nullable String); + method public void addNativePath(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public String getLdLibraryPath(); + method public void reportClassLoaderChain(); + method public static void setReporter(@Nullable dalvik.system.BaseDexClassLoader.Reporter); + } + + public static interface BaseDexClassLoader.Reporter { + method public void report(@NonNull java.util.Map<java.lang.String,java.lang.String>); + } + + public final class BlockGuard { + method @NonNull public static dalvik.system.BlockGuard.Policy getThreadPolicy(); + method @NonNull public static dalvik.system.BlockGuard.VmPolicy getVmPolicy(); + method public static void setThreadPolicy(@NonNull dalvik.system.BlockGuard.Policy); + method public static void setVmPolicy(@NonNull dalvik.system.BlockGuard.VmPolicy); + field public static final dalvik.system.BlockGuard.Policy LAX_POLICY; + field public static final dalvik.system.BlockGuard.VmPolicy LAX_VM_POLICY; + } + + public static interface BlockGuard.Policy { + method public int getPolicyMask(); + method public void onReadFromDisk(); + method public void onUnbufferedIO(); + method public void onWriteToDisk(); + } + + public static interface BlockGuard.VmPolicy { + method public void onPathAccess(@NonNull String); + } + + public final class CloseGuard { + method public void close(); + method public static dalvik.system.CloseGuard get(); + method public static dalvik.system.CloseGuard.Reporter getReporter(); + method public void open(String); + method public void openWithCallSite(String, String); + method public static void setEnabled(boolean); + method public static void setReporter(dalvik.system.CloseGuard.Reporter); + method public void warnIfOpen(); + } + + public static interface CloseGuard.Reporter { + method public void report(String, Throwable); + method public default void report(String); + } + + public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader { + ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[]); + ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[], ClassLoader[]); + } + + @Deprecated public final class DexFile { + method @Deprecated @NonNull public static dalvik.system.DexFile.OptimizationInfo getDexFileOptimizationInfo(@NonNull String, @NonNull String) throws java.io.FileNotFoundException; + method @Deprecated @Nullable public static String[] getDexFileOutputPaths(@NonNull String, @NonNull String) throws java.io.FileNotFoundException; + method @Deprecated public static int getDexOptNeeded(@NonNull String, @NonNull String, @NonNull String, @Nullable String, boolean, boolean) throws java.io.FileNotFoundException, java.io.IOException; + method @Deprecated @NonNull public static String getSafeModeCompilerFilter(@NonNull String); + method @Deprecated public static boolean isProfileGuidedCompilerFilter(@NonNull String); + method @Deprecated public static boolean isValidCompilerFilter(@NonNull String); + field @Deprecated public static final int DEX2OAT_FOR_FILTER = 3; // 0x3 + field @Deprecated public static final int NO_DEXOPT_NEEDED = 0; // 0x0 + } + + @Deprecated public static final class DexFile.OptimizationInfo { + method @Deprecated @NonNull public String getReason(); + method @Deprecated @NonNull public String getStatus(); + } + + public class PathClassLoader extends dalvik.system.BaseDexClassLoader { + ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[]); + ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[], @Nullable ClassLoader[]); + } + + public final class RuntimeHooks { + method public static void setTimeZoneIdSupplier(@NonNull java.util.function.Supplier<java.lang.String>); + method public static void setUncaughtExceptionPreHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler); + } + + public abstract class SocketTagger { + ctor public SocketTagger(); + method public static dalvik.system.SocketTagger get(); + method public static void set(dalvik.system.SocketTagger); + method public abstract void tag(java.io.FileDescriptor) throws java.net.SocketException; + method public final void tag(java.net.Socket) throws java.net.SocketException; + method public final void tag(java.net.DatagramSocket) throws java.net.SocketException; + method public abstract void untag(java.io.FileDescriptor) throws java.net.SocketException; + method public final void untag(java.net.Socket) throws java.net.SocketException; + method public final void untag(java.net.DatagramSocket) throws java.net.SocketException; + } + + public final class VMDebug { + method public static void attachAgent(String, ClassLoader) throws java.io.IOException; + method public static long countInstancesOfClass(Class, boolean); + method public static long[] countInstancesOfClasses(Class[], boolean); + method public static void dumpHprofData(String) throws java.io.IOException; + method public static void dumpHprofData(String, java.io.FileDescriptor) throws java.io.IOException; + method public static void dumpHprofDataDdms(); + method public static void dumpReferenceTables(); + method public static int getAllocCount(int); + method @dalvik.annotation.optimization.FastNative public static int getLoadedClassCount(); + method public static int getMethodTracingMode(); + method public static String getRuntimeStat(String); + method public static java.util.Map<java.lang.String,java.lang.String> getRuntimeStats(); + method public static String[] getVmFeatureList(); + method @dalvik.annotation.optimization.FastNative public static boolean isDebuggerConnected(); + method @dalvik.annotation.optimization.FastNative public static boolean isDebuggingEnabled(); + method @dalvik.annotation.optimization.FastNative public static long lastDebuggerActivity(); + method @dalvik.annotation.optimization.FastNative public static void printLoadedClasses(int); + method public static void resetAllocCount(int); + method public static void setAllocTrackerStackDepth(int); + method public static void startAllocCounting(); + method public static void startMethodTracing(String, int, int, boolean, int); + method public static void startMethodTracing(String, java.io.FileDescriptor, int, int, boolean, int, boolean); + method public static void startMethodTracingDdms(int, int, boolean, int); + method public static void stopAllocCounting(); + method public static void stopMethodTracing(); + method @dalvik.annotation.optimization.FastNative public static long threadCpuTimeNanos(); + field public static final int KIND_ALL_COUNTS = -1; // 0xffffffff + field public static final int KIND_GLOBAL_ALLOCATED_BYTES = 2; // 0x2 + field public static final int KIND_GLOBAL_ALLOCATED_OBJECTS = 1; // 0x1 + field public static final int KIND_GLOBAL_CLASS_INIT_COUNT = 32; // 0x20 + field public static final int KIND_GLOBAL_CLASS_INIT_TIME = 64; // 0x40 + field public static final int KIND_GLOBAL_FREED_BYTES = 8; // 0x8 + field public static final int KIND_GLOBAL_FREED_OBJECTS = 4; // 0x4 + field public static final int KIND_GLOBAL_GC_INVOCATIONS = 16; // 0x10 + field public static final int KIND_THREAD_ALLOCATED_BYTES = 131072; // 0x20000 + field public static final int KIND_THREAD_ALLOCATED_OBJECTS = 65536; // 0x10000 + field public static final int KIND_THREAD_GC_INVOCATIONS = 1048576; // 0x100000 + field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1 + } + + public final class VMRuntime { + method @dalvik.annotation.optimization.FastNative public long addressOf(Object); + method public static void bootCompleted(); + method public void clampGrowthLimit(); + method public void clearGrowthLimit(); + method public static String getCurrentInstructionSet(); + method public static String getInstructionSet(String); + method public static dalvik.system.VMRuntime getRuntime(); + method public int getTargetSdkVersion(); + method @dalvik.annotation.optimization.FastNative public boolean is64Bit(); + method public static boolean is64BitAbi(String); + method public static boolean is64BitInstructionSet(String); + method @dalvik.annotation.optimization.FastNative public boolean isCheckJniEnabled(); + method @dalvik.annotation.optimization.FastNative public boolean isNativeDebuggable(); + method public static boolean isValidClassLoaderContext(String); + method @dalvik.annotation.optimization.FastNative public Object newNonMovableArray(Class<?>, int); + method @dalvik.annotation.optimization.FastNative public Object newUnpaddedArray(Class<?>, int); + method public void notifyStartupCompleted(); + method public void preloadDexCaches(); + method public static void registerAppInfo(String, String, String, String[], int); + method public void registerNativeAllocation(long); + method @Deprecated public void registerNativeAllocation(int); + method public void registerNativeFree(long); + method @Deprecated public void registerNativeFree(int); + method public static void registerSensitiveThread(); + method public void requestConcurrentGC(); + method public static void resetJitCounters(); + method public static void setDedupeHiddenApiWarnings(boolean); + method public void setDisabledCompatChanges(long[]); + method public void setHiddenApiAccessLogSamplingRate(int); + method public void setHiddenApiExemptions(String[]); + method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger); + method public static void setNonSdkApiUsageConsumer(java.util.function.Consumer<java.lang.String>); + method public static void setProcessDataDirectory(String); + method public static void setProcessPackageName(String); + method public void setTargetSdkVersion(int); + method public void updateProcessState(int); + method public String vmInstructionSet(); + method public String vmLibrary(); + field public static final int CODE_PATH_TYPE_PRIMARY_APK = 1; // 0x1 + field public static final int CODE_PATH_TYPE_SECONDARY_DEX = 4; // 0x4 + field public static final int CODE_PATH_TYPE_SPLIT_APK = 2; // 0x2 + field public static final int SDK_VERSION_CUR_DEVELOPMENT = 10000; // 0x2710 + } + + public static interface VMRuntime.HiddenApiUsageLogger { + method public void hiddenApiUsed(int, String, String, int, boolean); + field public static final int ACCESS_METHOD_JNI = 2; // 0x2 + field public static final int ACCESS_METHOD_LINKING = 3; // 0x3 + field public static final int ACCESS_METHOD_NONE = 0; // 0x0 + field public static final int ACCESS_METHOD_REFLECTION = 1; // 0x1 + } + + public final class VMStack { + method @Nullable @dalvik.annotation.optimization.FastNative public static dalvik.system.AnnotatedStackTraceElement[] getAnnotatedThreadStackTrace(Thread); + } + + public final class ZygoteHooks { + method public static void gcAndFinalize(); + method public static boolean isIndefiniteThreadSuspensionSafe(); + method public static void onBeginPreload(); + method public static void onEndPreload(); + method public static void postForkChild(int, boolean, boolean, String); + method public static void postForkCommon(); + method public static void postForkSystemServer(int); + method public static void preFork(); + method public static void startZygoteNoThreadCreation(); + method public static void stopZygoteNoThreadCreation(); + } + +} + +package java.io { + + public final class FileDescriptor { + method public int getInt$(); + method public void setInt$(int); + } + + public class FileInputStream extends java.io.InputStream { + ctor public FileInputStream(java.io.FileDescriptor, boolean); + } + +} + +package java.lang { + + public class Thread implements java.lang.Runnable { + method public static java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionPreHandler(); + method public static void setUncaughtExceptionPreHandler(java.lang.Thread.UncaughtExceptionHandler); + } + +} + +package java.net { + + public class DatagramSocket implements java.io.Closeable { + method public java.io.FileDescriptor getFileDescriptor$(); + } + + public final class Inet4Address extends java.net.InetAddress { + field public static final java.net.InetAddress ALL; + field public static final java.net.InetAddress ANY; + field public static final java.net.InetAddress LOOPBACK; + } + + public final class Inet6Address extends java.net.InetAddress { + field public static final java.net.InetAddress ANY; + field public static final java.net.InetAddress LOOPBACK; + } + + public class InetAddress implements java.io.Serializable { + method public static void clearDnsCache(); + method @NonNull public static java.net.InetAddress[] getAllByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException; + method @NonNull public static java.net.InetAddress getByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException; + method @Deprecated public static boolean isNumeric(String); + method @Deprecated public static java.net.InetAddress parseNumericAddress(String); + } + + public class InetSocketAddress extends java.net.SocketAddress { + ctor public InetSocketAddress(); + } + + public class ServerSocket implements java.io.Closeable { + method public java.net.SocketImpl getImpl() throws java.net.SocketException; + } + + public class Socket implements java.io.Closeable { + method public java.io.FileDescriptor getFileDescriptor$(); + } + + public abstract class SocketImpl implements java.net.SocketOptions { + method public java.io.FileDescriptor getFD$(); + } + +} + +package java.nio { + + public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> { + method public void setAccessible(boolean); + } + + public class DirectByteBuffer extends java.nio.MappedByteBuffer { + ctor public DirectByteBuffer(int, long, java.io.FileDescriptor, Runnable, boolean); + method public final long address(); + method public final void setAccessible(boolean); + } + + public final class NIOAccess { + method public static Object getBaseArray(java.nio.Buffer); + method public static int getBaseArrayOffset(java.nio.Buffer); + } + + public final class NioUtils { + method public static void freeDirectBuffer(java.nio.ByteBuffer); + method public static byte[] unsafeArray(java.nio.ByteBuffer); + method public static int unsafeArrayOffset(java.nio.ByteBuffer); + } + +} + +package java.security { + + public abstract class Provider extends java.util.Properties { + method public void warmUpServiceProvision(); + } + + public abstract class Signature extends java.security.SignatureSpi { + method public java.security.SignatureSpi getCurrentSpi(); + } + +} + +package java.text { + + public abstract class DateFormat extends java.text.Format { + method public static final void set24HourTimePref(Boolean); + } + +} + +package java.util { + + public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> { + method public java.util.Map.Entry<K,V> eldest(); + } + +} + +package java.util.zip { + + public class ZipEntry implements java.lang.Cloneable { + method public long getDataOffset(); + } + +} + +package javax.crypto { + + public class Cipher { + method public javax.crypto.CipherSpi getCurrentSpi(); + } + + public class Mac implements java.lang.Cloneable { + method public javax.crypto.MacSpi getCurrentSpi(); + } + +} + +package javax.net.ssl { + + public abstract class HttpsURLConnection extends java.net.HttpURLConnection { + method public static javax.net.ssl.HostnameVerifier getStrictHostnameVerifier(); + } + +} + +package libcore.content.type { + + public final class MimeMap { + method @NonNull public libcore.content.type.MimeMap.Builder buildUpon(); + method @NonNull public static libcore.content.type.MimeMap.Builder builder(); + method @NonNull public java.util.Set<java.lang.String> extensions(); + method @NonNull public static libcore.content.type.MimeMap getDefault(); + method @Nullable public String guessExtensionFromMimeType(@Nullable String); + method @Nullable public String guessMimeTypeFromExtension(@Nullable String); + method public boolean hasExtension(@Nullable String); + method public boolean hasMimeType(@Nullable String); + method @NonNull public java.util.Set<java.lang.String> mimeTypes(); + method public static void setDefaultSupplier(@NonNull java.util.function.Supplier<libcore.content.type.MimeMap>); + } + + public static final class MimeMap.Builder { + method @NonNull public libcore.content.type.MimeMap.Builder addMimeMapping(@NonNull String, @NonNull java.util.List<java.lang.String>); + method @NonNull public libcore.content.type.MimeMap build(); + } + +} + +package libcore.io { + + public class ForwardingOs implements libcore.io.Os { + ctor protected ForwardingOs(@NonNull libcore.io.Os); + method public boolean access(@Nullable String, int) throws android.system.ErrnoException; + method public java.io.FileDescriptor open(@Nullable String, int, int) throws android.system.ErrnoException; + method public void remove(@Nullable String) throws android.system.ErrnoException; + method public void rename(@Nullable String, @Nullable String) throws android.system.ErrnoException; + method @Nullable public android.system.StructStat stat(@Nullable String) throws android.system.ErrnoException; + method public void unlink(@Nullable String) throws android.system.ErrnoException; + } + + public final class IoBridge { + method public static void closeAndSignalBlockedThreads(@NonNull java.io.FileDescriptor) throws java.io.IOException; + method @NonNull public static java.io.FileDescriptor open(@NonNull String, int) throws java.io.FileNotFoundException; + method public static int read(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException; + method public static void write(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException; + } + + public final class IoUtils { + method public static int acquireRawFd(@NonNull java.io.FileDescriptor); + method public static void close(@Nullable java.io.FileDescriptor) throws java.io.IOException; + method public static void closeQuietly(@Nullable AutoCloseable); + method public static void closeQuietly(@Nullable java.io.FileDescriptor); + method public static void closeQuietly(@Nullable java.net.Socket); + method @NonNull public static byte[] readFileAsByteArray(@NonNull String) throws java.io.IOException; + method @NonNull public static String readFileAsString(@NonNull String) throws java.io.IOException; + method public static void setBlocking(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException; + method public static void setFdOwner(@NonNull java.io.FileDescriptor, @NonNull Object); + } + + public final class Memory { + method public static void memmove(@NonNull Object, int, @NonNull Object, int, long); + method public static int peekInt(@NonNull byte[], int, @NonNull java.nio.ByteOrder); + method public static short peekShort(@NonNull byte[], int, @NonNull java.nio.ByteOrder); + method public static void pokeInt(@NonNull byte[], int, int, @NonNull java.nio.ByteOrder); + method public static void pokeLong(@NonNull byte[], int, long, @NonNull java.nio.ByteOrder); + method public static void pokeShort(@NonNull byte[], int, short, @NonNull java.nio.ByteOrder); + } + + public interface Os { + method public static boolean compareAndSetDefault(libcore.io.Os, libcore.io.Os); + method public static libcore.io.Os getDefault(); + } + + public final class Streams { + method public static int copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException; + method public static void readFully(@NonNull java.io.InputStream, @NonNull byte[]) throws java.io.IOException; + method @NonNull public static byte[] readFully(@NonNull java.io.InputStream) throws java.io.IOException; + method @NonNull public static String readFully(@NonNull java.io.Reader) throws java.io.IOException; + method @NonNull public static byte[] readFullyNoClose(@NonNull java.io.InputStream) throws java.io.IOException; + method public static int readSingleByte(@NonNull java.io.InputStream) throws java.io.IOException; + method public static long skipByReading(@NonNull java.io.InputStream, long) throws java.io.IOException; + method public static void writeSingleByte(@NonNull java.io.OutputStream, int) throws java.io.IOException; + } + +} + +package libcore.net { + + public class InetAddressUtils { + method public static boolean isNumericAddress(String); + method public static java.net.InetAddress parseNumericAddress(String); + } + + public abstract class NetworkSecurityPolicy { + ctor public NetworkSecurityPolicy(); + method public static libcore.net.NetworkSecurityPolicy getInstance(); + method public abstract boolean isCertificateTransparencyVerificationRequired(String); + method public abstract boolean isCleartextTrafficPermitted(); + method public abstract boolean isCleartextTrafficPermitted(String); + method public static void setInstance(libcore.net.NetworkSecurityPolicy); + } + +} + +package libcore.net.event { + + public final class NetworkEventDispatcher { + method public void dispatchNetworkConfigurationChange(); + method public static libcore.net.event.NetworkEventDispatcher getInstance(); + } + +} + +package libcore.net.http { + + public interface Dns { + method @NonNull public java.util.List<java.net.InetAddress> lookup(@Nullable String) throws java.net.UnknownHostException; + } + + public class HttpURLConnectionFactory { + method @NonNull public static libcore.net.http.HttpURLConnectionFactory createInstance(); + method public java.net.URLConnection openConnection(@NonNull java.net.URL, @NonNull javax.net.SocketFactory, @NonNull java.net.Proxy) throws java.io.IOException; + method public void setDns(@NonNull libcore.net.http.Dns); + method public void setNewConnectionPool(int, long, @NonNull java.util.concurrent.TimeUnit); + } + +} + +package libcore.util { + + public final class EmptyArray { + field @NonNull public static final boolean[] BOOLEAN; + field @NonNull public static final byte[] BYTE; + field @NonNull public static final float[] FLOAT; + field @NonNull public static final int[] INT; + field @NonNull public static final long[] LONG; + field @NonNull public static final Object[] OBJECT; + field @NonNull public static final String[] STRING; + } + + public final class FP16 { + method public static short ceil(short); + method public static int compare(short, short); + method public static boolean equals(short, short); + method public static short floor(short); + method public static boolean greater(short, short); + method public static boolean greaterEquals(short, short); + method public static boolean isInfinite(short); + method public static boolean isNaN(short); + method public static boolean isNormalized(short); + method public static boolean less(short, short); + method public static boolean lessEquals(short, short); + method public static short max(short, short); + method public static short min(short, short); + method public static short rint(short); + method public static float toFloat(short); + method public static short toHalf(float); + method public static String toHexString(short); + method public static short trunc(short); + field public static final short EPSILON = 5120; // 0x1400 + field public static final int EXPONENT_BIAS = 15; // 0xf + field public static final int EXPONENT_SHIFT = 10; // 0xa + field public static final int EXPONENT_SIGNIFICAND_MASK = 32767; // 0x7fff + field public static final short LOWEST_VALUE = -1025; // 0xfffffbff + field public static final int MAX_EXPONENT = 15; // 0xf + field public static final short MAX_VALUE = 31743; // 0x7bff + field public static final int MIN_EXPONENT = -14; // 0xfffffff2 + field public static final short MIN_NORMAL = 1024; // 0x400 + field public static final short MIN_VALUE = 1; // 0x1 + field public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00 + field public static final short NEGATIVE_ZERO = -32768; // 0xffff8000 + field public static final short NaN = 32256; // 0x7e00 + field public static final short POSITIVE_INFINITY = 31744; // 0x7c00 + field public static final short POSITIVE_ZERO = 0; // 0x0 + field public static final int SHIFTED_EXPONENT_MASK = 31; // 0x1f + field public static final int SIGNIFICAND_MASK = 1023; // 0x3ff + field public static final int SIGN_MASK = 32768; // 0x8000 + field public static final int SIGN_SHIFT = 15; // 0xf + field public static final int SIZE = 16; // 0x10 + } + + public class HexEncoding { + method public static byte[] decode(String) throws java.lang.IllegalArgumentException; + method public static byte[] decode(String, boolean) throws java.lang.IllegalArgumentException; + method public static byte[] decode(char[]) throws java.lang.IllegalArgumentException; + method public static byte[] decode(char[], boolean) throws java.lang.IllegalArgumentException; + method public static char[] encode(byte[]); + method public static char[] encode(byte[], boolean); + method public static char[] encode(byte[], int, int); + method public static String encodeToString(byte, boolean); + method public static String encodeToString(byte[]); + method public static String encodeToString(byte[], boolean); + } + + public class NativeAllocationRegistry { + ctor public NativeAllocationRegistry(@NonNull ClassLoader, long, long); + method public static void applyFreeFunction(long, long); + method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long, long); + method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long); + method public static libcore.util.NativeAllocationRegistry createNonmalloced(@NonNull ClassLoader, long, long); + method @NonNull public Runnable registerNativeAllocation(@NonNull Object, long); + } + + public class SneakyThrow { + method public static void sneakyThrow(@NonNull Throwable); + } + + public class XmlObjectFactory { + method @NonNull public static org.xml.sax.XMLReader newXMLReader(); + method @NonNull public static org.xmlpull.v1.XmlPullParser newXmlPullParser(); + method @NonNull public static org.xmlpull.v1.XmlSerializer newXmlSerializer(); + } + +} + +package org.apache.harmony.dalvik.ddmc { + + public class Chunk { + ctor public Chunk(int, byte[], int, int); + ctor public Chunk(int, java.nio.ByteBuffer); + field public int type; + } + + public abstract class ChunkHandler { + ctor public ChunkHandler(); + method public static org.apache.harmony.dalvik.ddmc.Chunk createFailChunk(int, String); + method public abstract org.apache.harmony.dalvik.ddmc.Chunk handleChunk(org.apache.harmony.dalvik.ddmc.Chunk); + method public static String name(int); + method public abstract void onConnected(); + method public abstract void onDisconnected(); + method public static int type(String); + method public static java.nio.ByteBuffer wrapChunk(org.apache.harmony.dalvik.ddmc.Chunk); + field public static final java.nio.ByteOrder CHUNK_ORDER; + } + + public final class DdmServer { + method public static void registerHandler(int, org.apache.harmony.dalvik.ddmc.ChunkHandler); + method public static void registrationComplete(); + method public static void sendChunk(org.apache.harmony.dalvik.ddmc.Chunk); + method public static org.apache.harmony.dalvik.ddmc.ChunkHandler unregisterHandler(int); + } + + public final class DdmVmInternal { + method public static void setRecentAllocationsTrackingEnabled(boolean); + method public static void setThreadNotifyEnabled(boolean); + } + +} + +package org.json { + + public class JSONObject { + method @NonNull public java.util.Set<java.lang.String> keySet(); + } + +} + +package sun.misc { + + public class Cleaner extends java.lang.ref.PhantomReference<java.lang.Object> { + method public void clean(); + method public static sun.misc.Cleaner create(Object, Runnable); + } + + public final class Unsafe { + method public int arrayBaseOffset(Class); + method public int arrayIndexScale(Class); + method @dalvik.annotation.optimization.FastNative public void copyMemory(long, long, long); + method @dalvik.annotation.optimization.FastNative public boolean getBoolean(Object, long); + method @dalvik.annotation.optimization.FastNative public byte getByte(Object, long); + method @dalvik.annotation.optimization.FastNative public byte getByte(long); + method @dalvik.annotation.optimization.FastNative public double getDouble(Object, long); + method @dalvik.annotation.optimization.FastNative public double getDouble(long); + method @dalvik.annotation.optimization.FastNative public float getFloat(Object, long); + method @dalvik.annotation.optimization.FastNative public float getFloat(long); + method @dalvik.annotation.optimization.FastNative public int getInt(Object, long); + method @dalvik.annotation.optimization.FastNative public int getInt(long); + method @dalvik.annotation.optimization.FastNative public long getLong(Object, long); + method @dalvik.annotation.optimization.FastNative public long getLong(long); + method @dalvik.annotation.optimization.FastNative public Object getObject(Object, long); + method public static sun.misc.Unsafe getUnsafe(); + method public long objectFieldOffset(java.lang.reflect.Field); + method @dalvik.annotation.optimization.FastNative public void putBoolean(Object, long, boolean); + method @dalvik.annotation.optimization.FastNative public void putByte(Object, long, byte); + method @dalvik.annotation.optimization.FastNative public void putByte(long, byte); + method @dalvik.annotation.optimization.FastNative public void putDouble(Object, long, double); + method @dalvik.annotation.optimization.FastNative public void putDouble(long, double); + method @dalvik.annotation.optimization.FastNative public void putFloat(Object, long, float); + method @dalvik.annotation.optimization.FastNative public void putFloat(long, float); + method @dalvik.annotation.optimization.FastNative public void putInt(Object, long, int); + method @dalvik.annotation.optimization.FastNative public void putInt(long, int); + method @dalvik.annotation.optimization.FastNative public void putLong(Object, long, long); + method @dalvik.annotation.optimization.FastNative public void putLong(long, long); + method @dalvik.annotation.optimization.FastNative public void putObject(Object, long, Object); + } + +} + +package sun.security.jca { + + public class Providers { + method public static Object startJarVerification(); + method public static void stopJarVerification(Object); + } + +} + +package sun.security.pkcs { + + public class PKCS7 { + ctor public PKCS7(java.io.InputStream) throws java.io.IOException, sun.security.pkcs.ParsingException; + ctor public PKCS7(byte[]) throws sun.security.pkcs.ParsingException; + method public java.security.cert.X509Certificate[] getCertificates(); + method public sun.security.pkcs.SignerInfo[] getSignerInfos(); + method public sun.security.pkcs.SignerInfo verify(sun.security.pkcs.SignerInfo, java.io.InputStream) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException; + method public sun.security.pkcs.SignerInfo[] verify(byte[]) throws java.security.NoSuchAlgorithmException, java.security.SignatureException; + } + + public class ParsingException extends java.io.IOException { + } + + public class SignerInfo { + ctor public SignerInfo(); + method public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7) throws java.io.IOException; + } + +} + +package sun.security.util { + + public final class ObjectIdentifier implements java.io.Serializable { + ctor public ObjectIdentifier(String) throws java.io.IOException; + } + +} + +package sun.security.x509 { + + public class AlgorithmId implements java.io.Serializable { + ctor public AlgorithmId(sun.security.util.ObjectIdentifier); + method public String getName(); + } + +} + diff --git a/extensions/3/module-lib/api/conscrypt.module.public.api-removed.txt b/extensions/3/module-lib/api/conscrypt.module.public.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/conscrypt.module.public.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/conscrypt.module.public.api.txt b/extensions/3/module-lib/api/conscrypt.module.public.api.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/conscrypt.module.public.api.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-adservices-removed.txt b/extensions/3/module-lib/api/framework-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-adservices.txt b/extensions/3/module-lib/api/framework-adservices.txt new file mode 100644 index 000000000..3a3276d5f --- /dev/null +++ b/extensions/3/module-lib/api/framework-adservices.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.adservices { + + public class AdServicesFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/3/module-lib/api/framework-appsearch-removed.txt b/extensions/3/module-lib/api/framework-appsearch-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-appsearch-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-appsearch.txt b/extensions/3/module-lib/api/framework-appsearch.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-appsearch.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-connectivity-removed.txt b/extensions/3/module-lib/api/framework-connectivity-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-connectivity-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-connectivity-t-removed.txt b/extensions/3/module-lib/api/framework-connectivity-t-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-connectivity-t-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-connectivity-t.txt b/extensions/3/module-lib/api/framework-connectivity-t.txt new file mode 100644 index 000000000..5a8d47b5f --- /dev/null +++ b/extensions/3/module-lib/api/framework-connectivity-t.txt @@ -0,0 +1,209 @@ +// Signature format: 2.0 +package android.app.usage { + + public class NetworkStatsManager { + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void forceUpdate(); + method public static int getCollapsedRatType(int); + method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getMobileUidStats(); + method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getWifiUidStats(); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void noteUidForeground(int, boolean); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyNetworkStatus(@NonNull java.util.List<android.net.Network>, @NonNull java.util.List<android.net.NetworkStateSnapshot>, @Nullable String, @NonNull java.util.List<android.net.UnderlyingNetworkInfo>); + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForDevice(@NonNull android.net.NetworkTemplate, long, long); + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTagState(@NonNull android.net.NetworkTemplate, long, long, int, int, int) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats querySummary(@NonNull android.net.NetworkTemplate, long, long) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForDevice(@NonNull android.net.NetworkTemplate, long, long); + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryTaggedSummary(@NonNull android.net.NetworkTemplate, long, long) throws java.lang.SecurityException; + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}, conditional=true) public void registerUsageCallback(@NonNull android.net.NetworkTemplate, long, @NonNull java.util.concurrent.Executor, @NonNull android.app.usage.NetworkStatsManager.UsageCallback); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setDefaultGlobalAlert(long); + method public void setPollForce(boolean); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setPollOnOpen(boolean); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setStatsProviderWarningAndLimitAsync(@NonNull String, long, long); + field public static final int NETWORK_TYPE_5G_NSA = -2; // 0xfffffffe + } + + public abstract static class NetworkStatsManager.UsageCallback { + method public void onThresholdReached(@NonNull android.net.NetworkTemplate); + } + +} + +package android.nearby { + + public final class NearbyFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + +package android.net { + + public final class ConnectivityFrameworkInitializerTiramisu { + method public static void registerServiceWrappers(); + } + + public class EthernetManager { + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addEthernetStateListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addInterfaceStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.InterfaceStateListener); + method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public java.util.List<java.lang.String> getInterfaceList(); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void removeEthernetStateListener(@NonNull java.util.function.IntConsumer); + method public void removeInterfaceStateListener(@NonNull android.net.EthernetManager.InterfaceStateListener); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setEthernetEnabled(boolean); + method public void setIncludeTestInterfaces(boolean); + field public static final int ETHERNET_STATE_DISABLED = 0; // 0x0 + field public static final int ETHERNET_STATE_ENABLED = 1; // 0x1 + field public static final int ROLE_CLIENT = 1; // 0x1 + field public static final int ROLE_NONE = 0; // 0x0 + field public static final int ROLE_SERVER = 2; // 0x2 + field public static final int STATE_ABSENT = 0; // 0x0 + field public static final int STATE_LINK_DOWN = 1; // 0x1 + field public static final int STATE_LINK_UP = 2; // 0x2 + } + + public static interface EthernetManager.InterfaceStateListener { + method public void onInterfaceStateChanged(@NonNull String, int, int, @Nullable android.net.IpConfiguration); + } + + public class IpSecManager { + field public static final int DIRECTION_FWD = 2; // 0x2 + } + + public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable { + method public int getResourceId(); + } + + public class NetworkIdentity { + method public int getOemManaged(); + method public int getRatType(); + method public int getSubId(); + method @Nullable public String getSubscriberId(); + method public int getType(); + method @Nullable public String getWifiNetworkKey(); + method public boolean isDefaultNetwork(); + method public boolean isMetered(); + method public boolean isRoaming(); + } + + public static final class NetworkIdentity.Builder { + ctor public NetworkIdentity.Builder(); + method @NonNull public android.net.NetworkIdentity build(); + method @NonNull public android.net.NetworkIdentity.Builder clearRatType(); + method @NonNull public android.net.NetworkIdentity.Builder setDefaultNetwork(boolean); + method @NonNull public android.net.NetworkIdentity.Builder setMetered(boolean); + method @NonNull public android.net.NetworkIdentity.Builder setNetworkStateSnapshot(@NonNull android.net.NetworkStateSnapshot); + method @NonNull public android.net.NetworkIdentity.Builder setOemManaged(int); + method @NonNull public android.net.NetworkIdentity.Builder setRatType(int); + method @NonNull public android.net.NetworkIdentity.Builder setRoaming(boolean); + method @NonNull public android.net.NetworkIdentity.Builder setSubId(int); + method @NonNull public android.net.NetworkIdentity.Builder setSubscriberId(@Nullable String); + method @NonNull public android.net.NetworkIdentity.Builder setType(int); + method @NonNull public android.net.NetworkIdentity.Builder setWifiNetworkKey(@Nullable String); + } + + public final class NetworkStateSnapshot implements android.os.Parcelable { + ctor public NetworkStateSnapshot(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @Nullable String, int); + method public int describeContents(); + method public int getLegacyType(); + method @NonNull public android.net.LinkProperties getLinkProperties(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities(); + method public int getSubId(); + method @Deprecated @Nullable public String getSubscriberId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStateSnapshot> CREATOR; + } + + public class NetworkStatsCollection { + method @NonNull public java.util.Map<android.net.NetworkStatsCollection.Key,android.net.NetworkStatsHistory> getEntries(); + } + + public static final class NetworkStatsCollection.Builder { + ctor public NetworkStatsCollection.Builder(long); + method @NonNull public android.net.NetworkStatsCollection.Builder addEntry(@NonNull android.net.NetworkStatsCollection.Key, @NonNull android.net.NetworkStatsHistory); + method @NonNull public android.net.NetworkStatsCollection build(); + } + + public static final class NetworkStatsCollection.Key { + ctor public NetworkStatsCollection.Key(@NonNull java.util.Set<android.net.NetworkIdentity>, int, int, int); + } + + public final class NetworkStatsHistory implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.net.NetworkStatsHistory.Entry> getEntries(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStatsHistory> CREATOR; + } + + public static final class NetworkStatsHistory.Builder { + ctor public NetworkStatsHistory.Builder(long, int); + method @NonNull public android.net.NetworkStatsHistory.Builder addEntry(@NonNull android.net.NetworkStatsHistory.Entry); + method @NonNull public android.net.NetworkStatsHistory build(); + } + + public static final class NetworkStatsHistory.Entry { + ctor public NetworkStatsHistory.Entry(long, long, long, long, long, long, long); + method public long getActiveTime(); + method public long getBucketStart(); + method public long getOperations(); + method public long getRxBytes(); + method public long getRxPackets(); + method public long getTxBytes(); + method public long getTxPackets(); + } + + public final class NetworkTemplate implements android.os.Parcelable { + method public int describeContents(); + method public int getDefaultNetworkStatus(); + method public int getMatchRule(); + method public int getMeteredness(); + method public int getOemManaged(); + method public int getRatType(); + method public int getRoaming(); + method @NonNull public java.util.Set<java.lang.String> getSubscriberIds(); + method @NonNull public java.util.Set<java.lang.String> getWifiNetworkKeys(); + method public boolean matches(@NonNull android.net.NetworkIdentity); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkTemplate> CREATOR; + field public static final int MATCH_BLUETOOTH = 8; // 0x8 + field public static final int MATCH_CARRIER = 10; // 0xa + field public static final int MATCH_ETHERNET = 5; // 0x5 + field public static final int MATCH_MOBILE = 1; // 0x1 + field public static final int MATCH_PROXY = 9; // 0x9 + field public static final int MATCH_WIFI = 4; // 0x4 + field public static final int NETWORK_TYPE_ALL = -1; // 0xffffffff + field public static final int OEM_MANAGED_ALL = -1; // 0xffffffff + field public static final int OEM_MANAGED_NO = 0; // 0x0 + field public static final int OEM_MANAGED_PAID = 1; // 0x1 + field public static final int OEM_MANAGED_PRIVATE = 2; // 0x2 + field public static final int OEM_MANAGED_YES = -2; // 0xfffffffe + } + + public static final class NetworkTemplate.Builder { + ctor public NetworkTemplate.Builder(int); + method @NonNull public android.net.NetworkTemplate build(); + method @NonNull public android.net.NetworkTemplate.Builder setDefaultNetworkStatus(int); + method @NonNull public android.net.NetworkTemplate.Builder setMeteredness(int); + method @NonNull public android.net.NetworkTemplate.Builder setOemManaged(int); + method @NonNull public android.net.NetworkTemplate.Builder setRatType(int); + method @NonNull public android.net.NetworkTemplate.Builder setRoaming(int); + method @NonNull public android.net.NetworkTemplate.Builder setSubscriberIds(@NonNull java.util.Set<java.lang.String>); + method @NonNull public android.net.NetworkTemplate.Builder setWifiNetworkKeys(@NonNull java.util.Set<java.lang.String>); + } + + public class TrafficStats { + method public static void attachSocketTagger(); + method public static void init(@NonNull android.content.Context); + method public static void setThreadStatsTagDownload(); + } + + public final class UnderlyingNetworkInfo implements android.os.Parcelable { + ctor public UnderlyingNetworkInfo(int, @NonNull String, @NonNull java.util.List<java.lang.String>); + method public int describeContents(); + method @NonNull public String getInterface(); + method public int getOwnerUid(); + method @NonNull public java.util.List<java.lang.String> getUnderlyingInterfaces(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.UnderlyingNetworkInfo> CREATOR; + } + +} + diff --git a/extensions/3/module-lib/api/framework-connectivity.txt b/extensions/3/module-lib/api/framework-connectivity.txt new file mode 100644 index 000000000..ddac19d87 --- /dev/null +++ b/extensions/3/module-lib/api/framework-connectivity.txt @@ -0,0 +1,236 @@ +// Signature format: 2.0 +package android.net { + + public final class ConnectivityFrameworkInitializer { + method public static void registerServiceWrappers(); + } + + public class ConnectivityManager { + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkAllowList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkDenyList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void factoryReset(); + method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public java.util.List<android.net.NetworkStateSnapshot> getAllNetworkStateSnapshots(); + method @Nullable public android.net.ProxyInfo getGlobalProxy(); + method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange(); + method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public android.net.LinkProperties getRedactedLinkPropertiesForPackage(@NonNull android.net.LinkProperties, int, @NonNull String); + method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public android.net.NetworkCapabilities getRedactedNetworkCapabilitiesForPackage(@NonNull android.net.NetworkCapabilities, int, @NonNull String); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerDefaultNetworkCallbackForUid(int, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkAllowList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkDenyList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void replaceFirewallChain(int, @NonNull int[]); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void requestBackgroundNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptPartialConnectivity(@NonNull android.net.Network, boolean, boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptUnvalidated(@NonNull android.net.Network, boolean, boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAvoidUnvalidated(@NonNull android.net.Network); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setFirewallChainEnabled(int, boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean); + method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreferences(@NonNull android.os.UserHandle, @NonNull java.util.List<android.net.ProfileNetworkPreference>, @Nullable java.util.concurrent.Executor, @Nullable Runnable); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setRequireVpnForUids(boolean, @NonNull java.util.Collection<android.util.Range<java.lang.Integer>>); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setUidFirewallRule(int, int, int); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void startCaptivePortalApp(@NonNull android.net.Network); + method public void systemReady(); + field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE"; + field public static final String ACTION_PROMPT_LOST_VALIDATION = "android.net.action.PROMPT_LOST_VALIDATION"; + field public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY = "android.net.action.PROMPT_PARTIAL_CONNECTIVITY"; + field public static final String ACTION_PROMPT_UNVALIDATED = "android.net.action.PROMPT_UNVALIDATED"; + field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000 + field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000 + field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000 + field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000 + field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4 + field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1 + field public static final int BLOCKED_REASON_DOZE = 2; // 0x2 + field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10 + field public static final int BLOCKED_REASON_LOW_POWER_STANDBY = 32; // 0x20 + field public static final int BLOCKED_REASON_NONE = 0; // 0x0 + field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8 + field public static final int FIREWALL_CHAIN_DOZABLE = 1; // 0x1 + field public static final int FIREWALL_CHAIN_LOW_POWER_STANDBY = 5; // 0x5 + field public static final int FIREWALL_CHAIN_POWERSAVE = 3; // 0x3 + field public static final int FIREWALL_CHAIN_RESTRICTED = 4; // 0x4 + field public static final int FIREWALL_CHAIN_STANDBY = 2; // 0x2 + field public static final int FIREWALL_RULE_ALLOW = 1; // 0x1 + field public static final int FIREWALL_RULE_DEFAULT = 0; // 0x0 + field public static final int FIREWALL_RULE_DENY = 2; // 0x2 + field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0 + field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1 + field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE_NO_FALLBACK = 2; // 0x2 + } + + public static class ConnectivityManager.NetworkCallback { + method public void onBlockedStatusChanged(@NonNull android.net.Network, int); + } + + public class ConnectivitySettingsManager { + method public static void clearGlobalProxy(@NonNull android.content.Context); + method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context); + method public static int getCaptivePortalMode(@NonNull android.content.Context, int); + method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context); + method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int); + method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context); + method public static long getIngressRateLimitInBytesPerSecond(@NonNull android.content.Context); + method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean); + method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context); + method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context); + method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context); + method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int); + method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context); + method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context); + method public static int getPrivateDnsMode(@NonNull android.content.Context); + method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context); + method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean); + method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String); + method public static void setCaptivePortalMode(@NonNull android.content.Context, int); + method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>); + method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int); + method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo); + method public static void setIngressRateLimitInBytesPerSecond(@NonNull android.content.Context, @IntRange(from=-1L, to=4294967295L) long); + method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean); + method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>); + method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int); + method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String); + method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int); + method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int); + method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String); + method public static void setPrivateDnsMode(@NonNull android.content.Context, int); + method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>); + method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean); + method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2 + field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0 + field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1 + field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2 + field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0 + field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1 + field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1 + field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2 + field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3 + } + + public final class DhcpOption implements android.os.Parcelable { + ctor public DhcpOption(byte, @Nullable byte[]); + method public int describeContents(); + method public byte getType(); + method @Nullable public byte[] getValue(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpOption> CREATOR; + } + + public final class NetworkAgentConfig implements android.os.Parcelable { + method @Nullable public String getSubscriberId(); + method public boolean isBypassableVpn(); + method public boolean isVpnValidationRequired(); + } + + public static final class NetworkAgentConfig.Builder { + method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setLocalRoutesExcludedForVpn(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String); + method @NonNull public android.net.NetworkAgentConfig.Builder setVpnRequiresValidation(boolean); + } + + public final class NetworkCapabilities implements android.os.Parcelable { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public java.util.Set<java.lang.Integer> getAllowedUids(); + method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids(); + method public boolean hasForbiddenCapability(int); + field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL + field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L + field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L + field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L + field public static final long REDACT_NONE = 0L; // 0x0L + field public static final int TRANSPORT_TEST = 7; // 0x7 + } + + public static final class NetworkCapabilities.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAllowedUids(@NonNull java.util.Set<java.lang.Integer>); + method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); + } + + public class NetworkRequest implements android.os.Parcelable { + method @NonNull public int[] getEnterpriseIds(); + method @NonNull public int[] getForbiddenCapabilities(); + method public boolean hasEnterpriseId(int); + method public boolean hasForbiddenCapability(int); + } + + public static class NetworkRequest.Builder { + method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int); + method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int); + method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); + } + + public final class ProfileNetworkPreference implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public int[] getExcludedUids(); + method @NonNull public int[] getIncludedUids(); + method public int getPreference(); + method public int getPreferenceEnterpriseId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ProfileNetworkPreference> CREATOR; + } + + public static final class ProfileNetworkPreference.Builder { + ctor public ProfileNetworkPreference.Builder(); + method @NonNull public android.net.ProfileNetworkPreference build(); + method @NonNull public android.net.ProfileNetworkPreference.Builder setExcludedUids(@NonNull int[]); + method @NonNull public android.net.ProfileNetworkPreference.Builder setIncludedUids(@NonNull int[]); + method @NonNull public android.net.ProfileNetworkPreference.Builder setPreference(int); + method @NonNull public android.net.ProfileNetworkPreference.Builder setPreferenceEnterpriseId(int); + } + + public final class TestNetworkInterface implements android.os.Parcelable { + ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String); + method public int describeContents(); + method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor(); + method @NonNull public String getInterfaceName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR; + } + + public class TestNetworkManager { + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface(); + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>); + method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder); + method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network); + field public static final String TEST_TAP_PREFIX = "testtap"; + } + + public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable { + ctor public TestNetworkSpecifier(@NonNull String); + method public int describeContents(); + method @Nullable public String getInterfaceName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR; + } + + public interface TransportInfo { + method public default long getApplicableRedactions(); + method @NonNull public default android.net.TransportInfo makeCopy(long); + } + + public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo { + ctor public VpnTransportInfo(int, @Nullable String); + method public int describeContents(); + method @Nullable public String getSessionId(); + method public int getType(); + method @NonNull public android.net.VpnTransportInfo makeCopy(long); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR; + } + +} + diff --git a/extensions/3/module-lib/api/framework-media-removed.txt b/extensions/3/module-lib/api/framework-media-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-media-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-media.txt b/extensions/3/module-lib/api/framework-media.txt new file mode 100644 index 000000000..7317f148b --- /dev/null +++ b/extensions/3/module-lib/api/framework-media.txt @@ -0,0 +1,31 @@ +// Signature format: 2.0 +package android.media { + + public class MediaCommunicationManager { + method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent, boolean); + method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaCommunicationManager.SessionCallback); + method public void unregisterSessionCallback(@NonNull android.media.MediaCommunicationManager.SessionCallback); + } + + public static interface MediaCommunicationManager.SessionCallback { + method public default void onSession2TokenCreated(@NonNull android.media.Session2Token); + method public default void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>); + } + + public class MediaFrameworkInitializer { + method public static void registerServiceWrappers(); + method public static void setMediaServiceManager(@NonNull android.media.MediaServiceManager); + } + + @Deprecated public final class MediaParceledListSlice<T extends android.os.Parcelable> implements android.os.Parcelable { + ctor @Deprecated public MediaParceledListSlice(@NonNull java.util.List<T>); + method @Deprecated public int describeContents(); + method @Deprecated @NonNull public static <T extends android.os.Parcelable> android.media.MediaParceledListSlice<T> emptyList(); + method @Deprecated public java.util.List<T> getList(); + method @Deprecated public void setInlineCountLimit(int); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.ClassLoaderCreator<android.media.MediaParceledListSlice> CREATOR; + } + +} + diff --git a/extensions/3/module-lib/api/framework-mediaprovider-removed.txt b/extensions/3/module-lib/api/framework-mediaprovider-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-mediaprovider-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-mediaprovider.txt b/extensions/3/module-lib/api/framework-mediaprovider.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-mediaprovider.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-ondevicepersonalization-removed.txt b/extensions/3/module-lib/api/framework-ondevicepersonalization-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-ondevicepersonalization-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-ondevicepersonalization.txt b/extensions/3/module-lib/api/framework-ondevicepersonalization.txt new file mode 100644 index 000000000..f4da3d0da --- /dev/null +++ b/extensions/3/module-lib/api/framework-ondevicepersonalization.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.ondevicepersonalization { + + public class OnDevicePersonalizationFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/3/module-lib/api/framework-permission-removed.txt b/extensions/3/module-lib/api/framework-permission-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-permission-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-permission-s-removed.txt b/extensions/3/module-lib/api/framework-permission-s-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-permission-s-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-permission-s.txt b/extensions/3/module-lib/api/framework-permission-s.txt new file mode 100644 index 000000000..80f1cde45 --- /dev/null +++ b/extensions/3/module-lib/api/framework-permission-s.txt @@ -0,0 +1,23 @@ +// Signature format: 2.0 +package android.app.role { + + public class RoleFrameworkInitializer { + method public static void registerServiceWrappers(); + } + + public final class RoleManager { + method @Nullable public String getBrowserRoleHolder(int); + method @Nullable public String getSmsRoleHolder(int); + method @Nullable @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public boolean setBrowserRoleHolder(@Nullable String, int); + } + +} + +package android.safetycenter { + + public final class SafetyCenterFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/3/module-lib/api/framework-permission.txt b/extensions/3/module-lib/api/framework-permission.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-permission.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-scheduling-removed.txt b/extensions/3/module-lib/api/framework-scheduling-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-scheduling-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-scheduling.txt b/extensions/3/module-lib/api/framework-scheduling.txt new file mode 100644 index 000000000..9356eb741 --- /dev/null +++ b/extensions/3/module-lib/api/framework-scheduling.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.scheduling { + + public class SchedulingFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/3/module-lib/api/framework-sdkextensions-removed.txt b/extensions/3/module-lib/api/framework-sdkextensions-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-sdkextensions-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-sdkextensions.txt b/extensions/3/module-lib/api/framework-sdkextensions.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-sdkextensions.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-sdksandbox-removed.txt b/extensions/3/module-lib/api/framework-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-sdksandbox.txt b/extensions/3/module-lib/api/framework-sdksandbox.txt new file mode 100644 index 000000000..c4fcb762e --- /dev/null +++ b/extensions/3/module-lib/api/framework-sdksandbox.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.app.sdksandbox { + + public class SdkSandboxManagerFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/3/module-lib/api/framework-statsd-removed.txt b/extensions/3/module-lib/api/framework-statsd-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-statsd-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-statsd.txt b/extensions/3/module-lib/api/framework-statsd.txt new file mode 100644 index 000000000..8b6e21700 --- /dev/null +++ b/extensions/3/module-lib/api/framework-statsd.txt @@ -0,0 +1,10 @@ +// Signature format: 2.0 +package android.os { + + public class StatsFrameworkInitializer { + method public static void registerServiceWrappers(); + method public static void setStatsServiceManager(@NonNull android.os.StatsServiceManager); + } + +} + diff --git a/extensions/3/module-lib/api/framework-tethering-removed.txt b/extensions/3/module-lib/api/framework-tethering-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-tethering-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-tethering.txt b/extensions/3/module-lib/api/framework-tethering.txt new file mode 100644 index 000000000..460c21621 --- /dev/null +++ b/extensions/3/module-lib/api/framework-tethering.txt @@ -0,0 +1,50 @@ +// Signature format: 2.0 +package android.net { + + public final class TetheringConstants { + field public static final String EXTRA_ADD_TETHER_TYPE = "extraAddTetherType"; + field public static final String EXTRA_PROVISION_CALLBACK = "extraProvisionCallback"; + field public static final String EXTRA_REM_TETHER_TYPE = "extraRemTetherType"; + field public static final String EXTRA_RUN_PROVISION = "extraRunProvision"; + field public static final String EXTRA_SET_ALARM = "extraSetAlarm"; + } + + public class TetheringManager { + ctor public TetheringManager(@NonNull android.content.Context, @NonNull java.util.function.Supplier<android.os.IBinder>); + method public int getLastTetherError(@NonNull String); + method @NonNull public String[] getTetherableBluetoothRegexs(); + method @NonNull public String[] getTetherableIfaces(); + method @NonNull public String[] getTetherableUsbRegexs(); + method @NonNull public String[] getTetherableWifiRegexs(); + method @NonNull public String[] getTetheredIfaces(); + method @NonNull public String[] getTetheringErroredIfaces(); + method public boolean isTetheringSupported(); + method public boolean isTetheringSupported(@NonNull String); + method public void requestLatestTetheringEntitlementResult(int, @NonNull android.os.ResultReceiver, boolean); + method @Deprecated public int setUsbTethering(boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(int, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback); + method @Deprecated public int tether(@NonNull String); + method @Deprecated public int untether(@NonNull String); + } + + public static interface TetheringManager.TetheredInterfaceCallback { + method public void onAvailable(@NonNull String); + method public void onUnavailable(); + } + + public static interface TetheringManager.TetheredInterfaceRequest { + method public void release(); + } + + public static interface TetheringManager.TetheringEventCallback { + method @Deprecated public default void onTetherableInterfaceRegexpsChanged(@NonNull android.net.TetheringManager.TetheringInterfaceRegexps); + } + + @Deprecated public static class TetheringManager.TetheringInterfaceRegexps { + method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableBluetoothRegexs(); + method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableUsbRegexs(); + method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableWifiRegexs(); + } + +} + diff --git a/extensions/3/module-lib/api/framework-uwb-removed.txt b/extensions/3/module-lib/api/framework-uwb-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-uwb-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-uwb.txt b/extensions/3/module-lib/api/framework-uwb.txt new file mode 100644 index 000000000..0f0b03154 --- /dev/null +++ b/extensions/3/module-lib/api/framework-uwb.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.uwb { + + public class UwbFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/3/module-lib/api/framework-wifi-removed.txt b/extensions/3/module-lib/api/framework-wifi-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/module-lib/api/framework-wifi-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/module-lib/api/framework-wifi.txt b/extensions/3/module-lib/api/framework-wifi.txt new file mode 100644 index 000000000..7027f2556 --- /dev/null +++ b/extensions/3/module-lib/api/framework-wifi.txt @@ -0,0 +1,10 @@ +// Signature format: 2.0 +package android.net.wifi { + + public class WifiManager { + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void addCustomDhcpOptions(@NonNull android.net.wifi.WifiSsid, @NonNull byte[], @NonNull java.util.List<android.net.DhcpOption>); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void removeCustomDhcpOptions(@NonNull android.net.wifi.WifiSsid, @NonNull byte[]); + } + +} + diff --git a/extensions/3/public/api/android.net.ipsec.ike-removed.txt b/extensions/3/public/api/android.net.ipsec.ike-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/android.net.ipsec.ike-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/android.net.ipsec.ike.txt b/extensions/3/public/api/android.net.ipsec.ike.txt new file mode 100644 index 000000000..21afce48e --- /dev/null +++ b/extensions/3/public/api/android.net.ipsec.ike.txt @@ -0,0 +1,458 @@ +// Signature format: 2.0 +package android.net.eap { + + public final class EapAkaInfo extends android.net.eap.EapInfo { + method @Nullable public byte[] getReauthId(); + } + + public static final class EapAkaInfo.Builder { + ctor public EapAkaInfo.Builder(); + method @NonNull public android.net.eap.EapAkaInfo build(); + method @NonNull public android.net.eap.EapAkaInfo.Builder setReauthId(@NonNull byte[]); + } + + public abstract class EapInfo { + method public final int getEapMethodType(); + } + + public final class EapSessionConfig { + method @Nullable public android.net.eap.EapSessionConfig.EapAkaConfig getEapAkaConfig(); + method @Nullable public android.net.eap.EapSessionConfig.EapAkaPrimeConfig getEapAkaPrimeConfig(); + method @NonNull public byte[] getEapIdentity(); + method @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2Config(); + method @Nullable public android.net.eap.EapSessionConfig.EapSimConfig getEapSimConfig(); + method @Nullable public android.net.eap.EapSessionConfig.EapTtlsConfig getEapTtlsConfig(); + } + + public static final class EapSessionConfig.Builder { + ctor public EapSessionConfig.Builder(); + method @NonNull public android.net.eap.EapSessionConfig build(); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int, @NonNull android.net.eap.EapSessionConfig.EapAkaOption); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaPrimeConfig(int, int, @NonNull String, boolean); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapIdentity(@NonNull byte[]); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapMsChapV2Config(@NonNull String, @NonNull String); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapSimConfig(int, int); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapTtlsConfig(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig); + } + + public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method public int getAppType(); + method @NonNull public android.net.eap.EapSessionConfig.EapAkaOption getEapAkaOption(); + method public int getSubId(); + } + + public static final class EapSessionConfig.EapAkaOption { + method @Nullable public byte[] getReauthId(); + } + + public static final class EapSessionConfig.EapAkaOption.Builder { + ctor public EapSessionConfig.EapAkaOption.Builder(); + method @NonNull public android.net.eap.EapSessionConfig.EapAkaOption build(); + method @NonNull public android.net.eap.EapSessionConfig.EapAkaOption.Builder setReauthId(@NonNull byte[]); + } + + public static class EapSessionConfig.EapAkaPrimeConfig extends android.net.eap.EapSessionConfig.EapAkaConfig { + method public boolean allowsMismatchedNetworkNames(); + method @NonNull public String getNetworkName(); + } + + public abstract static class EapSessionConfig.EapMethodConfig { + method public int getMethodType(); + field public static final int EAP_TYPE_AKA = 23; // 0x17 + field public static final int EAP_TYPE_AKA_PRIME = 50; // 0x32 + field public static final int EAP_TYPE_MSCHAP_V2 = 26; // 0x1a + field public static final int EAP_TYPE_SIM = 18; // 0x12 + field public static final int EAP_TYPE_TTLS = 21; // 0x15 + } + + public static class EapSessionConfig.EapMsChapV2Config extends android.net.eap.EapSessionConfig.EapMethodConfig { + method @NonNull public String getPassword(); + method @NonNull public String getUsername(); + } + + public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method public int getAppType(); + method public int getSubId(); + } + + public static class EapSessionConfig.EapTtlsConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method @NonNull public android.net.eap.EapSessionConfig getInnerEapSessionConfig(); + method @Nullable public java.security.cert.X509Certificate getServerCaCert(); + } + +} + +package android.net.ipsec.ike { + + public final class ChildSaProposal extends android.net.ipsec.ike.SaProposal { + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms(); + } + + public static final class ChildSaProposal.Builder { + ctor public ChildSaProposal.Builder(); + method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addDhGroup(int); + method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addEncryptionAlgorithm(int, int); + method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addIntegrityAlgorithm(int); + method @NonNull public android.net.ipsec.ike.ChildSaProposal build(); + } + + public interface ChildSessionCallback { + method public void onClosed(); + method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public void onIpSecTransformCreated(@NonNull android.net.IpSecTransform, int); + method public void onIpSecTransformDeleted(@NonNull android.net.IpSecTransform, int); + method public void onOpened(@NonNull android.net.ipsec.ike.ChildSessionConfiguration); + } + + public final class ChildSessionConfiguration { + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors(); + } + + public static final class ChildSessionConfiguration.Builder { + ctor public ChildSessionConfiguration.Builder(@NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>, @NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration build(); + } + + public abstract class ChildSessionParams { + method @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getChildSaProposals(); + method @IntRange(from=0x12c, to=0x3840) public int getHardLifetimeSeconds(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors(); + method @IntRange(from=0x78, to=0x3840) public int getSoftLifetimeSeconds(); + } + + public final class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeDerAsn1DnIdentification(@NonNull javax.security.auth.x500.X500Principal); + field @NonNull public final javax.security.auth.x500.X500Principal derAsn1Dn; + } + + public class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeFqdnIdentification(@NonNull String); + field @NonNull public final String fqdn; + } + + public abstract class IkeIdentification { + } + + public final class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeIpv4AddrIdentification(@NonNull java.net.Inet4Address); + field @NonNull public final java.net.Inet4Address ipv4Address; + } + + public class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeIpv6AddrIdentification(@NonNull java.net.Inet6Address); + field @NonNull public final java.net.Inet6Address ipv6Address; + } + + public final class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeKeyIdIdentification(@NonNull byte[]); + field @NonNull public final byte[] keyId; + } + + public final class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeRfc822AddrIdentification(@NonNull String); + field @NonNull public final String rfc822Name; + } + + public final class IkeSaProposal extends android.net.ipsec.ike.SaProposal { + method @NonNull public java.util.List<java.lang.Integer> getPseudorandomFunctions(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedPseudorandomFunctions(); + } + + public static final class IkeSaProposal.Builder { + ctor public IkeSaProposal.Builder(); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addDhGroup(int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addEncryptionAlgorithm(int, int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addIntegrityAlgorithm(int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addPseudorandomFunction(int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal build(); + } + + public final class IkeSession implements java.lang.AutoCloseable { + ctor public IkeSession(@NonNull android.content.Context, @NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.net.ipsec.ike.IkeSessionCallback, @NonNull android.net.ipsec.ike.ChildSessionCallback); + method public void close(); + method public void closeChildSession(@NonNull android.net.ipsec.ike.ChildSessionCallback); + method public void finalize(); + method public void kill(); + method public void openChildSession(@NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull android.net.ipsec.ike.ChildSessionCallback); + } + + public interface IkeSessionCallback { + method public void onClosed(); + method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public void onOpened(@NonNull android.net.ipsec.ike.IkeSessionConfiguration); + } + + public final class IkeSessionConfiguration { + method @Nullable public android.net.eap.EapInfo getEapInfo(); + method @NonNull public android.net.ipsec.ike.IkeSessionConnectionInfo getIkeSessionConnectionInfo(); + method @NonNull public String getRemoteApplicationVersion(); + method @NonNull public java.util.List<byte[]> getRemoteVendorIds(); + method public boolean isIkeExtensionEnabled(int); + field public static final int EXTENSION_TYPE_FRAGMENTATION = 1; // 0x1 + field public static final int EXTENSION_TYPE_MOBIKE = 2; // 0x2 + } + + public static final class IkeSessionConfiguration.Builder { + ctor public IkeSessionConfiguration.Builder(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addIkeExtension(int); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addRemoteVendorId(@NonNull byte[]); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration build(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearIkeExtensions(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteApplicationVersion(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteVendorIds(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder setEapInfo(@Nullable android.net.eap.EapInfo); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder setRemoteApplicationVersion(@NonNull String); + } + + public final class IkeSessionConnectionInfo { + ctor public IkeSessionConnectionInfo(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network); + method @NonNull public java.net.InetAddress getLocalAddress(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public java.net.InetAddress getRemoteAddress(); + } + + public final class IkeSessionParams { + method @IntRange(from=0x14, to=0x708) public int getDpdDelaySeconds(); + method @IntRange(from=0x12c, to=0x15180) public int getHardLifetimeSeconds(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getIkeSaProposals(); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getLocalAuthConfig(); + method @NonNull public android.net.ipsec.ike.IkeIdentification getLocalIdentification(); + method @IntRange(from=0xa, to=0xe10) public int getNattKeepAliveDelaySeconds(); + method @Nullable public android.net.Network getNetwork(); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getRemoteAuthConfig(); + method @NonNull public android.net.ipsec.ike.IkeIdentification getRemoteIdentification(); + method @NonNull public int[] getRetransmissionTimeoutsMillis(); + method @NonNull public String getServerHostname(); + method @IntRange(from=0x78, to=0x15180) public int getSoftLifetimeSeconds(); + method public boolean hasIkeOption(int); + field public static final int IKE_OPTION_ACCEPT_ANY_REMOTE_ID = 0; // 0x0 + field public static final int IKE_OPTION_EAP_ONLY_AUTH = 1; // 0x1 + field public static final int IKE_OPTION_FORCE_PORT_4500 = 3; // 0x3 + field public static final int IKE_OPTION_INITIAL_CONTACT = 4; // 0x4 + field public static final int IKE_OPTION_MOBIKE = 2; // 0x2 + } + + public static final class IkeSessionParams.Builder { + ctor public IkeSessionParams.Builder(); + ctor public IkeSessionParams.Builder(@NonNull android.net.ipsec.ike.IkeSessionParams); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeOption(int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal); + method @NonNull public android.net.ipsec.ike.IkeSessionParams build(); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder removeIkeOption(int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.util.List<java.security.cert.X509Certificate>, @NonNull java.security.PrivateKey); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthEap(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthPsk(@NonNull byte[]); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDpdDelaySeconds(@IntRange(from=0x14, to=0x708) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x15180) int, @IntRange(from=0x78, to=0x15180) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLocalIdentification(@NonNull android.net.ipsec.ike.IkeIdentification); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNattKeepAliveDelaySeconds(@IntRange(from=0xa, to=0xe10) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNetwork(@Nullable android.net.Network); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRemoteIdentification(@NonNull android.net.ipsec.ike.IkeIdentification); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRetransmissionTimeoutsMillis(@NonNull int[]); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setServerHostname(@NonNull String); + } + + public abstract static class IkeSessionParams.IkeAuthConfig { + } + + public static class IkeSessionParams.IkeAuthDigitalSignLocalConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @NonNull public java.security.cert.X509Certificate getClientEndCertificate(); + method @NonNull public java.util.List<java.security.cert.X509Certificate> getIntermediateCertificates(); + method @NonNull public java.security.PrivateKey getPrivateKey(); + } + + public static class IkeSessionParams.IkeAuthDigitalSignRemoteConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @Nullable public java.security.cert.X509Certificate getRemoteCaCert(); + } + + public static class IkeSessionParams.IkeAuthEapConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @NonNull public android.net.eap.EapSessionConfig getEapConfig(); + } + + public static class IkeSessionParams.IkeAuthPskConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @NonNull public byte[] getPsk(); + } + + public final class IkeTrafficSelector { + ctor public IkeTrafficSelector(int, int, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress); + field public final int endPort; + field @NonNull public final java.net.InetAddress endingAddress; + field public final int startPort; + field @NonNull public final java.net.InetAddress startingAddress; + } + + public final class IkeTunnelConnectionParams { + ctor public IkeTunnelConnectionParams(@NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.TunnelModeChildSessionParams); + method @NonNull public android.net.ipsec.ike.IkeSessionParams getIkeSessionParams(); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams getTunnelModeChildSessionParams(); + } + + public abstract class SaProposal { + method @NonNull public java.util.List<java.lang.Integer> getDhGroups(); + method @NonNull public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getEncryptionAlgorithms(); + method @NonNull public java.util.List<java.lang.Integer> getIntegrityAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedDhGroups(); + field public static final int DH_GROUP_1024_BIT_MODP = 2; // 0x2 + field public static final int DH_GROUP_1536_BIT_MODP = 5; // 0x5 + field public static final int DH_GROUP_2048_BIT_MODP = 14; // 0xe + field public static final int DH_GROUP_3072_BIT_MODP = 15; // 0xf + field public static final int DH_GROUP_4096_BIT_MODP = 16; // 0x10 + field public static final int DH_GROUP_CURVE_25519 = 31; // 0x1f + field public static final int DH_GROUP_NONE = 0; // 0x0 + field public static final int ENCRYPTION_ALGORITHM_3DES = 3; // 0x3 + field public static final int ENCRYPTION_ALGORITHM_AES_CBC = 12; // 0xc + field public static final int ENCRYPTION_ALGORITHM_AES_CTR = 13; // 0xd + field public static final int ENCRYPTION_ALGORITHM_AES_GCM_12 = 19; // 0x13 + field public static final int ENCRYPTION_ALGORITHM_AES_GCM_16 = 20; // 0x14 + field public static final int ENCRYPTION_ALGORITHM_AES_GCM_8 = 18; // 0x12 + field public static final int ENCRYPTION_ALGORITHM_CHACHA20_POLY1305 = 28; // 0x1c + field public static final int INTEGRITY_ALGORITHM_AES_CMAC_96 = 8; // 0x8 + field public static final int INTEGRITY_ALGORITHM_AES_XCBC_96 = 5; // 0x5 + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96 = 2; // 0x2 + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128 = 12; // 0xc + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192 = 13; // 0xd + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256 = 14; // 0xe + field public static final int INTEGRITY_ALGORITHM_NONE = 0; // 0x0 + field public static final int KEY_LEN_AES_128 = 128; // 0x80 + field public static final int KEY_LEN_AES_192 = 192; // 0xc0 + field public static final int KEY_LEN_AES_256 = 256; // 0x100 + field public static final int KEY_LEN_UNUSED = 0; // 0x0 + field public static final int PSEUDORANDOM_FUNCTION_AES128_CMAC = 8; // 0x8 + field public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC = 4; // 0x4 + field public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1 = 2; // 0x2 + field public static final int PSEUDORANDOM_FUNCTION_SHA2_256 = 5; // 0x5 + field public static final int PSEUDORANDOM_FUNCTION_SHA2_384 = 6; // 0x6 + field public static final int PSEUDORANDOM_FUNCTION_SHA2_512 = 7; // 0x7 + } + + public final class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams { + } + + public static final class TransportModeChildSessionParams.Builder { + ctor public TransportModeChildSessionParams.Builder(); + ctor public TransportModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TransportModeChildSessionParams); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams build(); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int); + } + + public final class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams { + method @NonNull public java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest> getConfigurationRequests(); + } + + public static final class TunnelModeChildSessionParams.Builder { + ctor public TunnelModeChildSessionParams.Builder(); + ctor public TunnelModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TunnelModeChildSessionParams); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet4Address); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet6Address, int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest(int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDnsServerRequest(int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams build(); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int); + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + method @Nullable public java.net.Inet4Address getAddress(); + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Netmask extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv6Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + method @Nullable public java.net.Inet6Address getAddress(); + method public int getPrefixLength(); + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + +} + +package android.net.ipsec.ike.exceptions { + + public abstract class IkeException extends java.lang.Exception { + } + + public final class IkeIOException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException { + ctor public IkeIOException(@NonNull java.io.IOException); + method @NonNull public java.io.IOException getCause(); + } + + public final class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException { + ctor public IkeInternalException(@NonNull Throwable); + ctor public IkeInternalException(@NonNull String, @NonNull Throwable); + } + + public final class IkeNetworkLostException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException { + ctor public IkeNetworkLostException(@NonNull android.net.Network); + method @NonNull public android.net.Network getNetwork(); + } + + public abstract class IkeNonProtocolException extends android.net.ipsec.ike.exceptions.IkeException { + } + + public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException { + method public int getErrorType(); + field public static final int ERROR_TYPE_AUTHENTICATION_FAILED = 24; // 0x18 + field public static final int ERROR_TYPE_CHILD_SA_NOT_FOUND = 44; // 0x2c + field public static final int ERROR_TYPE_FAILED_CP_REQUIRED = 37; // 0x25 + field public static final int ERROR_TYPE_INTERNAL_ADDRESS_FAILURE = 36; // 0x24 + field public static final int ERROR_TYPE_INVALID_IKE_SPI = 4; // 0x4 + field public static final int ERROR_TYPE_INVALID_KE_PAYLOAD = 17; // 0x11 + field public static final int ERROR_TYPE_INVALID_MAJOR_VERSION = 5; // 0x5 + field public static final int ERROR_TYPE_INVALID_MESSAGE_ID = 9; // 0x9 + field public static final int ERROR_TYPE_INVALID_SELECTORS = 39; // 0x27 + field public static final int ERROR_TYPE_INVALID_SYNTAX = 7; // 0x7 + field public static final int ERROR_TYPE_NO_ADDITIONAL_SAS = 35; // 0x23 + field public static final int ERROR_TYPE_NO_PROPOSAL_CHOSEN = 14; // 0xe + field public static final int ERROR_TYPE_SINGLE_PAIR_REQUIRED = 34; // 0x22 + field public static final int ERROR_TYPE_TEMPORARY_FAILURE = 43; // 0x2b + field public static final int ERROR_TYPE_TS_UNACCEPTABLE = 38; // 0x26 + field public static final int ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD = 1; // 0x1 + } + + public final class IkeTimeoutException extends java.io.IOException { + ctor public IkeTimeoutException(@NonNull String); + } + + public final class InvalidKeException extends android.net.ipsec.ike.exceptions.IkeProtocolException { + ctor public InvalidKeException(int); + method public int getDhGroup(); + } + + public final class InvalidMajorVersionException extends android.net.ipsec.ike.exceptions.IkeProtocolException { + ctor public InvalidMajorVersionException(byte); + method public byte getMajorVersion(); + } + + public final class InvalidSelectorsException extends android.net.ipsec.ike.exceptions.IkeProtocolException { + ctor public InvalidSelectorsException(int, @NonNull byte[]); + method @NonNull public byte[] getIpSecPacketInfo(); + method public int getIpSecSpi(); + } + +} + diff --git a/extensions/3/public/api/art.module.public.api-removed.txt b/extensions/3/public/api/art.module.public.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/art.module.public.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/art.module.public.api.txt b/extensions/3/public/api/art.module.public.api.txt new file mode 100644 index 000000000..fb751ead3 --- /dev/null +++ b/extensions/3/public/api/art.module.public.api.txt @@ -0,0 +1,20884 @@ +// Signature format: 2.0 +package android.system { + + public final class ErrnoException extends java.lang.Exception { + ctor public ErrnoException(String, int); + ctor public ErrnoException(String, int, Throwable); + method @NonNull public java.io.IOException rethrowAsIOException() throws java.io.IOException; + method @NonNull public java.net.SocketException rethrowAsSocketException() throws java.net.SocketException; + field public final int errno; + } + + public class Int64Ref { + ctor public Int64Ref(long); + field public long value; + } + + public final class Os { + method public static java.io.FileDescriptor accept(java.io.FileDescriptor, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method public static boolean access(String, int) throws android.system.ErrnoException; + method public static void bind(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException; + method public static void bind(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method public static void chmod(String, int) throws android.system.ErrnoException; + method public static void chown(String, int, int) throws android.system.ErrnoException; + method public static void close(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static void connect(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException; + method public static void connect(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method public static java.io.FileDescriptor dup(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static java.io.FileDescriptor dup2(java.io.FileDescriptor, int) throws android.system.ErrnoException; + method public static String[] environ(); + method public static void execv(String, String[]) throws android.system.ErrnoException; + method public static void execve(String, String[], String[]) throws android.system.ErrnoException; + method public static void fchmod(java.io.FileDescriptor, int) throws android.system.ErrnoException; + method public static void fchown(java.io.FileDescriptor, int, int) throws android.system.ErrnoException; + method public static int fcntlInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException; + method public static void fdatasync(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static android.system.StructStat fstat(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static android.system.StructStatVfs fstatvfs(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static void fsync(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static void ftruncate(java.io.FileDescriptor, long) throws android.system.ErrnoException; + method public static String gai_strerror(int); + method public static int getegid(); + method public static String getenv(String); + method public static int geteuid(); + method public static int getgid(); + method public static java.net.SocketAddress getpeername(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static int getpid(); + method public static int getppid(); + method public static java.net.SocketAddress getsockname(java.io.FileDescriptor) throws android.system.ErrnoException; + method @NonNull public static android.system.StructTimeval getsockoptTimeval(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException; + method public static int gettid(); + method public static int getuid(); + method public static byte[] getxattr(String, String) throws android.system.ErrnoException; + method public static String if_indextoname(int); + method public static int if_nametoindex(String); + method public static java.net.InetAddress inet_pton(int, String); + method public static boolean isatty(java.io.FileDescriptor); + method public static void kill(int, int) throws android.system.ErrnoException; + method public static void lchown(String, int, int) throws android.system.ErrnoException; + method public static void link(String, String) throws android.system.ErrnoException; + method public static void listen(java.io.FileDescriptor, int) throws android.system.ErrnoException; + method public static String[] listxattr(String) throws android.system.ErrnoException; + method public static long lseek(java.io.FileDescriptor, long, int) throws android.system.ErrnoException; + method public static android.system.StructStat lstat(String) throws android.system.ErrnoException; + method @NonNull public static java.io.FileDescriptor memfd_create(@NonNull String, int) throws android.system.ErrnoException; + method public static void mincore(long, long, byte[]) throws android.system.ErrnoException; + method public static void mkdir(String, int) throws android.system.ErrnoException; + method public static void mkfifo(String, int) throws android.system.ErrnoException; + method public static void mlock(long, long) throws android.system.ErrnoException; + method public static long mmap(long, long, int, int, java.io.FileDescriptor, long) throws android.system.ErrnoException; + method public static void msync(long, long, int) throws android.system.ErrnoException; + method public static void munlock(long, long) throws android.system.ErrnoException; + method public static void munmap(long, long) throws android.system.ErrnoException; + method public static java.io.FileDescriptor open(String, int, int) throws android.system.ErrnoException; + method public static java.io.FileDescriptor[] pipe() throws android.system.ErrnoException; + method public static int poll(android.system.StructPollfd[], int) throws android.system.ErrnoException; + method public static void posix_fallocate(java.io.FileDescriptor, long, long) throws android.system.ErrnoException; + method public static int prctl(int, long, long, long, long) throws android.system.ErrnoException; + method public static int pread(java.io.FileDescriptor, java.nio.ByteBuffer, long) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int pread(java.io.FileDescriptor, byte[], int, int, long) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int pwrite(java.io.FileDescriptor, java.nio.ByteBuffer, long) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int pwrite(java.io.FileDescriptor, byte[], int, int, long) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int read(java.io.FileDescriptor, java.nio.ByteBuffer) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int read(java.io.FileDescriptor, byte[], int, int) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static String readlink(String) throws android.system.ErrnoException; + method public static int readv(java.io.FileDescriptor, Object[], int[], int[]) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int recvfrom(java.io.FileDescriptor, java.nio.ByteBuffer, int, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method public static int recvfrom(java.io.FileDescriptor, byte[], int, int, int, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method public static int recvmsg(@NonNull java.io.FileDescriptor, @NonNull android.system.StructMsghdr, int) throws android.system.ErrnoException, java.net.SocketException; + method public static void remove(String) throws android.system.ErrnoException; + method public static void removexattr(String, String) throws android.system.ErrnoException; + method public static void rename(String, String) throws android.system.ErrnoException; + method public static long sendfile(java.io.FileDescriptor, java.io.FileDescriptor, android.system.Int64Ref, long) throws android.system.ErrnoException; + method public static int sendmsg(@NonNull java.io.FileDescriptor, @NonNull android.system.StructMsghdr, int) throws android.system.ErrnoException, java.net.SocketException; + method public static int sendto(java.io.FileDescriptor, java.nio.ByteBuffer, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException; + method public static int sendto(java.io.FileDescriptor, byte[], int, int, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException; + method public static int sendto(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int, int, @Nullable java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method @Deprecated public static void setegid(int) throws android.system.ErrnoException; + method public static void setenv(String, String, boolean) throws android.system.ErrnoException; + method @Deprecated public static void seteuid(int) throws android.system.ErrnoException; + method @Deprecated public static void setgid(int) throws android.system.ErrnoException; + method public static int setsid() throws android.system.ErrnoException; + method public static void setsockoptInt(java.io.FileDescriptor, int, int, int) throws android.system.ErrnoException; + method public static void setsockoptTimeval(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructTimeval) throws android.system.ErrnoException; + method @Deprecated public static void setuid(int) throws android.system.ErrnoException; + method public static void setxattr(String, String, byte[], int) throws android.system.ErrnoException; + method public static void shutdown(java.io.FileDescriptor, int) throws android.system.ErrnoException; + method public static java.io.FileDescriptor socket(int, int, int) throws android.system.ErrnoException; + method public static void socketpair(int, int, int, java.io.FileDescriptor, java.io.FileDescriptor) throws android.system.ErrnoException; + method public static android.system.StructStat stat(String) throws android.system.ErrnoException; + method public static android.system.StructStatVfs statvfs(String) throws android.system.ErrnoException; + method public static String strerror(int); + method public static String strsignal(int); + method public static void symlink(String, String) throws android.system.ErrnoException; + method public static long sysconf(int); + method public static void tcdrain(java.io.FileDescriptor) throws android.system.ErrnoException; + method public static void tcsendbreak(java.io.FileDescriptor, int) throws android.system.ErrnoException; + method public static int umask(int); + method public static android.system.StructUtsname uname(); + method public static void unsetenv(String) throws android.system.ErrnoException; + method public static int write(java.io.FileDescriptor, java.nio.ByteBuffer) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int write(java.io.FileDescriptor, byte[], int, int) throws android.system.ErrnoException, java.io.InterruptedIOException; + method public static int writev(java.io.FileDescriptor, Object[], int[], int[]) throws android.system.ErrnoException, java.io.InterruptedIOException; + } + + public final class OsConstants { + method public static boolean S_ISBLK(int); + method public static boolean S_ISCHR(int); + method public static boolean S_ISDIR(int); + method public static boolean S_ISFIFO(int); + method public static boolean S_ISLNK(int); + method public static boolean S_ISREG(int); + method public static boolean S_ISSOCK(int); + method public static boolean WCOREDUMP(int); + method public static int WEXITSTATUS(int); + method public static boolean WIFEXITED(int); + method public static boolean WIFSIGNALED(int); + method public static boolean WIFSTOPPED(int); + method public static int WSTOPSIG(int); + method public static int WTERMSIG(int); + method public static String errnoName(int); + method public static String gaiName(int); + field public static final int AF_INET; + field public static final int AF_INET6; + field public static final int AF_NETLINK; + field public static final int AF_PACKET; + field public static final int AF_UNIX; + field public static final int AF_UNSPEC; + field public static final int AF_VSOCK; + field public static final int AI_ADDRCONFIG; + field public static final int AI_ALL; + field public static final int AI_CANONNAME; + field public static final int AI_NUMERICHOST; + field public static final int AI_NUMERICSERV; + field public static final int AI_PASSIVE; + field public static final int AI_V4MAPPED; + field public static final int ARPHRD_ETHER; + field public static final int CAP_AUDIT_CONTROL; + field public static final int CAP_AUDIT_WRITE; + field public static final int CAP_BLOCK_SUSPEND; + field public static final int CAP_CHOWN; + field public static final int CAP_DAC_OVERRIDE; + field public static final int CAP_DAC_READ_SEARCH; + field public static final int CAP_FOWNER; + field public static final int CAP_FSETID; + field public static final int CAP_IPC_LOCK; + field public static final int CAP_IPC_OWNER; + field public static final int CAP_KILL; + field public static final int CAP_LAST_CAP; + field public static final int CAP_LEASE; + field public static final int CAP_LINUX_IMMUTABLE; + field public static final int CAP_MAC_ADMIN; + field public static final int CAP_MAC_OVERRIDE; + field public static final int CAP_MKNOD; + field public static final int CAP_NET_ADMIN; + field public static final int CAP_NET_BIND_SERVICE; + field public static final int CAP_NET_BROADCAST; + field public static final int CAP_NET_RAW; + field public static final int CAP_SETFCAP; + field public static final int CAP_SETGID; + field public static final int CAP_SETPCAP; + field public static final int CAP_SETUID; + field public static final int CAP_SYSLOG; + field public static final int CAP_SYS_ADMIN; + field public static final int CAP_SYS_BOOT; + field public static final int CAP_SYS_CHROOT; + field public static final int CAP_SYS_MODULE; + field public static final int CAP_SYS_NICE; + field public static final int CAP_SYS_PACCT; + field public static final int CAP_SYS_PTRACE; + field public static final int CAP_SYS_RAWIO; + field public static final int CAP_SYS_RESOURCE; + field public static final int CAP_SYS_TIME; + field public static final int CAP_SYS_TTY_CONFIG; + field public static final int CAP_WAKE_ALARM; + field public static final int E2BIG; + field public static final int EACCES; + field public static final int EADDRINUSE; + field public static final int EADDRNOTAVAIL; + field public static final int EAFNOSUPPORT; + field public static final int EAGAIN; + field public static final int EAI_AGAIN; + field public static final int EAI_BADFLAGS; + field public static final int EAI_FAIL; + field public static final int EAI_FAMILY; + field public static final int EAI_MEMORY; + field public static final int EAI_NODATA; + field public static final int EAI_NONAME; + field public static final int EAI_OVERFLOW; + field public static final int EAI_SERVICE; + field public static final int EAI_SOCKTYPE; + field public static final int EAI_SYSTEM; + field public static final int EALREADY; + field public static final int EBADF; + field public static final int EBADMSG; + field public static final int EBUSY; + field public static final int ECANCELED; + field public static final int ECHILD; + field public static final int ECONNABORTED; + field public static final int ECONNREFUSED; + field public static final int ECONNRESET; + field public static final int EDEADLK; + field public static final int EDESTADDRREQ; + field public static final int EDOM; + field public static final int EDQUOT; + field public static final int EEXIST; + field public static final int EFAULT; + field public static final int EFBIG; + field public static final int EHOSTUNREACH; + field public static final int EIDRM; + field public static final int EILSEQ; + field public static final int EINPROGRESS; + field public static final int EINTR; + field public static final int EINVAL; + field public static final int EIO; + field public static final int EISCONN; + field public static final int EISDIR; + field public static final int ELOOP; + field public static final int EMFILE; + field public static final int EMLINK; + field public static final int EMSGSIZE; + field public static final int EMULTIHOP; + field public static final int ENAMETOOLONG; + field public static final int ENETDOWN; + field public static final int ENETRESET; + field public static final int ENETUNREACH; + field public static final int ENFILE; + field public static final int ENOBUFS; + field public static final int ENODATA; + field public static final int ENODEV; + field public static final int ENOENT; + field public static final int ENOEXEC; + field public static final int ENOLCK; + field public static final int ENOLINK; + field public static final int ENOMEM; + field public static final int ENOMSG; + field public static final int ENONET; + field public static final int ENOPROTOOPT; + field public static final int ENOSPC; + field public static final int ENOSR; + field public static final int ENOSTR; + field public static final int ENOSYS; + field public static final int ENOTCONN; + field public static final int ENOTDIR; + field public static final int ENOTEMPTY; + field public static final int ENOTSOCK; + field public static final int ENOTSUP; + field public static final int ENOTTY; + field public static final int ENXIO; + field public static final int EOPNOTSUPP; + field public static final int EOVERFLOW; + field public static final int EPERM; + field public static final int EPIPE; + field public static final int EPROTO; + field public static final int EPROTONOSUPPORT; + field public static final int EPROTOTYPE; + field public static final int ERANGE; + field public static final int EROFS; + field public static final int ESPIPE; + field public static final int ESRCH; + field public static final int ESTALE; + field public static final int ETH_P_ALL; + field public static final int ETH_P_ARP; + field public static final int ETH_P_IP; + field public static final int ETH_P_IPV6; + field public static final int ETIME; + field public static final int ETIMEDOUT; + field public static final int ETXTBSY; + field public static final int EXDEV; + field public static final int EXIT_FAILURE; + field public static final int EXIT_SUCCESS; + field public static final int FD_CLOEXEC; + field public static final int FIONREAD; + field public static final int F_DUPFD; + field public static final int F_DUPFD_CLOEXEC; + field public static final int F_GETFD; + field public static final int F_GETFL; + field public static final int F_GETLK; + field public static final int F_GETLK64; + field public static final int F_GETOWN; + field public static final int F_OK; + field public static final int F_RDLCK; + field public static final int F_SETFD; + field public static final int F_SETFL; + field public static final int F_SETLK; + field public static final int F_SETLK64; + field public static final int F_SETLKW; + field public static final int F_SETLKW64; + field public static final int F_SETOWN; + field public static final int F_UNLCK; + field public static final int F_WRLCK; + field public static final int ICMP6_ECHO_REPLY; + field public static final int ICMP6_ECHO_REQUEST; + field public static final int ICMP_ECHO; + field public static final int ICMP_ECHOREPLY; + field public static final int IFA_F_DADFAILED; + field public static final int IFA_F_DEPRECATED; + field public static final int IFA_F_HOMEADDRESS; + field public static final int IFA_F_NODAD; + field public static final int IFA_F_OPTIMISTIC; + field public static final int IFA_F_PERMANENT; + field public static final int IFA_F_SECONDARY; + field public static final int IFA_F_TEMPORARY; + field public static final int IFA_F_TENTATIVE; + field public static final int IFF_ALLMULTI; + field public static final int IFF_AUTOMEDIA; + field public static final int IFF_BROADCAST; + field public static final int IFF_DEBUG; + field public static final int IFF_DYNAMIC; + field public static final int IFF_LOOPBACK; + field public static final int IFF_MASTER; + field public static final int IFF_MULTICAST; + field public static final int IFF_NOARP; + field public static final int IFF_NOTRAILERS; + field public static final int IFF_POINTOPOINT; + field public static final int IFF_PORTSEL; + field public static final int IFF_PROMISC; + field public static final int IFF_RUNNING; + field public static final int IFF_SLAVE; + field public static final int IFF_UP; + field public static final int IPPROTO_ICMP; + field public static final int IPPROTO_ICMPV6; + field public static final int IPPROTO_IP; + field public static final int IPPROTO_IPV6; + field public static final int IPPROTO_RAW; + field public static final int IPPROTO_TCP; + field public static final int IPPROTO_UDP; + field public static final int IPV6_CHECKSUM; + field public static final int IPV6_MULTICAST_HOPS; + field public static final int IPV6_MULTICAST_IF; + field public static final int IPV6_MULTICAST_LOOP; + field public static final int IPV6_RECVDSTOPTS; + field public static final int IPV6_RECVHOPLIMIT; + field public static final int IPV6_RECVHOPOPTS; + field public static final int IPV6_RECVPKTINFO; + field public static final int IPV6_RECVRTHDR; + field public static final int IPV6_RECVTCLASS; + field public static final int IPV6_TCLASS; + field public static final int IPV6_UNICAST_HOPS; + field public static final int IPV6_V6ONLY; + field public static final int IP_MULTICAST_IF; + field public static final int IP_MULTICAST_LOOP; + field public static final int IP_MULTICAST_TTL; + field public static final int IP_TOS; + field public static final int IP_TTL; + field public static final int MAP_ANONYMOUS; + field public static final int MAP_FIXED; + field public static final int MAP_PRIVATE; + field public static final int MAP_SHARED; + field public static final int MCAST_BLOCK_SOURCE; + field public static final int MCAST_JOIN_GROUP; + field public static final int MCAST_JOIN_SOURCE_GROUP; + field public static final int MCAST_LEAVE_GROUP; + field public static final int MCAST_LEAVE_SOURCE_GROUP; + field public static final int MCAST_UNBLOCK_SOURCE; + field public static final int MCL_CURRENT; + field public static final int MCL_FUTURE; + field public static final int MFD_CLOEXEC; + field public static final int MSG_CTRUNC; + field public static final int MSG_DONTROUTE; + field public static final int MSG_EOR; + field public static final int MSG_OOB; + field public static final int MSG_PEEK; + field public static final int MSG_TRUNC; + field public static final int MSG_WAITALL; + field public static final int MS_ASYNC; + field public static final int MS_INVALIDATE; + field public static final int MS_SYNC; + field public static final int NETLINK_INET_DIAG; + field public static final int NETLINK_NETFILTER; + field public static final int NETLINK_ROUTE; + field public static final int NI_DGRAM; + field public static final int NI_NAMEREQD; + field public static final int NI_NOFQDN; + field public static final int NI_NUMERICHOST; + field public static final int NI_NUMERICSERV; + field public static final int O_ACCMODE; + field public static final int O_APPEND; + field public static final int O_CLOEXEC; + field public static final int O_CREAT; + field public static final int O_DSYNC; + field public static final int O_EXCL; + field public static final int O_NOCTTY; + field public static final int O_NOFOLLOW; + field public static final int O_NONBLOCK; + field public static final int O_RDONLY; + field public static final int O_RDWR; + field public static final int O_SYNC; + field public static final int O_TRUNC; + field public static final int O_WRONLY; + field public static final int POLLERR; + field public static final int POLLHUP; + field public static final int POLLIN; + field public static final int POLLNVAL; + field public static final int POLLOUT; + field public static final int POLLPRI; + field public static final int POLLRDBAND; + field public static final int POLLRDNORM; + field public static final int POLLWRBAND; + field public static final int POLLWRNORM; + field public static final int PROT_EXEC; + field public static final int PROT_NONE; + field public static final int PROT_READ; + field public static final int PROT_WRITE; + field public static final int PR_GET_DUMPABLE; + field public static final int PR_SET_DUMPABLE; + field public static final int PR_SET_NO_NEW_PRIVS; + field public static final int RTMGRP_NEIGH; + field public static final int RT_SCOPE_HOST; + field public static final int RT_SCOPE_LINK; + field public static final int RT_SCOPE_NOWHERE; + field public static final int RT_SCOPE_SITE; + field public static final int RT_SCOPE_UNIVERSE; + field public static final int R_OK; + field public static final int SEEK_CUR; + field public static final int SEEK_END; + field public static final int SEEK_SET; + field public static final int SHUT_RD; + field public static final int SHUT_RDWR; + field public static final int SHUT_WR; + field public static final int SIGABRT; + field public static final int SIGALRM; + field public static final int SIGBUS; + field public static final int SIGCHLD; + field public static final int SIGCONT; + field public static final int SIGFPE; + field public static final int SIGHUP; + field public static final int SIGILL; + field public static final int SIGINT; + field public static final int SIGIO; + field public static final int SIGKILL; + field public static final int SIGPIPE; + field public static final int SIGPROF; + field public static final int SIGPWR; + field public static final int SIGQUIT; + field public static final int SIGRTMAX; + field public static final int SIGRTMIN; + field public static final int SIGSEGV; + field public static final int SIGSTKFLT; + field public static final int SIGSTOP; + field public static final int SIGSYS; + field public static final int SIGTERM; + field public static final int SIGTRAP; + field public static final int SIGTSTP; + field public static final int SIGTTIN; + field public static final int SIGTTOU; + field public static final int SIGURG; + field public static final int SIGUSR1; + field public static final int SIGUSR2; + field public static final int SIGVTALRM; + field public static final int SIGWINCH; + field public static final int SIGXCPU; + field public static final int SIGXFSZ; + field public static final int SIOCGIFADDR; + field public static final int SIOCGIFBRDADDR; + field public static final int SIOCGIFDSTADDR; + field public static final int SIOCGIFNETMASK; + field public static final int SOCK_CLOEXEC; + field public static final int SOCK_DGRAM; + field public static final int SOCK_NONBLOCK; + field public static final int SOCK_RAW; + field public static final int SOCK_SEQPACKET; + field public static final int SOCK_STREAM; + field public static final int SOL_SOCKET; + field public static final int SOL_UDP; + field public static final int SO_BINDTODEVICE; + field public static final int SO_BROADCAST; + field public static final int SO_DEBUG; + field public static final int SO_DONTROUTE; + field public static final int SO_ERROR; + field public static final int SO_KEEPALIVE; + field public static final int SO_LINGER; + field public static final int SO_OOBINLINE; + field public static final int SO_PASSCRED; + field public static final int SO_PEERCRED; + field public static final int SO_RCVBUF; + field public static final int SO_RCVLOWAT; + field public static final int SO_RCVTIMEO; + field public static final int SO_REUSEADDR; + field public static final int SO_SNDBUF; + field public static final int SO_SNDLOWAT; + field public static final int SO_SNDTIMEO; + field public static final int SO_TYPE; + field public static final int STDERR_FILENO; + field public static final int STDIN_FILENO; + field public static final int STDOUT_FILENO; + field public static final int ST_MANDLOCK; + field public static final int ST_NOATIME; + field public static final int ST_NODEV; + field public static final int ST_NODIRATIME; + field public static final int ST_NOEXEC; + field public static final int ST_NOSUID; + field public static final int ST_RDONLY; + field public static final int ST_RELATIME; + field public static final int ST_SYNCHRONOUS; + field public static final int S_IFBLK; + field public static final int S_IFCHR; + field public static final int S_IFDIR; + field public static final int S_IFIFO; + field public static final int S_IFLNK; + field public static final int S_IFMT; + field public static final int S_IFREG; + field public static final int S_IFSOCK; + field public static final int S_IRGRP; + field public static final int S_IROTH; + field public static final int S_IRUSR; + field public static final int S_IRWXG; + field public static final int S_IRWXO; + field public static final int S_IRWXU; + field public static final int S_ISGID; + field public static final int S_ISUID; + field public static final int S_ISVTX; + field public static final int S_IWGRP; + field public static final int S_IWOTH; + field public static final int S_IWUSR; + field public static final int S_IXGRP; + field public static final int S_IXOTH; + field public static final int S_IXUSR; + field public static final int TCP_NODELAY; + field public static final int TCP_USER_TIMEOUT; + field public static final int UDP_GRO; + field public static final int UDP_SEGMENT; + field public static final int VMADDR_CID_ANY; + field public static final int VMADDR_CID_HOST; + field public static final int VMADDR_CID_LOCAL; + field public static final int VMADDR_PORT_ANY; + field public static final int WCONTINUED; + field public static final int WEXITED; + field public static final int WNOHANG; + field public static final int WNOWAIT; + field public static final int WSTOPPED; + field public static final int WUNTRACED; + field public static final int W_OK; + field public static final int X_OK; + field public static final int _SC_2_CHAR_TERM; + field public static final int _SC_2_C_BIND; + field public static final int _SC_2_C_DEV; + field public static final int _SC_2_C_VERSION; + field public static final int _SC_2_FORT_DEV; + field public static final int _SC_2_FORT_RUN; + field public static final int _SC_2_LOCALEDEF; + field public static final int _SC_2_SW_DEV; + field public static final int _SC_2_UPE; + field public static final int _SC_2_VERSION; + field public static final int _SC_AIO_LISTIO_MAX; + field public static final int _SC_AIO_MAX; + field public static final int _SC_AIO_PRIO_DELTA_MAX; + field public static final int _SC_ARG_MAX; + field public static final int _SC_ASYNCHRONOUS_IO; + field public static final int _SC_ATEXIT_MAX; + field public static final int _SC_AVPHYS_PAGES; + field public static final int _SC_BC_BASE_MAX; + field public static final int _SC_BC_DIM_MAX; + field public static final int _SC_BC_SCALE_MAX; + field public static final int _SC_BC_STRING_MAX; + field public static final int _SC_CHILD_MAX; + field public static final int _SC_CLK_TCK; + field public static final int _SC_COLL_WEIGHTS_MAX; + field public static final int _SC_DELAYTIMER_MAX; + field public static final int _SC_EXPR_NEST_MAX; + field public static final int _SC_FSYNC; + field public static final int _SC_GETGR_R_SIZE_MAX; + field public static final int _SC_GETPW_R_SIZE_MAX; + field public static final int _SC_IOV_MAX; + field public static final int _SC_JOB_CONTROL; + field public static final int _SC_LINE_MAX; + field public static final int _SC_LOGIN_NAME_MAX; + field public static final int _SC_MAPPED_FILES; + field public static final int _SC_MEMLOCK; + field public static final int _SC_MEMLOCK_RANGE; + field public static final int _SC_MEMORY_PROTECTION; + field public static final int _SC_MESSAGE_PASSING; + field public static final int _SC_MQ_OPEN_MAX; + field public static final int _SC_MQ_PRIO_MAX; + field public static final int _SC_NGROUPS_MAX; + field public static final int _SC_NPROCESSORS_CONF; + field public static final int _SC_NPROCESSORS_ONLN; + field public static final int _SC_OPEN_MAX; + field public static final int _SC_PAGESIZE; + field public static final int _SC_PAGE_SIZE; + field public static final int _SC_PASS_MAX; + field public static final int _SC_PHYS_PAGES; + field public static final int _SC_PRIORITIZED_IO; + field public static final int _SC_PRIORITY_SCHEDULING; + field public static final int _SC_REALTIME_SIGNALS; + field public static final int _SC_RE_DUP_MAX; + field public static final int _SC_RTSIG_MAX; + field public static final int _SC_SAVED_IDS; + field public static final int _SC_SEMAPHORES; + field public static final int _SC_SEM_NSEMS_MAX; + field public static final int _SC_SEM_VALUE_MAX; + field public static final int _SC_SHARED_MEMORY_OBJECTS; + field public static final int _SC_SIGQUEUE_MAX; + field public static final int _SC_STREAM_MAX; + field public static final int _SC_SYNCHRONIZED_IO; + field public static final int _SC_THREADS; + field public static final int _SC_THREAD_ATTR_STACKADDR; + field public static final int _SC_THREAD_ATTR_STACKSIZE; + field public static final int _SC_THREAD_DESTRUCTOR_ITERATIONS; + field public static final int _SC_THREAD_KEYS_MAX; + field public static final int _SC_THREAD_PRIORITY_SCHEDULING; + field public static final int _SC_THREAD_PRIO_INHERIT; + field public static final int _SC_THREAD_PRIO_PROTECT; + field public static final int _SC_THREAD_SAFE_FUNCTIONS; + field public static final int _SC_THREAD_STACK_MIN; + field public static final int _SC_THREAD_THREADS_MAX; + field public static final int _SC_TIMERS; + field public static final int _SC_TIMER_MAX; + field public static final int _SC_TTY_NAME_MAX; + field public static final int _SC_TZNAME_MAX; + field public static final int _SC_VERSION; + field public static final int _SC_XBS5_ILP32_OFF32; + field public static final int _SC_XBS5_ILP32_OFFBIG; + field public static final int _SC_XBS5_LP64_OFF64; + field public static final int _SC_XBS5_LPBIG_OFFBIG; + field public static final int _SC_XOPEN_CRYPT; + field public static final int _SC_XOPEN_ENH_I18N; + field public static final int _SC_XOPEN_LEGACY; + field public static final int _SC_XOPEN_REALTIME; + field public static final int _SC_XOPEN_REALTIME_THREADS; + field public static final int _SC_XOPEN_SHM; + field public static final int _SC_XOPEN_UNIX; + field public static final int _SC_XOPEN_VERSION; + field public static final int _SC_XOPEN_XCU_VERSION; + } + + public final class StructCmsghdr { + ctor public StructCmsghdr(int, int, short); + ctor public StructCmsghdr(int, int, @NonNull byte[]); + field @NonNull public final byte[] cmsg_data; + field public final int cmsg_level; + field public final int cmsg_type; + } + + public final class StructMsghdr { + ctor public StructMsghdr(@Nullable java.net.SocketAddress, @NonNull java.nio.ByteBuffer[], @Nullable android.system.StructCmsghdr[], int); + field @Nullable public android.system.StructCmsghdr[] msg_control; + field public int msg_flags; + field @NonNull public final java.nio.ByteBuffer[] msg_iov; + field @Nullable public java.net.SocketAddress msg_name; + } + + public final class StructPollfd { + ctor public StructPollfd(); + field public short events; + field public java.io.FileDescriptor fd; + field public short revents; + field public Object userData; + } + + public final class StructStat { + ctor public StructStat(long, long, int, long, int, int, long, long, long, long, long, long, long); + ctor public StructStat(long, long, int, long, int, int, long, long, android.system.StructTimespec, android.system.StructTimespec, android.system.StructTimespec, long, long); + field public final android.system.StructTimespec st_atim; + field public final long st_atime; + field public final long st_blksize; + field public final long st_blocks; + field public final android.system.StructTimespec st_ctim; + field public final long st_ctime; + field public final long st_dev; + field public final int st_gid; + field public final long st_ino; + field public final int st_mode; + field public final android.system.StructTimespec st_mtim; + field public final long st_mtime; + field public final long st_nlink; + field public final long st_rdev; + field public final long st_size; + field public final int st_uid; + } + + public final class StructStatVfs { + ctor public StructStatVfs(long, long, long, long, long, long, long, long, long, long, long); + field public final long f_bavail; + field public final long f_bfree; + field public final long f_blocks; + field public final long f_bsize; + field public final long f_favail; + field public final long f_ffree; + field public final long f_files; + field public final long f_flag; + field public final long f_frsize; + field public final long f_fsid; + field public final long f_namemax; + } + + public final class StructTimespec implements java.lang.Comparable<android.system.StructTimespec> { + ctor public StructTimespec(long, long); + method public int compareTo(android.system.StructTimespec); + field public final long tv_nsec; + field public final long tv_sec; + } + + public final class StructTimeval { + method @NonNull public static android.system.StructTimeval fromMillis(long); + method public long toMillis(); + field public final long tv_sec; + field public final long tv_usec; + } + + public final class StructUtsname { + ctor public StructUtsname(String, String, String, String, String); + field public final String machine; + field public final String nodename; + field public final String release; + field public final String sysname; + field public final String version; + } + + public final class SystemCleaner { + method @NonNull public static java.lang.ref.Cleaner cleaner(); + } + + public final class VmSocketAddress extends java.net.SocketAddress { + ctor public VmSocketAddress(int, int); + method public int getSvmCid(); + method public int getSvmPort(); + } + +} + +package dalvik.annotation { + + @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.ANNOTATION_TYPE}) public @interface TestTarget { + method @Deprecated public abstract String conceptName() default ""; + method @Deprecated public abstract Class<?>[] methodArgs() default {}; + method @Deprecated public abstract String methodName() default ""; + } + + @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public @interface TestTargetClass { + method @Deprecated public abstract Class<?> value(); + } + +} + +package dalvik.bytecode { + + public final class OpcodeInfo { + field public static final int MAXIMUM_PACKED_VALUE; + field public static final int MAXIMUM_VALUE; + } + + public interface Opcodes { + field public static final int OP_ADD_DOUBLE = 171; // 0xab + field public static final int OP_ADD_DOUBLE_2ADDR = 203; // 0xcb + field public static final int OP_ADD_FLOAT = 166; // 0xa6 + field public static final int OP_ADD_FLOAT_2ADDR = 198; // 0xc6 + field public static final int OP_ADD_INT = 144; // 0x90 + field public static final int OP_ADD_INT_2ADDR = 176; // 0xb0 + field public static final int OP_ADD_INT_LIT16 = 208; // 0xd0 + field public static final int OP_ADD_INT_LIT8 = 216; // 0xd8 + field public static final int OP_ADD_LONG = 155; // 0x9b + field public static final int OP_ADD_LONG_2ADDR = 187; // 0xbb + field public static final int OP_AGET = 68; // 0x44 + field public static final int OP_AGET_BOOLEAN = 71; // 0x47 + field public static final int OP_AGET_BYTE = 72; // 0x48 + field public static final int OP_AGET_CHAR = 73; // 0x49 + field public static final int OP_AGET_OBJECT = 70; // 0x46 + field public static final int OP_AGET_SHORT = 74; // 0x4a + field public static final int OP_AGET_WIDE = 69; // 0x45 + field public static final int OP_AND_INT = 149; // 0x95 + field public static final int OP_AND_INT_2ADDR = 181; // 0xb5 + field public static final int OP_AND_INT_LIT16 = 213; // 0xd5 + field public static final int OP_AND_INT_LIT8 = 221; // 0xdd + field public static final int OP_AND_LONG = 160; // 0xa0 + field public static final int OP_AND_LONG_2ADDR = 192; // 0xc0 + field public static final int OP_APUT = 75; // 0x4b + field public static final int OP_APUT_BOOLEAN = 78; // 0x4e + field public static final int OP_APUT_BYTE = 79; // 0x4f + field public static final int OP_APUT_CHAR = 80; // 0x50 + field public static final int OP_APUT_OBJECT = 77; // 0x4d + field public static final int OP_APUT_SHORT = 81; // 0x51 + field public static final int OP_APUT_WIDE = 76; // 0x4c + field public static final int OP_ARRAY_LENGTH = 33; // 0x21 + field @Deprecated public static final int OP_BREAKPOINT = 236; // 0xec + field public static final int OP_CHECK_CAST = 31; // 0x1f + field public static final int OP_CHECK_CAST_JUMBO = 511; // 0x1ff + field public static final int OP_CMPG_DOUBLE = 48; // 0x30 + field public static final int OP_CMPG_FLOAT = 46; // 0x2e + field public static final int OP_CMPL_DOUBLE = 47; // 0x2f + field public static final int OP_CMPL_FLOAT = 45; // 0x2d + field public static final int OP_CMP_LONG = 49; // 0x31 + field public static final int OP_CONST = 20; // 0x14 + field public static final int OP_CONST_16 = 19; // 0x13 + field public static final int OP_CONST_4 = 18; // 0x12 + field public static final int OP_CONST_CLASS = 28; // 0x1c + field public static final int OP_CONST_CLASS_JUMBO = 255; // 0xff + field public static final int OP_CONST_HIGH16 = 21; // 0x15 + field public static final int OP_CONST_METHOD_HANDLE = 254; // 0xfe + field public static final int OP_CONST_METHOD_TYPE = 255; // 0xff + field public static final int OP_CONST_STRING = 26; // 0x1a + field public static final int OP_CONST_STRING_JUMBO = 27; // 0x1b + field public static final int OP_CONST_WIDE = 24; // 0x18 + field public static final int OP_CONST_WIDE_16 = 22; // 0x16 + field public static final int OP_CONST_WIDE_32 = 23; // 0x17 + field public static final int OP_CONST_WIDE_HIGH16 = 25; // 0x19 + field public static final int OP_DIV_DOUBLE = 174; // 0xae + field public static final int OP_DIV_DOUBLE_2ADDR = 206; // 0xce + field public static final int OP_DIV_FLOAT = 169; // 0xa9 + field public static final int OP_DIV_FLOAT_2ADDR = 201; // 0xc9 + field public static final int OP_DIV_INT = 147; // 0x93 + field public static final int OP_DIV_INT_2ADDR = 179; // 0xb3 + field public static final int OP_DIV_INT_LIT16 = 211; // 0xd3 + field public static final int OP_DIV_INT_LIT8 = 219; // 0xdb + field public static final int OP_DIV_LONG = 158; // 0x9e + field public static final int OP_DIV_LONG_2ADDR = 190; // 0xbe + field public static final int OP_DOUBLE_TO_FLOAT = 140; // 0x8c + field public static final int OP_DOUBLE_TO_INT = 138; // 0x8a + field public static final int OP_DOUBLE_TO_LONG = 139; // 0x8b + field @Deprecated public static final int OP_EXECUTE_INLINE = 238; // 0xee + field @Deprecated public static final int OP_EXECUTE_INLINE_RANGE = 239; // 0xef + field public static final int OP_FILLED_NEW_ARRAY = 36; // 0x24 + field public static final int OP_FILLED_NEW_ARRAY_JUMBO = 1535; // 0x5ff + field public static final int OP_FILLED_NEW_ARRAY_RANGE = 37; // 0x25 + field public static final int OP_FILL_ARRAY_DATA = 38; // 0x26 + field public static final int OP_FLOAT_TO_DOUBLE = 137; // 0x89 + field public static final int OP_FLOAT_TO_INT = 135; // 0x87 + field public static final int OP_FLOAT_TO_LONG = 136; // 0x88 + field public static final int OP_GOTO = 40; // 0x28 + field public static final int OP_GOTO_16 = 41; // 0x29 + field public static final int OP_GOTO_32 = 42; // 0x2a + field public static final int OP_IF_EQ = 50; // 0x32 + field public static final int OP_IF_EQZ = 56; // 0x38 + field public static final int OP_IF_GE = 53; // 0x35 + field public static final int OP_IF_GEZ = 59; // 0x3b + field public static final int OP_IF_GT = 54; // 0x36 + field public static final int OP_IF_GTZ = 60; // 0x3c + field public static final int OP_IF_LE = 55; // 0x37 + field public static final int OP_IF_LEZ = 61; // 0x3d + field public static final int OP_IF_LT = 52; // 0x34 + field public static final int OP_IF_LTZ = 58; // 0x3a + field public static final int OP_IF_NE = 51; // 0x33 + field public static final int OP_IF_NEZ = 57; // 0x39 + field public static final int OP_IGET = 82; // 0x52 + field public static final int OP_IGET_BOOLEAN = 85; // 0x55 + field public static final int OP_IGET_BOOLEAN_JUMBO = 2559; // 0x9ff + field public static final int OP_IGET_BYTE = 86; // 0x56 + field public static final int OP_IGET_BYTE_JUMBO = 2815; // 0xaff + field public static final int OP_IGET_CHAR = 87; // 0x57 + field public static final int OP_IGET_CHAR_JUMBO = 3071; // 0xbff + field public static final int OP_IGET_JUMBO = 1791; // 0x6ff + field public static final int OP_IGET_OBJECT = 84; // 0x54 + field public static final int OP_IGET_OBJECT_JUMBO = 2303; // 0x8ff + field @Deprecated public static final int OP_IGET_OBJECT_QUICK = 244; // 0xf4 + field @Deprecated public static final int OP_IGET_QUICK = 242; // 0xf2 + field public static final int OP_IGET_SHORT = 88; // 0x58 + field public static final int OP_IGET_SHORT_JUMBO = 3327; // 0xcff + field public static final int OP_IGET_WIDE = 83; // 0x53 + field public static final int OP_IGET_WIDE_JUMBO = 2047; // 0x7ff + field @Deprecated public static final int OP_IGET_WIDE_QUICK = 243; // 0xf3 + field @Deprecated public static final int OP_IGET_WIDE_VOLATILE = 232; // 0xe8 + field public static final int OP_INSTANCE_OF = 32; // 0x20 + field public static final int OP_INSTANCE_OF_JUMBO = 767; // 0x2ff + field public static final int OP_INT_TO_BYTE = 141; // 0x8d + field public static final int OP_INT_TO_CHAR = 142; // 0x8e + field public static final int OP_INT_TO_DOUBLE = 131; // 0x83 + field public static final int OP_INT_TO_FLOAT = 130; // 0x82 + field public static final int OP_INT_TO_LONG = 129; // 0x81 + field public static final int OP_INT_TO_SHORT = 143; // 0x8f + field public static final int OP_INVOKE_CUSTOM = 252; // 0xfc + field public static final int OP_INVOKE_CUSTOM_RANGE = 253; // 0xfd + field public static final int OP_INVOKE_DIRECT = 112; // 0x70 + field @Deprecated public static final int OP_INVOKE_DIRECT_EMPTY = 240; // 0xf0 + field public static final int OP_INVOKE_DIRECT_JUMBO = 9471; // 0x24ff + field public static final int OP_INVOKE_DIRECT_RANGE = 118; // 0x76 + field public static final int OP_INVOKE_INTERFACE = 114; // 0x72 + field public static final int OP_INVOKE_INTERFACE_JUMBO = 9983; // 0x26ff + field public static final int OP_INVOKE_INTERFACE_RANGE = 120; // 0x78 + field public static final int OP_INVOKE_POLYMORPHIC = 250; // 0xfa + field public static final int OP_INVOKE_POLYMORPHIC_RANGE = 251; // 0xfb + field public static final int OP_INVOKE_STATIC = 113; // 0x71 + field public static final int OP_INVOKE_STATIC_JUMBO = 9727; // 0x25ff + field public static final int OP_INVOKE_STATIC_RANGE = 119; // 0x77 + field public static final int OP_INVOKE_SUPER = 111; // 0x6f + field public static final int OP_INVOKE_SUPER_JUMBO = 9215; // 0x23ff + field @Deprecated public static final int OP_INVOKE_SUPER_QUICK = 250; // 0xfa + field @Deprecated public static final int OP_INVOKE_SUPER_QUICK_RANGE = 251; // 0xfb + field public static final int OP_INVOKE_SUPER_RANGE = 117; // 0x75 + field public static final int OP_INVOKE_VIRTUAL = 110; // 0x6e + field public static final int OP_INVOKE_VIRTUAL_JUMBO = 8959; // 0x22ff + field @Deprecated public static final int OP_INVOKE_VIRTUAL_QUICK = 248; // 0xf8 + field @Deprecated public static final int OP_INVOKE_VIRTUAL_QUICK_RANGE = 249; // 0xf9 + field public static final int OP_INVOKE_VIRTUAL_RANGE = 116; // 0x74 + field public static final int OP_IPUT = 89; // 0x59 + field public static final int OP_IPUT_BOOLEAN = 92; // 0x5c + field public static final int OP_IPUT_BOOLEAN_JUMBO = 4351; // 0x10ff + field public static final int OP_IPUT_BYTE = 93; // 0x5d + field public static final int OP_IPUT_BYTE_JUMBO = 4607; // 0x11ff + field public static final int OP_IPUT_CHAR = 94; // 0x5e + field public static final int OP_IPUT_CHAR_JUMBO = 4863; // 0x12ff + field public static final int OP_IPUT_JUMBO = 3583; // 0xdff + field public static final int OP_IPUT_OBJECT = 91; // 0x5b + field public static final int OP_IPUT_OBJECT_JUMBO = 4095; // 0xfff + field @Deprecated public static final int OP_IPUT_OBJECT_QUICK = 247; // 0xf7 + field @Deprecated public static final int OP_IPUT_QUICK = 245; // 0xf5 + field public static final int OP_IPUT_SHORT = 95; // 0x5f + field public static final int OP_IPUT_SHORT_JUMBO = 5119; // 0x13ff + field public static final int OP_IPUT_WIDE = 90; // 0x5a + field public static final int OP_IPUT_WIDE_JUMBO = 3839; // 0xeff + field @Deprecated public static final int OP_IPUT_WIDE_QUICK = 246; // 0xf6 + field @Deprecated public static final int OP_IPUT_WIDE_VOLATILE = 233; // 0xe9 + field public static final int OP_LONG_TO_DOUBLE = 134; // 0x86 + field public static final int OP_LONG_TO_FLOAT = 133; // 0x85 + field public static final int OP_LONG_TO_INT = 132; // 0x84 + field public static final int OP_MONITOR_ENTER = 29; // 0x1d + field public static final int OP_MONITOR_EXIT = 30; // 0x1e + field public static final int OP_MOVE = 1; // 0x1 + field public static final int OP_MOVE_16 = 3; // 0x3 + field public static final int OP_MOVE_EXCEPTION = 13; // 0xd + field public static final int OP_MOVE_FROM16 = 2; // 0x2 + field public static final int OP_MOVE_OBJECT = 7; // 0x7 + field public static final int OP_MOVE_OBJECT_16 = 9; // 0x9 + field public static final int OP_MOVE_OBJECT_FROM16 = 8; // 0x8 + field public static final int OP_MOVE_RESULT = 10; // 0xa + field public static final int OP_MOVE_RESULT_OBJECT = 12; // 0xc + field public static final int OP_MOVE_RESULT_WIDE = 11; // 0xb + field public static final int OP_MOVE_WIDE = 4; // 0x4 + field public static final int OP_MOVE_WIDE_16 = 6; // 0x6 + field public static final int OP_MOVE_WIDE_FROM16 = 5; // 0x5 + field public static final int OP_MUL_DOUBLE = 173; // 0xad + field public static final int OP_MUL_DOUBLE_2ADDR = 205; // 0xcd + field public static final int OP_MUL_FLOAT = 168; // 0xa8 + field public static final int OP_MUL_FLOAT_2ADDR = 200; // 0xc8 + field public static final int OP_MUL_INT = 146; // 0x92 + field public static final int OP_MUL_INT_2ADDR = 178; // 0xb2 + field public static final int OP_MUL_INT_LIT16 = 210; // 0xd2 + field public static final int OP_MUL_INT_LIT8 = 218; // 0xda + field public static final int OP_MUL_LONG = 157; // 0x9d + field public static final int OP_MUL_LONG_2ADDR = 189; // 0xbd + field public static final int OP_NEG_DOUBLE = 128; // 0x80 + field public static final int OP_NEG_FLOAT = 127; // 0x7f + field public static final int OP_NEG_INT = 123; // 0x7b + field public static final int OP_NEG_LONG = 125; // 0x7d + field public static final int OP_NEW_ARRAY = 35; // 0x23 + field public static final int OP_NEW_ARRAY_JUMBO = 1279; // 0x4ff + field public static final int OP_NEW_INSTANCE = 34; // 0x22 + field public static final int OP_NEW_INSTANCE_JUMBO = 1023; // 0x3ff + field public static final int OP_NOP = 0; // 0x0 + field public static final int OP_NOT_INT = 124; // 0x7c + field public static final int OP_NOT_LONG = 126; // 0x7e + field public static final int OP_OR_INT = 150; // 0x96 + field public static final int OP_OR_INT_2ADDR = 182; // 0xb6 + field public static final int OP_OR_INT_LIT16 = 214; // 0xd6 + field public static final int OP_OR_INT_LIT8 = 222; // 0xde + field public static final int OP_OR_LONG = 161; // 0xa1 + field public static final int OP_OR_LONG_2ADDR = 193; // 0xc1 + field public static final int OP_PACKED_SWITCH = 43; // 0x2b + field public static final int OP_REM_DOUBLE = 175; // 0xaf + field public static final int OP_REM_DOUBLE_2ADDR = 207; // 0xcf + field public static final int OP_REM_FLOAT = 170; // 0xaa + field public static final int OP_REM_FLOAT_2ADDR = 202; // 0xca + field public static final int OP_REM_INT = 148; // 0x94 + field public static final int OP_REM_INT_2ADDR = 180; // 0xb4 + field public static final int OP_REM_INT_LIT16 = 212; // 0xd4 + field public static final int OP_REM_INT_LIT8 = 220; // 0xdc + field public static final int OP_REM_LONG = 159; // 0x9f + field public static final int OP_REM_LONG_2ADDR = 191; // 0xbf + field public static final int OP_RETURN = 15; // 0xf + field public static final int OP_RETURN_OBJECT = 17; // 0x11 + field public static final int OP_RETURN_VOID = 14; // 0xe + field public static final int OP_RETURN_WIDE = 16; // 0x10 + field public static final int OP_RSUB_INT = 209; // 0xd1 + field public static final int OP_RSUB_INT_LIT8 = 217; // 0xd9 + field public static final int OP_SGET = 96; // 0x60 + field public static final int OP_SGET_BOOLEAN = 99; // 0x63 + field public static final int OP_SGET_BOOLEAN_JUMBO = 6143; // 0x17ff + field public static final int OP_SGET_BYTE = 100; // 0x64 + field public static final int OP_SGET_BYTE_JUMBO = 6399; // 0x18ff + field public static final int OP_SGET_CHAR = 101; // 0x65 + field public static final int OP_SGET_CHAR_JUMBO = 6655; // 0x19ff + field public static final int OP_SGET_JUMBO = 5375; // 0x14ff + field public static final int OP_SGET_OBJECT = 98; // 0x62 + field public static final int OP_SGET_OBJECT_JUMBO = 5887; // 0x16ff + field public static final int OP_SGET_SHORT = 102; // 0x66 + field public static final int OP_SGET_SHORT_JUMBO = 6911; // 0x1aff + field public static final int OP_SGET_WIDE = 97; // 0x61 + field public static final int OP_SGET_WIDE_JUMBO = 5631; // 0x15ff + field @Deprecated public static final int OP_SGET_WIDE_VOLATILE = 234; // 0xea + field public static final int OP_SHL_INT = 152; // 0x98 + field public static final int OP_SHL_INT_2ADDR = 184; // 0xb8 + field public static final int OP_SHL_INT_LIT8 = 224; // 0xe0 + field public static final int OP_SHL_LONG = 163; // 0xa3 + field public static final int OP_SHL_LONG_2ADDR = 195; // 0xc3 + field public static final int OP_SHR_INT = 153; // 0x99 + field public static final int OP_SHR_INT_2ADDR = 185; // 0xb9 + field public static final int OP_SHR_INT_LIT8 = 225; // 0xe1 + field public static final int OP_SHR_LONG = 164; // 0xa4 + field public static final int OP_SHR_LONG_2ADDR = 196; // 0xc4 + field public static final int OP_SPARSE_SWITCH = 44; // 0x2c + field public static final int OP_SPUT = 103; // 0x67 + field public static final int OP_SPUT_BOOLEAN = 106; // 0x6a + field public static final int OP_SPUT_BOOLEAN_JUMBO = 7935; // 0x1eff + field public static final int OP_SPUT_BYTE = 107; // 0x6b + field public static final int OP_SPUT_BYTE_JUMBO = 8191; // 0x1fff + field public static final int OP_SPUT_CHAR = 108; // 0x6c + field public static final int OP_SPUT_CHAR_JUMBO = 8447; // 0x20ff + field public static final int OP_SPUT_JUMBO = 7167; // 0x1bff + field public static final int OP_SPUT_OBJECT = 105; // 0x69 + field public static final int OP_SPUT_OBJECT_JUMBO = 7679; // 0x1dff + field public static final int OP_SPUT_SHORT = 109; // 0x6d + field public static final int OP_SPUT_SHORT_JUMBO = 8703; // 0x21ff + field public static final int OP_SPUT_WIDE = 104; // 0x68 + field public static final int OP_SPUT_WIDE_JUMBO = 7423; // 0x1cff + field @Deprecated public static final int OP_SPUT_WIDE_VOLATILE = 235; // 0xeb + field public static final int OP_SUB_DOUBLE = 172; // 0xac + field public static final int OP_SUB_DOUBLE_2ADDR = 204; // 0xcc + field public static final int OP_SUB_FLOAT = 167; // 0xa7 + field public static final int OP_SUB_FLOAT_2ADDR = 199; // 0xc7 + field public static final int OP_SUB_INT = 145; // 0x91 + field public static final int OP_SUB_INT_2ADDR = 177; // 0xb1 + field public static final int OP_SUB_LONG = 156; // 0x9c + field public static final int OP_SUB_LONG_2ADDR = 188; // 0xbc + field public static final int OP_THROW = 39; // 0x27 + field @Deprecated public static final int OP_THROW_VERIFICATION_ERROR = 237; // 0xed + field public static final int OP_USHR_INT = 154; // 0x9a + field public static final int OP_USHR_INT_2ADDR = 186; // 0xba + field public static final int OP_USHR_INT_LIT8 = 226; // 0xe2 + field public static final int OP_USHR_LONG = 165; // 0xa5 + field public static final int OP_USHR_LONG_2ADDR = 197; // 0xc5 + field public static final int OP_XOR_INT = 151; // 0x97 + field public static final int OP_XOR_INT_2ADDR = 183; // 0xb7 + field public static final int OP_XOR_INT_LIT16 = 215; // 0xd7 + field public static final int OP_XOR_INT_LIT8 = 223; // 0xdf + field public static final int OP_XOR_LONG = 162; // 0xa2 + field public static final int OP_XOR_LONG_2ADDR = 194; // 0xc2 + } + +} + +package dalvik.system { + + public class BaseDexClassLoader extends java.lang.ClassLoader { + ctor public BaseDexClassLoader(String, java.io.File, String, ClassLoader); + method public String findLibrary(String); + method protected java.util.Enumeration<java.net.URL> findResources(String); + } + + public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader { + ctor public DelegateLastClassLoader(String, ClassLoader); + ctor public DelegateLastClassLoader(String, String, ClassLoader); + ctor public DelegateLastClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, boolean); + } + + public class DexClassLoader extends dalvik.system.BaseDexClassLoader { + ctor public DexClassLoader(String, String, String, ClassLoader); + } + + @Deprecated public final class DexFile { + ctor @Deprecated public DexFile(java.io.File) throws java.io.IOException; + ctor @Deprecated public DexFile(String) throws java.io.IOException; + method @Deprecated public void close() throws java.io.IOException; + method @Deprecated public java.util.Enumeration<java.lang.String> entries(); + method @Deprecated public String getName(); + method @Deprecated public static boolean isDexOptNeeded(String) throws java.io.FileNotFoundException, java.io.IOException; + method @Deprecated public Class loadClass(String, ClassLoader); + method @Deprecated public static dalvik.system.DexFile loadDex(String, String, int) throws java.io.IOException; + } + + public final class InMemoryDexClassLoader extends dalvik.system.BaseDexClassLoader { + ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer[], @Nullable String, @Nullable ClassLoader); + ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer[], @Nullable ClassLoader); + ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer, @Nullable ClassLoader); + } + + public class PathClassLoader extends dalvik.system.BaseDexClassLoader { + ctor public PathClassLoader(String, ClassLoader); + ctor public PathClassLoader(String, String, ClassLoader); + } + +} + +package java.awt.font { + + public final class NumericShaper implements java.io.Serializable { + method public static java.awt.font.NumericShaper getContextualShaper(int); + method public static java.awt.font.NumericShaper getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>); + method public static java.awt.font.NumericShaper getContextualShaper(int, int); + method public static java.awt.font.NumericShaper getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range); + method public java.util.Set<java.awt.font.NumericShaper.Range> getRangeSet(); + method public int getRanges(); + method public static java.awt.font.NumericShaper getShaper(int); + method public static java.awt.font.NumericShaper getShaper(java.awt.font.NumericShaper.Range); + method public boolean isContextual(); + method public void shape(char[], int, int); + method public void shape(char[], int, int, int); + method public void shape(char[], int, int, java.awt.font.NumericShaper.Range); + field public static final int ALL_RANGES = 524287; // 0x7ffff + field public static final int ARABIC = 2; // 0x2 + field public static final int BENGALI = 16; // 0x10 + field public static final int DEVANAGARI = 8; // 0x8 + field public static final int EASTERN_ARABIC = 4; // 0x4 + field public static final int ETHIOPIC = 65536; // 0x10000 + field public static final int EUROPEAN = 1; // 0x1 + field public static final int GUJARATI = 64; // 0x40 + field public static final int GURMUKHI = 32; // 0x20 + field public static final int KANNADA = 1024; // 0x400 + field public static final int KHMER = 131072; // 0x20000 + field public static final int LAO = 8192; // 0x2000 + field public static final int MALAYALAM = 2048; // 0x800 + field public static final int MONGOLIAN = 262144; // 0x40000 + field public static final int MYANMAR = 32768; // 0x8000 + field public static final int ORIYA = 128; // 0x80 + field public static final int TAMIL = 256; // 0x100 + field public static final int TELUGU = 512; // 0x200 + field public static final int THAI = 4096; // 0x1000 + field public static final int TIBETAN = 16384; // 0x4000 + } + + public enum NumericShaper.Range { + enum_constant public static final java.awt.font.NumericShaper.Range ARABIC; + enum_constant public static final java.awt.font.NumericShaper.Range BALINESE; + enum_constant public static final java.awt.font.NumericShaper.Range BENGALI; + enum_constant public static final java.awt.font.NumericShaper.Range CHAM; + enum_constant public static final java.awt.font.NumericShaper.Range DEVANAGARI; + enum_constant public static final java.awt.font.NumericShaper.Range EASTERN_ARABIC; + enum_constant public static final java.awt.font.NumericShaper.Range ETHIOPIC; + enum_constant public static final java.awt.font.NumericShaper.Range EUROPEAN; + enum_constant public static final java.awt.font.NumericShaper.Range GUJARATI; + enum_constant public static final java.awt.font.NumericShaper.Range GURMUKHI; + enum_constant public static final java.awt.font.NumericShaper.Range JAVANESE; + enum_constant public static final java.awt.font.NumericShaper.Range KANNADA; + enum_constant public static final java.awt.font.NumericShaper.Range KAYAH_LI; + enum_constant public static final java.awt.font.NumericShaper.Range KHMER; + enum_constant public static final java.awt.font.NumericShaper.Range LAO; + enum_constant public static final java.awt.font.NumericShaper.Range LEPCHA; + enum_constant public static final java.awt.font.NumericShaper.Range LIMBU; + enum_constant public static final java.awt.font.NumericShaper.Range MALAYALAM; + enum_constant public static final java.awt.font.NumericShaper.Range MEETEI_MAYEK; + enum_constant public static final java.awt.font.NumericShaper.Range MONGOLIAN; + enum_constant public static final java.awt.font.NumericShaper.Range MYANMAR; + enum_constant public static final java.awt.font.NumericShaper.Range MYANMAR_SHAN; + enum_constant public static final java.awt.font.NumericShaper.Range NEW_TAI_LUE; + enum_constant public static final java.awt.font.NumericShaper.Range NKO; + enum_constant public static final java.awt.font.NumericShaper.Range OL_CHIKI; + enum_constant public static final java.awt.font.NumericShaper.Range ORIYA; + enum_constant public static final java.awt.font.NumericShaper.Range SAURASHTRA; + enum_constant public static final java.awt.font.NumericShaper.Range SUNDANESE; + enum_constant public static final java.awt.font.NumericShaper.Range TAI_THAM_HORA; + enum_constant public static final java.awt.font.NumericShaper.Range TAI_THAM_THAM; + enum_constant public static final java.awt.font.NumericShaper.Range TAMIL; + enum_constant public static final java.awt.font.NumericShaper.Range TELUGU; + enum_constant public static final java.awt.font.NumericShaper.Range THAI; + enum_constant public static final java.awt.font.NumericShaper.Range TIBETAN; + enum_constant public static final java.awt.font.NumericShaper.Range VAI; + } + + public final class TextAttribute extends java.text.AttributedCharacterIterator.Attribute { + ctor protected TextAttribute(String); + field public static final java.awt.font.TextAttribute BACKGROUND; + field public static final java.awt.font.TextAttribute BIDI_EMBEDDING; + field public static final java.awt.font.TextAttribute CHAR_REPLACEMENT; + field public static final java.awt.font.TextAttribute FAMILY; + field public static final java.awt.font.TextAttribute FONT; + field public static final java.awt.font.TextAttribute FOREGROUND; + field public static final java.awt.font.TextAttribute INPUT_METHOD_HIGHLIGHT; + field public static final java.awt.font.TextAttribute INPUT_METHOD_UNDERLINE; + field public static final java.awt.font.TextAttribute JUSTIFICATION; + field public static final Float JUSTIFICATION_FULL; + field public static final Float JUSTIFICATION_NONE; + field public static final java.awt.font.TextAttribute KERNING; + field public static final Integer KERNING_ON; + field public static final java.awt.font.TextAttribute LIGATURES; + field public static final Integer LIGATURES_ON; + field public static final java.awt.font.TextAttribute NUMERIC_SHAPING; + field public static final java.awt.font.TextAttribute POSTURE; + field public static final Float POSTURE_OBLIQUE; + field public static final Float POSTURE_REGULAR; + field public static final java.awt.font.TextAttribute RUN_DIRECTION; + field public static final Boolean RUN_DIRECTION_LTR; + field public static final Boolean RUN_DIRECTION_RTL; + field public static final java.awt.font.TextAttribute SIZE; + field public static final java.awt.font.TextAttribute STRIKETHROUGH; + field public static final Boolean STRIKETHROUGH_ON; + field public static final java.awt.font.TextAttribute SUPERSCRIPT; + field public static final Integer SUPERSCRIPT_SUB; + field public static final Integer SUPERSCRIPT_SUPER; + field public static final java.awt.font.TextAttribute SWAP_COLORS; + field public static final Boolean SWAP_COLORS_ON; + field public static final java.awt.font.TextAttribute TRACKING; + field public static final Float TRACKING_LOOSE; + field public static final Float TRACKING_TIGHT; + field public static final java.awt.font.TextAttribute TRANSFORM; + field public static final java.awt.font.TextAttribute UNDERLINE; + field public static final Integer UNDERLINE_LOW_DASHED; + field public static final Integer UNDERLINE_LOW_DOTTED; + field public static final Integer UNDERLINE_LOW_GRAY; + field public static final Integer UNDERLINE_LOW_ONE_PIXEL; + field public static final Integer UNDERLINE_LOW_TWO_PIXEL; + field public static final Integer UNDERLINE_ON; + field public static final java.awt.font.TextAttribute WEIGHT; + field public static final Float WEIGHT_BOLD; + field public static final Float WEIGHT_DEMIBOLD; + field public static final Float WEIGHT_DEMILIGHT; + field public static final Float WEIGHT_EXTRABOLD; + field public static final Float WEIGHT_EXTRA_LIGHT; + field public static final Float WEIGHT_HEAVY; + field public static final Float WEIGHT_LIGHT; + field public static final Float WEIGHT_MEDIUM; + field public static final Float WEIGHT_REGULAR; + field public static final Float WEIGHT_SEMIBOLD; + field public static final Float WEIGHT_ULTRABOLD; + field public static final java.awt.font.TextAttribute WIDTH; + field public static final Float WIDTH_CONDENSED; + field public static final Float WIDTH_EXTENDED; + field public static final Float WIDTH_REGULAR; + field public static final Float WIDTH_SEMI_CONDENSED; + field public static final Float WIDTH_SEMI_EXTENDED; + } + +} + +package java.beans { + + public class IndexedPropertyChangeEvent extends java.beans.PropertyChangeEvent { + ctor public IndexedPropertyChangeEvent(Object, String, Object, Object, int); + method public int getIndex(); + } + + public class PropertyChangeEvent extends java.util.EventObject { + ctor public PropertyChangeEvent(Object, String, Object, Object); + method public Object getNewValue(); + method public Object getOldValue(); + method public Object getPropagationId(); + method public String getPropertyName(); + method public void setPropagationId(Object); + } + + public interface PropertyChangeListener extends java.util.EventListener { + method public void propertyChange(java.beans.PropertyChangeEvent); + } + + public class PropertyChangeListenerProxy extends java.util.EventListenerProxy<java.beans.PropertyChangeListener> implements java.beans.PropertyChangeListener { + ctor public PropertyChangeListenerProxy(String, java.beans.PropertyChangeListener); + method public String getPropertyName(); + method public void propertyChange(java.beans.PropertyChangeEvent); + } + + public class PropertyChangeSupport implements java.io.Serializable { + ctor public PropertyChangeSupport(Object); + method public void addPropertyChangeListener(java.beans.PropertyChangeListener); + method public void addPropertyChangeListener(String, java.beans.PropertyChangeListener); + method public void fireIndexedPropertyChange(String, int, Object, Object); + method public void fireIndexedPropertyChange(String, int, int, int); + method public void fireIndexedPropertyChange(String, int, boolean, boolean); + method public void firePropertyChange(String, Object, Object); + method public void firePropertyChange(String, int, int); + method public void firePropertyChange(String, boolean, boolean); + method public void firePropertyChange(java.beans.PropertyChangeEvent); + method public java.beans.PropertyChangeListener[] getPropertyChangeListeners(); + method public java.beans.PropertyChangeListener[] getPropertyChangeListeners(String); + method public boolean hasListeners(String); + method public void removePropertyChangeListener(java.beans.PropertyChangeListener); + method public void removePropertyChangeListener(String, java.beans.PropertyChangeListener); + } + +} + +package java.io { + + public class BufferedInputStream extends java.io.FilterInputStream { + ctor public BufferedInputStream(java.io.InputStream); + ctor public BufferedInputStream(java.io.InputStream, int); + field protected volatile byte[] buf; + field protected int count; + field protected int marklimit; + field protected int markpos; + field protected int pos; + } + + public class BufferedOutputStream extends java.io.FilterOutputStream { + ctor public BufferedOutputStream(java.io.OutputStream); + ctor public BufferedOutputStream(java.io.OutputStream, int); + field protected byte[] buf; + field protected int count; + } + + public class BufferedReader extends java.io.Reader { + ctor public BufferedReader(java.io.Reader, int); + ctor public BufferedReader(java.io.Reader); + method public void close() throws java.io.IOException; + method public java.util.stream.Stream<java.lang.String> lines(); + method public int read(char[], int, int) throws java.io.IOException; + method public String readLine() throws java.io.IOException; + } + + public class BufferedWriter extends java.io.Writer { + ctor public BufferedWriter(java.io.Writer); + ctor public BufferedWriter(java.io.Writer, int); + method public void close() throws java.io.IOException; + method public void flush() throws java.io.IOException; + method public void newLine() throws java.io.IOException; + method public void write(char[], int, int) throws java.io.IOException; + } + + public class ByteArrayInputStream extends java.io.InputStream { + ctor public ByteArrayInputStream(byte[]); + ctor public ByteArrayInputStream(byte[], int, int); + method public int available(); + method public int read(); + method public int read(byte[], int, int); + method public byte[] readAllBytes(); + method public int readNBytes(byte[], int, int); + method public void reset(); + method public long skip(long); + field protected byte[] buf; + field protected int count; + field protected int mark; + field protected int pos; + } + + public class ByteArrayOutputStream extends java.io.OutputStream { + ctor public ByteArrayOutputStream(); + ctor public ByteArrayOutputStream(int); + method public void reset(); + method public int size(); + method @NonNull public byte[] toByteArray(); + method @NonNull public String toString(@NonNull String) throws java.io.UnsupportedEncodingException; + method @NonNull public String toString(@NonNull java.nio.charset.Charset); + method @Deprecated @NonNull public String toString(int); + method public void write(int); + method public void write(@NonNull byte[], int, int); + method public void writeBytes(byte[]); + method public void writeTo(@NonNull java.io.OutputStream) throws java.io.IOException; + field @NonNull protected byte[] buf; + field protected int count; + } + + public class CharArrayReader extends java.io.Reader { + ctor public CharArrayReader(char[]); + ctor public CharArrayReader(char[], int, int); + method public void close(); + method public int read(char[], int, int) throws java.io.IOException; + field protected char[] buf; + field protected int count; + field protected int markedPos; + field protected int pos; + } + + public class CharArrayWriter extends java.io.Writer { + ctor public CharArrayWriter(); + ctor public CharArrayWriter(int); + method public java.io.CharArrayWriter append(CharSequence); + method public java.io.CharArrayWriter append(CharSequence, int, int); + method public java.io.CharArrayWriter append(char); + method public void close(); + method public void flush(); + method public void reset(); + method public int size(); + method public char[] toCharArray(); + method public void write(int); + method public void write(char[], int, int); + method public void write(String, int, int); + method public void writeTo(java.io.Writer) throws java.io.IOException; + field protected char[] buf; + field protected int count; + } + + public class CharConversionException extends java.io.IOException { + ctor public CharConversionException(); + ctor public CharConversionException(String); + } + + public interface Closeable extends java.lang.AutoCloseable { + method public void close() throws java.io.IOException; + } + + public final class Console implements java.io.Flushable { + method public void flush(); + method public java.io.Console format(String, java.lang.Object...); + method public java.io.Console printf(String, java.lang.Object...); + method public String readLine(String, java.lang.Object...); + method public String readLine(); + method public char[] readPassword(String, java.lang.Object...); + method public char[] readPassword(); + method public java.io.Reader reader(); + method public java.io.PrintWriter writer(); + } + + public interface DataInput { + method public boolean readBoolean() throws java.io.IOException; + method public byte readByte() throws java.io.IOException; + method public char readChar() throws java.io.IOException; + method public double readDouble() throws java.io.IOException; + method public float readFloat() throws java.io.IOException; + method public void readFully(byte[]) throws java.io.IOException; + method public void readFully(byte[], int, int) throws java.io.IOException; + method public int readInt() throws java.io.IOException; + method public String readLine() throws java.io.IOException; + method public long readLong() throws java.io.IOException; + method public short readShort() throws java.io.IOException; + method public String readUTF() throws java.io.IOException; + method public int readUnsignedByte() throws java.io.IOException; + method public int readUnsignedShort() throws java.io.IOException; + method public int skipBytes(int) throws java.io.IOException; + } + + public class DataInputStream extends java.io.FilterInputStream implements java.io.DataInput { + ctor public DataInputStream(java.io.InputStream); + method public final int read(byte[]) throws java.io.IOException; + method public final int read(byte[], int, int) throws java.io.IOException; + method public final boolean readBoolean() throws java.io.IOException; + method public final byte readByte() throws java.io.IOException; + method public final char readChar() throws java.io.IOException; + method public final double readDouble() throws java.io.IOException; + method public final float readFloat() throws java.io.IOException; + method public final void readFully(byte[]) throws java.io.IOException; + method public final void readFully(byte[], int, int) throws java.io.IOException; + method public final int readInt() throws java.io.IOException; + method @Deprecated public final String readLine() throws java.io.IOException; + method public final long readLong() throws java.io.IOException; + method public final short readShort() throws java.io.IOException; + method public final String readUTF() throws java.io.IOException; + method public static final String readUTF(java.io.DataInput) throws java.io.IOException; + method public final int readUnsignedByte() throws java.io.IOException; + method public final int readUnsignedShort() throws java.io.IOException; + method public final int skipBytes(int) throws java.io.IOException; + } + + public interface DataOutput { + method public void write(int) throws java.io.IOException; + method public void write(byte[]) throws java.io.IOException; + method public void write(byte[], int, int) throws java.io.IOException; + method public void writeBoolean(boolean) throws java.io.IOException; + method public void writeByte(int) throws java.io.IOException; + method public void writeBytes(String) throws java.io.IOException; + method public void writeChar(int) throws java.io.IOException; + method public void writeChars(String) throws java.io.IOException; + method public void writeDouble(double) throws java.io.IOException; + method public void writeFloat(float) throws java.io.IOException; + method public void writeInt(int) throws java.io.IOException; + method public void writeLong(long) throws java.io.IOException; + method public void writeShort(int) throws java.io.IOException; + method public void writeUTF(String) throws java.io.IOException; + } + + public class DataOutputStream extends java.io.FilterOutputStream implements java.io.DataOutput { + ctor public DataOutputStream(java.io.OutputStream); + method public final int size(); + method public final void writeBoolean(boolean) throws java.io.IOException; + method public final void writeByte(int) throws java.io.IOException; + method public final void writeBytes(String) throws java.io.IOException; + method public final void writeChar(int) throws java.io.IOException; + method public final void writeChars(String) throws java.io.IOException; + method public final void writeDouble(double) throws java.io.IOException; + method public final void writeFloat(float) throws java.io.IOException; + method public final void writeInt(int) throws java.io.IOException; + method public final void writeLong(long) throws java.io.IOException; + method public final void writeShort(int) throws java.io.IOException; + method public final void writeUTF(String) throws java.io.IOException; + field protected int written; + } + + public class EOFException extends java.io.IOException { + ctor public EOFException(); + ctor public EOFException(String); + } + + public interface Externalizable extends java.io.Serializable { + method public void readExternal(java.io.ObjectInput) throws java.lang.ClassNotFoundException, java.io.IOException; + method public void writeExternal(java.io.ObjectOutput) throws java.io.IOException; + } + + public class File implements java.lang.Comparable<java.io.File> java.io.Serializable { + ctor public File(@NonNull String); + ctor public File(@Nullable String, @NonNull String); + ctor public File(@Nullable java.io.File, @NonNull String); + ctor public File(@NonNull java.net.URI); + method public boolean canExecute(); + method public boolean canRead(); + method public boolean canWrite(); + method public int compareTo(@NonNull java.io.File); + method public boolean createNewFile() throws java.io.IOException; + method @NonNull public static java.io.File createTempFile(@NonNull String, @Nullable String, @Nullable java.io.File) throws java.io.IOException; + method @NonNull public static java.io.File createTempFile(@NonNull String, @Nullable String) throws java.io.IOException; + method public boolean delete(); + method public void deleteOnExit(); + method public boolean exists(); + method @NonNull public java.io.File getAbsoluteFile(); + method @NonNull public String getAbsolutePath(); + method @NonNull public java.io.File getCanonicalFile() throws java.io.IOException; + method @NonNull public String getCanonicalPath() throws java.io.IOException; + method public long getFreeSpace(); + method @NonNull public String getName(); + method @Nullable public String getParent(); + method @Nullable public java.io.File getParentFile(); + method @NonNull public String getPath(); + method public long getTotalSpace(); + method public long getUsableSpace(); + method public boolean isAbsolute(); + method public boolean isDirectory(); + method public boolean isFile(); + method public boolean isHidden(); + method public long lastModified(); + method public long length(); + method @Nullable public String[] list(); + method @Nullable public String[] list(@Nullable java.io.FilenameFilter); + method @Nullable public java.io.File[] listFiles(); + method @Nullable public java.io.File[] listFiles(@Nullable java.io.FilenameFilter); + method @Nullable public java.io.File[] listFiles(@Nullable java.io.FileFilter); + method @NonNull public static java.io.File[] listRoots(); + method public boolean mkdir(); + method public boolean mkdirs(); + method public boolean renameTo(@NonNull java.io.File); + method public boolean setExecutable(boolean, boolean); + method public boolean setExecutable(boolean); + method public boolean setLastModified(long); + method public boolean setReadOnly(); + method public boolean setReadable(boolean, boolean); + method public boolean setReadable(boolean); + method public boolean setWritable(boolean, boolean); + method public boolean setWritable(boolean); + method @NonNull public java.nio.file.Path toPath(); + method @NonNull public java.net.URI toURI(); + method @Deprecated @NonNull public java.net.URL toURL() throws java.net.MalformedURLException; + field @NonNull public static final String pathSeparator; + field public static final char pathSeparatorChar; + field @NonNull public static final String separator; + field public static final char separatorChar; + } + + public final class FileDescriptor { + ctor public FileDescriptor(); + method public void sync() throws java.io.SyncFailedException; + method public boolean valid(); + field public static final java.io.FileDescriptor err; + field public static final java.io.FileDescriptor in; + field public static final java.io.FileDescriptor out; + } + + @java.lang.FunctionalInterface public interface FileFilter { + method public boolean accept(java.io.File); + } + + public class FileInputStream extends java.io.InputStream { + ctor public FileInputStream(String) throws java.io.FileNotFoundException; + ctor public FileInputStream(java.io.File) throws java.io.FileNotFoundException; + ctor public FileInputStream(java.io.FileDescriptor); + method protected void finalize() throws java.io.IOException; + method public java.nio.channels.FileChannel getChannel(); + method public final java.io.FileDescriptor getFD() throws java.io.IOException; + method public int read() throws java.io.IOException; + } + + public class FileNotFoundException extends java.io.IOException { + ctor public FileNotFoundException(); + ctor public FileNotFoundException(String); + } + + public class FileOutputStream extends java.io.OutputStream { + ctor public FileOutputStream(String) throws java.io.FileNotFoundException; + ctor public FileOutputStream(String, boolean) throws java.io.FileNotFoundException; + ctor public FileOutputStream(java.io.File) throws java.io.FileNotFoundException; + ctor public FileOutputStream(java.io.File, boolean) throws java.io.FileNotFoundException; + ctor public FileOutputStream(java.io.FileDescriptor); + method protected void finalize() throws java.io.IOException; + method public java.nio.channels.FileChannel getChannel(); + method public final java.io.FileDescriptor getFD() throws java.io.IOException; + method public void write(int) throws java.io.IOException; + } + + public final class FilePermission extends java.security.Permission implements java.io.Serializable { + ctor public FilePermission(String, String); + method public String getActions(); + method public boolean implies(java.security.Permission); + } + + public class FileReader extends java.io.InputStreamReader { + ctor public FileReader(String) throws java.io.FileNotFoundException; + ctor public FileReader(java.io.File) throws java.io.FileNotFoundException; + ctor public FileReader(java.io.FileDescriptor); + ctor public FileReader(String, java.nio.charset.Charset) throws java.io.IOException; + ctor public FileReader(java.io.File, java.nio.charset.Charset) throws java.io.IOException; + } + + public class FileWriter extends java.io.OutputStreamWriter { + ctor public FileWriter(String) throws java.io.IOException; + ctor public FileWriter(String, boolean) throws java.io.IOException; + ctor public FileWriter(java.io.File) throws java.io.IOException; + ctor public FileWriter(java.io.File, boolean) throws java.io.IOException; + ctor public FileWriter(java.io.FileDescriptor); + ctor public FileWriter(String, java.nio.charset.Charset) throws java.io.IOException; + ctor public FileWriter(String, java.nio.charset.Charset, boolean) throws java.io.IOException; + ctor public FileWriter(java.io.File, java.nio.charset.Charset) throws java.io.IOException; + ctor public FileWriter(java.io.File, java.nio.charset.Charset, boolean) throws java.io.IOException; + } + + @java.lang.FunctionalInterface public interface FilenameFilter { + method public boolean accept(java.io.File, String); + } + + public class FilterInputStream extends java.io.InputStream { + ctor protected FilterInputStream(java.io.InputStream); + method public int read() throws java.io.IOException; + field protected volatile java.io.InputStream in; + } + + public class FilterOutputStream extends java.io.OutputStream { + ctor public FilterOutputStream(java.io.OutputStream); + method public void write(int) throws java.io.IOException; + field protected java.io.OutputStream out; + } + + public abstract class FilterReader extends java.io.Reader { + ctor protected FilterReader(java.io.Reader); + method public void close() throws java.io.IOException; + method public int read(char[], int, int) throws java.io.IOException; + field protected java.io.Reader in; + } + + public abstract class FilterWriter extends java.io.Writer { + ctor protected FilterWriter(java.io.Writer); + method public void close() throws java.io.IOException; + method public void flush() throws java.io.IOException; + method public void write(char[], int, int) throws java.io.IOException; + field protected java.io.Writer out; + } + + public interface Flushable { + method public void flush() throws java.io.IOException; + } + + public class IOError extends java.lang.Error { + ctor public IOError(Throwable); + } + + public class IOException extends java.lang.Exception { + ctor public IOException(); + ctor public IOException(String); + ctor public IOException(String, Throwable); + ctor public IOException(Throwable); + } + + public abstract class InputStream implements java.io.Closeable { + ctor public InputStream(); + method public int available() throws java.io.IOException; + method public void close() throws java.io.IOException; + method public void mark(int); + method public boolean markSupported(); + method public static java.io.InputStream nullInputStream(); + method public abstract int read() throws java.io.IOException; + method public int read(byte[]) throws java.io.IOException; + method public int read(byte[], int, int) throws java.io.IOException; + method public byte[] readAllBytes() throws java.io.IOException; + method public byte[] readNBytes(int) throws java.io.IOException; + method public int readNBytes(byte[], int, int) throws java.io.IOException; + method public void reset() throws java.io.IOException; + method public long skip(long) throws java.io.IOException; + method public long transferTo(java.io.OutputStream) throws java.io.IOException; + } + + public class InputStreamReader extends java.io.Reader { + ctor public InputStreamReader(java.io.InputStream); + ctor public InputStreamReader(java.io.InputStream, String) throws java.io.UnsupportedEncodingException; + ctor public InputStreamReader(java.io.InputStream, java.nio.charset.Charset); + ctor public InputStreamReader(java.io.InputStream, java.nio.charset.CharsetDecoder); + method public void close() throws java.io.IOException; + method public String getEncoding(); + method public int read(char[], int, int) throws java.io.IOException; + } + + public class InterruptedIOException extends java.io.IOException { + ctor public InterruptedIOException(); + ctor public InterruptedIOException(String); + field public int bytesTransferred; + } + + public class InvalidClassException extends java.io.ObjectStreamException { + ctor public InvalidClassException(String); + ctor public InvalidClassException(String, String); + field public String classname; + } + + public class InvalidObjectException extends java.io.ObjectStreamException { + ctor public InvalidObjectException(String); + } + + @Deprecated public class LineNumberInputStream extends java.io.FilterInputStream { + ctor @Deprecated public LineNumberInputStream(java.io.InputStream); + method @Deprecated public int getLineNumber(); + method @Deprecated public void setLineNumber(int); + } + + public class LineNumberReader extends java.io.BufferedReader { + ctor public LineNumberReader(java.io.Reader); + ctor public LineNumberReader(java.io.Reader, int); + method public int getLineNumber(); + method public void setLineNumber(int); + } + + public class NotActiveException extends java.io.ObjectStreamException { + ctor public NotActiveException(String); + ctor public NotActiveException(); + } + + public class NotSerializableException extends java.io.ObjectStreamException { + ctor public NotSerializableException(String); + ctor public NotSerializableException(); + } + + public interface ObjectInput extends java.io.DataInput java.lang.AutoCloseable { + method public int available() throws java.io.IOException; + method public void close() throws java.io.IOException; + method public int read() throws java.io.IOException; + method public int read(byte[]) throws java.io.IOException; + method public int read(byte[], int, int) throws java.io.IOException; + method public Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException; + method public long skip(long) throws java.io.IOException; + } + + public class ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput java.io.ObjectStreamConstants { + ctor public ObjectInputStream(java.io.InputStream) throws java.io.IOException; + ctor protected ObjectInputStream() throws java.io.IOException, java.lang.SecurityException; + method public void defaultReadObject() throws java.lang.ClassNotFoundException, java.io.IOException; + method protected boolean enableResolveObject(boolean) throws java.lang.SecurityException; + method public int read() throws java.io.IOException; + method public boolean readBoolean() throws java.io.IOException; + method public byte readByte() throws java.io.IOException; + method public char readChar() throws java.io.IOException; + method protected java.io.ObjectStreamClass readClassDescriptor() throws java.lang.ClassNotFoundException, java.io.IOException; + method public double readDouble() throws java.io.IOException; + method public java.io.ObjectInputStream.GetField readFields() throws java.lang.ClassNotFoundException, java.io.IOException; + method public float readFloat() throws java.io.IOException; + method public void readFully(byte[]) throws java.io.IOException; + method public void readFully(byte[], int, int) throws java.io.IOException; + method public int readInt() throws java.io.IOException; + method @Deprecated public String readLine() throws java.io.IOException; + method public long readLong() throws java.io.IOException; + method public final Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException; + method protected Object readObjectOverride() throws java.lang.ClassNotFoundException, java.io.IOException; + method public short readShort() throws java.io.IOException; + method protected void readStreamHeader() throws java.io.IOException, java.io.StreamCorruptedException; + method public String readUTF() throws java.io.IOException; + method public Object readUnshared() throws java.lang.ClassNotFoundException, java.io.IOException; + method public int readUnsignedByte() throws java.io.IOException; + method public int readUnsignedShort() throws java.io.IOException; + method public void registerValidation(java.io.ObjectInputValidation, int) throws java.io.InvalidObjectException, java.io.NotActiveException; + method protected Class<?> resolveClass(java.io.ObjectStreamClass) throws java.lang.ClassNotFoundException, java.io.IOException; + method protected Object resolveObject(Object) throws java.io.IOException; + method protected Class<?> resolveProxyClass(String[]) throws java.lang.ClassNotFoundException, java.io.IOException; + method public int skipBytes(int) throws java.io.IOException; + } + + public abstract static class ObjectInputStream.GetField { + ctor public ObjectInputStream.GetField(); + method public abstract boolean defaulted(String) throws java.io.IOException; + method public abstract boolean get(String, boolean) throws java.io.IOException; + method public abstract byte get(String, byte) throws java.io.IOException; + method public abstract char get(String, char) throws java.io.IOException; + method public abstract short get(String, short) throws java.io.IOException; + method public abstract int get(String, int) throws java.io.IOException; + method public abstract long get(String, long) throws java.io.IOException; + method public abstract float get(String, float) throws java.io.IOException; + method public abstract double get(String, double) throws java.io.IOException; + method public abstract Object get(String, Object) throws java.io.IOException; + method public abstract java.io.ObjectStreamClass getObjectStreamClass(); + } + + public interface ObjectInputValidation { + method public void validateObject() throws java.io.InvalidObjectException; + } + + public interface ObjectOutput extends java.io.DataOutput java.lang.AutoCloseable { + method public void close() throws java.io.IOException; + method public void flush() throws java.io.IOException; + method public void writeObject(Object) throws java.io.IOException; + } + + public class ObjectOutputStream extends java.io.OutputStream implements java.io.ObjectOutput java.io.ObjectStreamConstants { + ctor public ObjectOutputStream(java.io.OutputStream) throws java.io.IOException; + ctor protected ObjectOutputStream() throws java.io.IOException, java.lang.SecurityException; + method protected void annotateClass(Class<?>) throws java.io.IOException; + method protected void annotateProxyClass(Class<?>) throws java.io.IOException; + method public void defaultWriteObject() throws java.io.IOException; + method protected void drain() throws java.io.IOException; + method protected boolean enableReplaceObject(boolean) throws java.lang.SecurityException; + method public java.io.ObjectOutputStream.PutField putFields() throws java.io.IOException; + method protected Object replaceObject(Object) throws java.io.IOException; + method public void reset() throws java.io.IOException; + method public void useProtocolVersion(int) throws java.io.IOException; + method public void write(int) throws java.io.IOException; + method public void writeBoolean(boolean) throws java.io.IOException; + method public void writeByte(int) throws java.io.IOException; + method public void writeBytes(String) throws java.io.IOException; + method public void writeChar(int) throws java.io.IOException; + method public void writeChars(String) throws java.io.IOException; + method protected void writeClassDescriptor(java.io.ObjectStreamClass) throws java.io.IOException; + method public void writeDouble(double) throws java.io.IOException; + method public void writeFields() throws java.io.IOException; + method public void writeFloat(float) throws java.io.IOException; + method public void writeInt(int) throws java.io.IOException; + method public void writeLong(long) throws java.io.IOException; + method public final void writeObject(Object) throws java.io.IOException; + method protected void writeObjectOverride(Object) throws java.io.IOException; + method public void writeShort(int) throws java.io.IOException; + method protected void writeStreamHeader() throws java.io.IOException; + method public void writeUTF(String) throws java.io.IOException; + method public void writeUnshared(Object) throws java.io.IOException; + } + + public abstract static class ObjectOutputStream.PutField { + ctor public ObjectOutputStream.PutField(); + method public abstract void put(String, boolean); + method public abstract void put(String, byte); + method public abstract void put(String, char); + method public abstract void put(String, short); + method public abstract void put(String, int); + method public abstract void put(String, long); + method public abstract void put(String, float); + method public abstract void put(String, double); + method public abstract void put(String, Object); + method @Deprecated public abstract void write(java.io.ObjectOutput) throws java.io.IOException; + } + + public class ObjectStreamClass implements java.io.Serializable { + method public Class<?> forClass(); + method public java.io.ObjectStreamField getField(String); + method public java.io.ObjectStreamField[] getFields(); + method public String getName(); + method public long getSerialVersionUID(); + method public static java.io.ObjectStreamClass lookup(Class<?>); + method public static java.io.ObjectStreamClass lookupAny(Class<?>); + field public static final java.io.ObjectStreamField[] NO_FIELDS; + } + + public interface ObjectStreamConstants { + field public static final int PROTOCOL_VERSION_1 = 1; // 0x1 + field public static final int PROTOCOL_VERSION_2 = 2; // 0x2 + field public static final byte SC_BLOCK_DATA = 8; // 0x8 + field public static final byte SC_ENUM = 16; // 0x10 + field public static final byte SC_EXTERNALIZABLE = 4; // 0x4 + field public static final byte SC_SERIALIZABLE = 2; // 0x2 + field public static final byte SC_WRITE_METHOD = 1; // 0x1 + field public static final short STREAM_MAGIC = -21267; // 0xffffaced + field public static final short STREAM_VERSION = 5; // 0x5 + field public static final java.io.SerializablePermission SUBCLASS_IMPLEMENTATION_PERMISSION; + field public static final java.io.SerializablePermission SUBSTITUTION_PERMISSION; + field public static final byte TC_ARRAY = 117; // 0x75 + field public static final byte TC_BASE = 112; // 0x70 + field public static final byte TC_BLOCKDATA = 119; // 0x77 + field public static final byte TC_BLOCKDATALONG = 122; // 0x7a + field public static final byte TC_CLASS = 118; // 0x76 + field public static final byte TC_CLASSDESC = 114; // 0x72 + field public static final byte TC_ENDBLOCKDATA = 120; // 0x78 + field public static final byte TC_ENUM = 126; // 0x7e + field public static final byte TC_EXCEPTION = 123; // 0x7b + field public static final byte TC_LONGSTRING = 124; // 0x7c + field public static final byte TC_MAX = 126; // 0x7e + field public static final byte TC_NULL = 112; // 0x70 + field public static final byte TC_OBJECT = 115; // 0x73 + field public static final byte TC_PROXYCLASSDESC = 125; // 0x7d + field public static final byte TC_REFERENCE = 113; // 0x71 + field public static final byte TC_RESET = 121; // 0x79 + field public static final byte TC_STRING = 116; // 0x74 + field public static final int baseWireHandle = 8257536; // 0x7e0000 + } + + public abstract class ObjectStreamException extends java.io.IOException { + ctor protected ObjectStreamException(String); + ctor protected ObjectStreamException(); + } + + public class ObjectStreamField implements java.lang.Comparable<java.lang.Object> { + ctor public ObjectStreamField(String, Class<?>); + ctor public ObjectStreamField(String, Class<?>, boolean); + method public int compareTo(Object); + method public String getName(); + method public int getOffset(); + method public Class<?> getType(); + method public char getTypeCode(); + method public String getTypeString(); + method public boolean isPrimitive(); + method public boolean isUnshared(); + method protected void setOffset(int); + } + + public class OptionalDataException extends java.io.ObjectStreamException { + field public boolean eof; + field public int length; + } + + public abstract class OutputStream implements java.io.Closeable java.io.Flushable { + ctor public OutputStream(); + method public void close() throws java.io.IOException; + method public void flush() throws java.io.IOException; + method public static java.io.OutputStream nullOutputStream(); + method public abstract void write(int) throws java.io.IOException; + method public void write(byte[]) throws java.io.IOException; + method public void write(byte[], int, int) throws java.io.IOException; + } + + public class OutputStreamWriter extends java.io.Writer { + ctor public OutputStreamWriter(java.io.OutputStream, String) throws java.io.UnsupportedEncodingException; + ctor public OutputStreamWriter(java.io.OutputStream); + ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.Charset); + ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.CharsetEncoder); + method public void close() throws java.io.IOException; + method public void flush() throws java.io.IOException; + method public String getEncoding(); + method public void write(char[], int, int) throws java.io.IOException; + } + + public class PipedInputStream extends java.io.InputStream { + ctor public PipedInputStream(java.io.PipedOutputStream) throws java.io.IOException; + ctor public PipedInputStream(java.io.PipedOutputStream, int) throws java.io.IOException; + ctor public PipedInputStream(); + ctor public PipedInputStream(int); + method public void connect(java.io.PipedOutputStream) throws java.io.IOException; + method public int read() throws java.io.IOException; + method protected void receive(int) throws java.io.IOException; + field protected static final int PIPE_SIZE = 1024; // 0x400 + field protected byte[] buffer; + field protected int in; + field protected int out; + } + + public class PipedOutputStream extends java.io.OutputStream { + ctor public PipedOutputStream(java.io.PipedInputStream) throws java.io.IOException; + ctor public PipedOutputStream(); + method public void connect(java.io.PipedInputStream) throws java.io.IOException; + method public void write(int) throws java.io.IOException; + } + + public class PipedReader extends java.io.Reader { + ctor public PipedReader(java.io.PipedWriter) throws java.io.IOException; + ctor public PipedReader(java.io.PipedWriter, int) throws java.io.IOException; + ctor public PipedReader(); + ctor public PipedReader(int); + method public void close() throws java.io.IOException; + method public void connect(java.io.PipedWriter) throws java.io.IOException; + method public int read(char[], int, int) throws java.io.IOException; + } + + public class PipedWriter extends java.io.Writer { + ctor public PipedWriter(java.io.PipedReader) throws java.io.IOException; + ctor public PipedWriter(); + method public void close() throws java.io.IOException; + method public void connect(java.io.PipedReader) throws java.io.IOException; + method public void flush() throws java.io.IOException; + method public void write(char[], int, int) throws java.io.IOException; + } + + public class PrintStream extends java.io.FilterOutputStream implements java.lang.Appendable java.io.Closeable { + ctor public PrintStream(java.io.OutputStream); + ctor public PrintStream(java.io.OutputStream, boolean); + ctor public PrintStream(java.io.OutputStream, boolean, String) throws java.io.UnsupportedEncodingException; + ctor public PrintStream(java.io.OutputStream, boolean, java.nio.charset.Charset); + ctor public PrintStream(String) throws java.io.FileNotFoundException; + ctor public PrintStream(String, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public PrintStream(String, java.nio.charset.Charset) throws java.io.IOException; + ctor public PrintStream(java.io.File) throws java.io.FileNotFoundException; + ctor public PrintStream(java.io.File, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public PrintStream(java.io.File, java.nio.charset.Charset) throws java.io.IOException; + method public java.io.PrintStream append(CharSequence); + method public java.io.PrintStream append(CharSequence, int, int); + method public java.io.PrintStream append(char); + method public boolean checkError(); + method protected void clearError(); + method public void close(); + method public void flush(); + method public java.io.PrintStream format(String, java.lang.Object...); + method public java.io.PrintStream format(java.util.Locale, String, java.lang.Object...); + method public void print(boolean); + method public void print(char); + method public void print(int); + method public void print(long); + method public void print(float); + method public void print(double); + method public void print(char[]); + method public void print(String); + method public void print(Object); + method public java.io.PrintStream printf(String, java.lang.Object...); + method public java.io.PrintStream printf(java.util.Locale, String, java.lang.Object...); + method public void println(); + method public void println(boolean); + method public void println(char); + method public void println(int); + method public void println(long); + method public void println(float); + method public void println(double); + method public void println(char[]); + method public void println(String); + method public void println(Object); + method protected void setError(); + method public void write(int); + method public void write(byte[], int, int); + } + + public class PrintWriter extends java.io.Writer { + ctor public PrintWriter(@NonNull java.io.Writer); + ctor public PrintWriter(@NonNull java.io.Writer, boolean); + ctor public PrintWriter(@NonNull java.io.OutputStream); + ctor public PrintWriter(@NonNull java.io.OutputStream, boolean); + ctor public PrintWriter(@NonNull java.io.OutputStream, boolean, @NonNull java.nio.charset.Charset); + ctor public PrintWriter(@NonNull String) throws java.io.FileNotFoundException; + ctor public PrintWriter(@NonNull String, @NonNull String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public PrintWriter(@NonNull String, @NonNull java.nio.charset.Charset) throws java.io.IOException; + ctor public PrintWriter(@NonNull java.io.File) throws java.io.FileNotFoundException; + ctor public PrintWriter(@NonNull java.io.File, @NonNull String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public PrintWriter(@NonNull java.io.File, @NonNull java.nio.charset.Charset) throws java.io.IOException; + method @NonNull public java.io.PrintWriter append(@Nullable CharSequence); + method @NonNull public java.io.PrintWriter append(@Nullable CharSequence, int, int); + method @NonNull public java.io.PrintWriter append(char); + method public boolean checkError(); + method protected void clearError(); + method public void close(); + method public void flush(); + method @NonNull public java.io.PrintWriter format(@NonNull String, @NonNull java.lang.Object...); + method @NonNull public java.io.PrintWriter format(@Nullable java.util.Locale, @NonNull String, @NonNull java.lang.Object...); + method public void print(boolean); + method public void print(char); + method public void print(int); + method public void print(long); + method public void print(float); + method public void print(double); + method public void print(char[]); + method public void print(@Nullable String); + method public void print(@Nullable Object); + method @NonNull public java.io.PrintWriter printf(@NonNull String, @NonNull java.lang.Object...); + method @NonNull public java.io.PrintWriter printf(@Nullable java.util.Locale, @NonNull String, @NonNull java.lang.Object...); + method public void println(); + method public void println(boolean); + method public void println(char); + method public void println(int); + method public void println(long); + method public void println(float); + method public void println(double); + method public void println(char[]); + method public void println(@Nullable String); + method public void println(@Nullable Object); + method protected void setError(); + method public void write(int); + method public void write(char[], int, int); + method public void write(char[]); + method public void write(@NonNull String, int, int); + method public void write(@NonNull String); + field protected java.io.Writer out; + } + + public class PushbackInputStream extends java.io.FilterInputStream { + ctor public PushbackInputStream(java.io.InputStream, int); + ctor public PushbackInputStream(java.io.InputStream); + method public void unread(int) throws java.io.IOException; + method public void unread(byte[], int, int) throws java.io.IOException; + method public void unread(byte[]) throws java.io.IOException; + field protected byte[] buf; + field protected int pos; + } + + public class PushbackReader extends java.io.FilterReader { + ctor public PushbackReader(java.io.Reader, int); + ctor public PushbackReader(java.io.Reader); + method public void unread(int) throws java.io.IOException; + method public void unread(char[], int, int) throws java.io.IOException; + method public void unread(char[]) throws java.io.IOException; + } + + public class RandomAccessFile implements java.io.Closeable java.io.DataInput java.io.DataOutput { + ctor public RandomAccessFile(String, String) throws java.io.FileNotFoundException; + ctor public RandomAccessFile(java.io.File, String) throws java.io.FileNotFoundException; + method public void close() throws java.io.IOException; + method public final java.nio.channels.FileChannel getChannel(); + method public final java.io.FileDescriptor getFD() throws java.io.IOException; + method public long getFilePointer() throws java.io.IOException; + method public long length() throws java.io.IOException; + method public int read() throws java.io.IOException; + method public int read(byte[], int, int) throws java.io.IOException; + method public int read(byte[]) throws java.io.IOException; + method public final boolean readBoolean() throws java.io.IOException; + method public final byte readByte() throws java.io.IOException; + method public final char readChar() throws java.io.IOException; + method public final double readDouble() throws java.io.IOException; + method public final float readFloat() throws java.io.IOException; + method public final void readFully(byte[]) throws java.io.IOException; + method public final void readFully(byte[], int, int) throws java.io.IOException; + method public final int readInt() throws java.io.IOException; + method public final String readLine() throws java.io.IOException; + method public final long readLong() throws java.io.IOException; + method public final short readShort() throws java.io.IOException; + method public final String readUTF() throws java.io.IOException; + method public final int readUnsignedByte() throws java.io.IOException; + method public final int readUnsignedShort() throws java.io.IOException; + method public void seek(long) throws java.io.IOException; + method public void setLength(long) throws java.io.IOException; + method public int skipBytes(int) throws java.io.IOException; + method public void write(int) throws java.io.IOException; + method public void write(byte[]) throws java.io.IOException; + method public void write(byte[], int, int) throws java.io.IOException; + method public final void writeBoolean(boolean) throws java.io.IOException; + method public final void writeByte(int) throws java.io.IOException; + method public final void writeBytes(String) throws java.io.IOException; + method public final void writeChar(int) throws java.io.IOException; + method public final void writeChars(String) throws java.io.IOException; + method public final void writeDouble(double) throws java.io.IOException; + method public final void writeFloat(float) throws java.io.IOException; + method public final void writeInt(int) throws java.io.IOException; + method public final void writeLong(long) throws java.io.IOException; + method public final void writeShort(int) throws java.io.IOException; + method public final void writeUTF(String) throws java.io.IOException; + } + + public abstract class Reader implements java.io.Closeable java.lang.Readable { + ctor protected Reader(); + ctor protected Reader(Object); + method public void mark(int) throws java.io.IOException; + method public boolean markSupported(); + method public static java.io.Reader nullReader(); + method public int read(java.nio.CharBuffer) throws java.io.IOException; + method public int read() throws java.io.IOException; + method public int read(char[]) throws java.io.IOException; + method public abstract int read(char[], int, int) throws java.io.IOException; + method public boolean ready() throws java.io.IOException; + method public void reset() throws java.io.IOException; + method public long skip(long) throws java.io.IOException; + method public long transferTo(java.io.Writer) throws java.io.IOException; + field protected Object lock; + } + + public class SequenceInputStream extends java.io.InputStream { + ctor public SequenceInputStream(java.util.Enumeration<? extends java.io.InputStream>); + ctor public SequenceInputStream(java.io.InputStream, java.io.InputStream); + method public int read() throws java.io.IOException; + } + + public interface Serializable { + } + + public final class SerializablePermission extends java.security.BasicPermission { + ctor public SerializablePermission(String); + ctor public SerializablePermission(String, String); + } + + public class StreamCorruptedException extends java.io.ObjectStreamException { + ctor public StreamCorruptedException(String); + ctor public StreamCorruptedException(); + } + + public class StreamTokenizer { + ctor @Deprecated public StreamTokenizer(java.io.InputStream); + ctor public StreamTokenizer(java.io.Reader); + method public void commentChar(int); + method public void eolIsSignificant(boolean); + method public int lineno(); + method public void lowerCaseMode(boolean); + method public int nextToken() throws java.io.IOException; + method public void ordinaryChar(int); + method public void ordinaryChars(int, int); + method public void parseNumbers(); + method public void pushBack(); + method public void quoteChar(int); + method public void resetSyntax(); + method public void slashSlashComments(boolean); + method public void slashStarComments(boolean); + method public void whitespaceChars(int, int); + method public void wordChars(int, int); + field public static final int TT_EOF = -1; // 0xffffffff + field public static final int TT_EOL = 10; // 0xa + field public static final int TT_NUMBER = -2; // 0xfffffffe + field public static final int TT_WORD = -3; // 0xfffffffd + field public double nval; + field public String sval; + field public int ttype; + } + + @Deprecated public class StringBufferInputStream extends java.io.InputStream { + ctor @Deprecated public StringBufferInputStream(String); + method @Deprecated public int available(); + method @Deprecated public int read(); + method @Deprecated public int read(byte[], int, int); + method @Deprecated public void reset(); + method @Deprecated public long skip(long); + field @Deprecated protected String buffer; + field @Deprecated protected int count; + field @Deprecated protected int pos; + } + + public class StringReader extends java.io.Reader { + ctor public StringReader(String); + method public void close(); + method public int read(char[], int, int) throws java.io.IOException; + } + + public class StringWriter extends java.io.Writer { + ctor public StringWriter(); + ctor public StringWriter(int); + method public java.io.StringWriter append(CharSequence); + method public java.io.StringWriter append(CharSequence, int, int); + method public java.io.StringWriter append(char); + method public void close() throws java.io.IOException; + method public void flush(); + method public StringBuffer getBuffer(); + method public void write(int); + method public void write(char[], int, int); + method public void write(String); + method public void write(String, int, int); + } + + public class SyncFailedException extends java.io.IOException { + ctor public SyncFailedException(String); + } + + public class UTFDataFormatException extends java.io.IOException { + ctor public UTFDataFormatException(); + ctor public UTFDataFormatException(String); + } + + public class UncheckedIOException extends java.lang.RuntimeException { + ctor public UncheckedIOException(String, java.io.IOException); + ctor public UncheckedIOException(java.io.IOException); + method public java.io.IOException getCause(); + } + + public class UnsupportedEncodingException extends java.io.IOException { + ctor public UnsupportedEncodingException(); + ctor public UnsupportedEncodingException(String); + } + + public class WriteAbortedException extends java.io.ObjectStreamException { + ctor public WriteAbortedException(String, Exception); + field public Exception detail; + } + + public abstract class Writer implements java.lang.Appendable java.io.Closeable java.io.Flushable { + ctor protected Writer(); + ctor protected Writer(Object); + method public java.io.Writer append(CharSequence) throws java.io.IOException; + method public java.io.Writer append(CharSequence, int, int) throws java.io.IOException; + method public java.io.Writer append(char) throws java.io.IOException; + method public static java.io.Writer nullWriter(); + method public void write(int) throws java.io.IOException; + method public void write(char[]) throws java.io.IOException; + method public abstract void write(char[], int, int) throws java.io.IOException; + method public void write(String) throws java.io.IOException; + method public void write(String, int, int) throws java.io.IOException; + field protected Object lock; + } + +} + +package java.lang { + + public class AbstractMethodError extends java.lang.IncompatibleClassChangeError { + ctor public AbstractMethodError(); + ctor public AbstractMethodError(String); + } + + public interface Appendable { + method @NonNull public Appendable append(@Nullable CharSequence) throws java.io.IOException; + method @NonNull public Appendable append(@Nullable CharSequence, int, int) throws java.io.IOException; + method @NonNull public Appendable append(char) throws java.io.IOException; + } + + public class ArithmeticException extends java.lang.RuntimeException { + ctor public ArithmeticException(); + ctor public ArithmeticException(String); + } + + public class ArrayIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException { + ctor public ArrayIndexOutOfBoundsException(); + ctor public ArrayIndexOutOfBoundsException(String); + ctor public ArrayIndexOutOfBoundsException(int); + } + + public class ArrayStoreException extends java.lang.RuntimeException { + ctor public ArrayStoreException(); + ctor public ArrayStoreException(String); + } + + public class AssertionError extends java.lang.Error { + ctor public AssertionError(); + ctor public AssertionError(Object); + ctor public AssertionError(boolean); + ctor public AssertionError(char); + ctor public AssertionError(int); + ctor public AssertionError(long); + ctor public AssertionError(float); + ctor public AssertionError(double); + ctor public AssertionError(String, Throwable); + } + + public interface AutoCloseable { + method public void close() throws java.lang.Exception; + } + + public final class Boolean implements java.lang.Comparable<java.lang.Boolean> java.io.Serializable { + ctor @Deprecated public Boolean(boolean); + ctor @Deprecated public Boolean(@Nullable String); + method public boolean booleanValue(); + method public static int compare(boolean, boolean); + method public int compareTo(@NonNull Boolean); + method public static boolean getBoolean(@NonNull String); + method public static int hashCode(boolean); + method public static boolean logicalAnd(boolean, boolean); + method public static boolean logicalOr(boolean, boolean); + method public static boolean logicalXor(boolean, boolean); + method public static boolean parseBoolean(@Nullable String); + method @NonNull public static String toString(boolean); + method @NonNull public static Boolean valueOf(boolean); + method @NonNull public static Boolean valueOf(@Nullable String); + field public static final Boolean FALSE; + field public static final Boolean TRUE; + field public static final Class<java.lang.Boolean> TYPE; + } + + public class BootstrapMethodError extends java.lang.LinkageError { + ctor public BootstrapMethodError(); + ctor public BootstrapMethodError(String); + ctor public BootstrapMethodError(String, Throwable); + ctor public BootstrapMethodError(Throwable); + } + + public final class Byte extends java.lang.Number implements java.lang.Comparable<java.lang.Byte> { + ctor @Deprecated public Byte(byte); + ctor @Deprecated public Byte(@NonNull String) throws java.lang.NumberFormatException; + method public static int compare(byte, byte); + method public int compareTo(@NonNull Byte); + method public static int compareUnsigned(byte, byte); + method @NonNull public static Byte decode(@NonNull String) throws java.lang.NumberFormatException; + method public double doubleValue(); + method public float floatValue(); + method public static int hashCode(byte); + method public int intValue(); + method public long longValue(); + method public static byte parseByte(@NonNull String, int) throws java.lang.NumberFormatException; + method public static byte parseByte(@NonNull String) throws java.lang.NumberFormatException; + method @NonNull public static String toString(byte); + method public static int toUnsignedInt(byte); + method public static long toUnsignedLong(byte); + method @NonNull public static Byte valueOf(byte); + method @NonNull public static Byte valueOf(@NonNull String, int) throws java.lang.NumberFormatException; + method @NonNull public static Byte valueOf(@NonNull String) throws java.lang.NumberFormatException; + field public static final int BYTES = 1; // 0x1 + field public static final byte MAX_VALUE = 127; // 0x7f + field public static final byte MIN_VALUE = -128; // 0xffffff80 + field public static final int SIZE = 8; // 0x8 + field public static final Class<java.lang.Byte> TYPE; + } + + public interface CharSequence { + method public char charAt(int); + method @NonNull public default java.util.stream.IntStream chars(); + method @NonNull public default java.util.stream.IntStream codePoints(); + method public int length(); + method @NonNull public CharSequence subSequence(int, int); + method @NonNull public String toString(); + } + + public final class Character implements java.lang.Comparable<java.lang.Character> java.io.Serializable { + ctor public Character(char); + method public static int charCount(int); + method public char charValue(); + method public static int codePointAt(@NonNull CharSequence, int); + method public static int codePointAt(char[], int); + method public static int codePointAt(char[], int, int); + method public static int codePointBefore(@NonNull CharSequence, int); + method public static int codePointBefore(char[], int); + method public static int codePointBefore(char[], int, int); + method public static int codePointCount(@NonNull CharSequence, int, int); + method public static int codePointCount(char[], int, int); + method public static int compare(char, char); + method public int compareTo(@NonNull Character); + method public static int digit(char, int); + method public static int digit(int, int); + method public static char forDigit(int, int); + method public static byte getDirectionality(char); + method public static byte getDirectionality(int); + method @Nullable public static String getName(int); + method public static int getNumericValue(char); + method public static int getNumericValue(int); + method public static int getType(char); + method public static int getType(int); + method public static int hashCode(char); + method public static char highSurrogate(int); + method public static boolean isAlphabetic(int); + method public static boolean isBmpCodePoint(int); + method public static boolean isDefined(char); + method public static boolean isDefined(int); + method public static boolean isDigit(char); + method public static boolean isDigit(int); + method public static boolean isHighSurrogate(char); + method public static boolean isISOControl(char); + method public static boolean isISOControl(int); + method public static boolean isIdentifierIgnorable(char); + method public static boolean isIdentifierIgnorable(int); + method public static boolean isIdeographic(int); + method public static boolean isJavaIdentifierPart(char); + method public static boolean isJavaIdentifierPart(int); + method public static boolean isJavaIdentifierStart(char); + method public static boolean isJavaIdentifierStart(int); + method @Deprecated public static boolean isJavaLetter(char); + method @Deprecated public static boolean isJavaLetterOrDigit(char); + method public static boolean isLetter(char); + method public static boolean isLetter(int); + method public static boolean isLetterOrDigit(char); + method public static boolean isLetterOrDigit(int); + method public static boolean isLowSurrogate(char); + method public static boolean isLowerCase(char); + method public static boolean isLowerCase(int); + method public static boolean isMirrored(char); + method public static boolean isMirrored(int); + method @Deprecated public static boolean isSpace(char); + method public static boolean isSpaceChar(char); + method public static boolean isSpaceChar(int); + method public static boolean isSupplementaryCodePoint(int); + method public static boolean isSurrogate(char); + method public static boolean isSurrogatePair(char, char); + method public static boolean isTitleCase(char); + method public static boolean isTitleCase(int); + method public static boolean isUnicodeIdentifierPart(char); + method public static boolean isUnicodeIdentifierPart(int); + method public static boolean isUnicodeIdentifierStart(char); + method public static boolean isUnicodeIdentifierStart(int); + method public static boolean isUpperCase(char); + method public static boolean isUpperCase(int); + method public static boolean isValidCodePoint(int); + method public static boolean isWhitespace(char); + method public static boolean isWhitespace(int); + method public static char lowSurrogate(int); + method public static int offsetByCodePoints(@NonNull CharSequence, int, int); + method public static int offsetByCodePoints(char[], int, int, int, int); + method public static char reverseBytes(char); + method public static int toChars(int, char[], int); + method public static char[] toChars(int); + method public static int toCodePoint(char, char); + method public static char toLowerCase(char); + method public static int toLowerCase(int); + method @NonNull public static String toString(char); + method public static char toTitleCase(char); + method public static int toTitleCase(int); + method public static char toUpperCase(char); + method public static int toUpperCase(int); + method @NonNull public static Character valueOf(char); + field public static final int BYTES = 2; // 0x2 + field public static final byte COMBINING_SPACING_MARK = 8; // 0x8 + field public static final byte CONNECTOR_PUNCTUATION = 23; // 0x17 + field public static final byte CONTROL = 15; // 0xf + field public static final byte CURRENCY_SYMBOL = 26; // 0x1a + field public static final byte DASH_PUNCTUATION = 20; // 0x14 + field public static final byte DECIMAL_DIGIT_NUMBER = 9; // 0x9 + field public static final byte DIRECTIONALITY_ARABIC_NUMBER = 6; // 0x6 + field public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9; // 0x9 + field public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7; // 0x7 + field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 3; // 0x3 + field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4; // 0x4 + field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5; // 0x5 + field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; // 0x0 + field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14; // 0xe + field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15; // 0xf + field public static final byte DIRECTIONALITY_NONSPACING_MARK = 8; // 0x8 + field public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 13; // 0xd + field public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10; // 0xa + field public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18; // 0x12 + field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; // 0x1 + field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2; // 0x2 + field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16; // 0x10 + field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17; // 0x11 + field public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11; // 0xb + field public static final byte DIRECTIONALITY_UNDEFINED = -1; // 0xffffffff + field public static final byte DIRECTIONALITY_WHITESPACE = 12; // 0xc + field public static final byte ENCLOSING_MARK = 7; // 0x7 + field public static final byte END_PUNCTUATION = 22; // 0x16 + field public static final byte FINAL_QUOTE_PUNCTUATION = 30; // 0x1e + field public static final byte FORMAT = 16; // 0x10 + field public static final byte INITIAL_QUOTE_PUNCTUATION = 29; // 0x1d + field public static final byte LETTER_NUMBER = 10; // 0xa + field public static final byte LINE_SEPARATOR = 13; // 0xd + field public static final byte LOWERCASE_LETTER = 2; // 0x2 + field public static final byte MATH_SYMBOL = 25; // 0x19 + field public static final int MAX_CODE_POINT = 1114111; // 0x10ffff + field public static final char MAX_HIGH_SURROGATE = 56319; // 0xdbff '\udbff' + field public static final char MAX_LOW_SURROGATE = 57343; // 0xdfff '\udfff' + field public static final int MAX_RADIX = 36; // 0x24 + field public static final char MAX_SURROGATE = 57343; // 0xdfff '\udfff' + field public static final char MAX_VALUE = 65535; // 0xffff '\uffff' + field public static final int MIN_CODE_POINT = 0; // 0x0 + field public static final char MIN_HIGH_SURROGATE = 55296; // 0xd800 '\ud800' + field public static final char MIN_LOW_SURROGATE = 56320; // 0xdc00 '\udc00' + field public static final int MIN_RADIX = 2; // 0x2 + field public static final int MIN_SUPPLEMENTARY_CODE_POINT = 65536; // 0x10000 + field public static final char MIN_SURROGATE = 55296; // 0xd800 '\ud800' + field public static final char MIN_VALUE = 0; // 0x0000 '\u0000' + field public static final byte MODIFIER_LETTER = 4; // 0x4 + field public static final byte MODIFIER_SYMBOL = 27; // 0x1b + field public static final byte NON_SPACING_MARK = 6; // 0x6 + field public static final byte OTHER_LETTER = 5; // 0x5 + field public static final byte OTHER_NUMBER = 11; // 0xb + field public static final byte OTHER_PUNCTUATION = 24; // 0x18 + field public static final byte OTHER_SYMBOL = 28; // 0x1c + field public static final byte PARAGRAPH_SEPARATOR = 14; // 0xe + field public static final byte PRIVATE_USE = 18; // 0x12 + field public static final int SIZE = 16; // 0x10 + field public static final byte SPACE_SEPARATOR = 12; // 0xc + field public static final byte START_PUNCTUATION = 21; // 0x15 + field public static final byte SURROGATE = 19; // 0x13 + field public static final byte TITLECASE_LETTER = 3; // 0x3 + field public static final Class<java.lang.Character> TYPE; + field public static final byte UNASSIGNED = 0; // 0x0 + field public static final byte UPPERCASE_LETTER = 1; // 0x1 + } + + public static class Character.Subset { + ctor protected Character.Subset(@NonNull String); + method public final boolean equals(@Nullable Object); + method public final int hashCode(); + method @NonNull public final String toString(); + } + + public static final class Character.UnicodeBlock extends java.lang.Character.Subset { + method @NonNull public static java.lang.Character.UnicodeBlock forName(@NonNull String); + method @Nullable public static java.lang.Character.UnicodeBlock of(char); + method @Nullable public static java.lang.Character.UnicodeBlock of(int); + field public static final java.lang.Character.UnicodeBlock AEGEAN_NUMBERS; + field public static final java.lang.Character.UnicodeBlock ALCHEMICAL_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock ALPHABETIC_PRESENTATION_FORMS; + field public static final java.lang.Character.UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION; + field public static final java.lang.Character.UnicodeBlock ANCIENT_GREEK_NUMBERS; + field public static final java.lang.Character.UnicodeBlock ANCIENT_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock ARABIC; + field public static final java.lang.Character.UnicodeBlock ARABIC_EXTENDED_A; + field public static final java.lang.Character.UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_A; + field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_B; + field public static final java.lang.Character.UnicodeBlock ARABIC_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock ARMENIAN; + field public static final java.lang.Character.UnicodeBlock ARROWS; + field public static final java.lang.Character.UnicodeBlock AVESTAN; + field public static final java.lang.Character.UnicodeBlock BALINESE; + field public static final java.lang.Character.UnicodeBlock BAMUM; + field public static final java.lang.Character.UnicodeBlock BAMUM_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock BASIC_LATIN; + field public static final java.lang.Character.UnicodeBlock BATAK; + field public static final java.lang.Character.UnicodeBlock BENGALI; + field public static final java.lang.Character.UnicodeBlock BLOCK_ELEMENTS; + field public static final java.lang.Character.UnicodeBlock BOPOMOFO; + field public static final java.lang.Character.UnicodeBlock BOPOMOFO_EXTENDED; + field public static final java.lang.Character.UnicodeBlock BOX_DRAWING; + field public static final java.lang.Character.UnicodeBlock BRAHMI; + field public static final java.lang.Character.UnicodeBlock BRAILLE_PATTERNS; + field public static final java.lang.Character.UnicodeBlock BUGINESE; + field public static final java.lang.Character.UnicodeBlock BUHID; + field public static final java.lang.Character.UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock CARIAN; + field public static final java.lang.Character.UnicodeBlock CHAKMA; + field public static final java.lang.Character.UnicodeBlock CHAM; + field public static final java.lang.Character.UnicodeBlock CHEROKEE; + field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY; + field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_FORMS; + field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS; + field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock CJK_RADICALS_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock CJK_STROKES; + field public static final java.lang.Character.UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION; + field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS; + field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A; + field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B; + field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C; + field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D; + field public static final java.lang.Character.UnicodeBlock COMBINING_DIACRITICAL_MARKS; + field public static final java.lang.Character.UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock COMBINING_HALF_MARKS; + field public static final java.lang.Character.UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock COMMON_INDIC_NUMBER_FORMS; + field public static final java.lang.Character.UnicodeBlock CONTROL_PICTURES; + field public static final java.lang.Character.UnicodeBlock COPTIC; + field public static final java.lang.Character.UnicodeBlock COUNTING_ROD_NUMERALS; + field public static final java.lang.Character.UnicodeBlock CUNEIFORM; + field public static final java.lang.Character.UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION; + field public static final java.lang.Character.UnicodeBlock CURRENCY_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock CYPRIOT_SYLLABARY; + field public static final java.lang.Character.UnicodeBlock CYRILLIC; + field public static final java.lang.Character.UnicodeBlock CYRILLIC_EXTENDED_A; + field public static final java.lang.Character.UnicodeBlock CYRILLIC_EXTENDED_B; + field public static final java.lang.Character.UnicodeBlock CYRILLIC_SUPPLEMENTARY; + field public static final java.lang.Character.UnicodeBlock DESERET; + field public static final java.lang.Character.UnicodeBlock DEVANAGARI; + field public static final java.lang.Character.UnicodeBlock DEVANAGARI_EXTENDED; + field public static final java.lang.Character.UnicodeBlock DINGBATS; + field public static final java.lang.Character.UnicodeBlock DOMINO_TILES; + field public static final java.lang.Character.UnicodeBlock EGYPTIAN_HIEROGLYPHS; + field public static final java.lang.Character.UnicodeBlock EMOTICONS; + field public static final java.lang.Character.UnicodeBlock ENCLOSED_ALPHANUMERICS; + field public static final java.lang.Character.UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS; + field public static final java.lang.Character.UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock ETHIOPIC; + field public static final java.lang.Character.UnicodeBlock ETHIOPIC_EXTENDED; + field public static final java.lang.Character.UnicodeBlock ETHIOPIC_EXTENDED_A; + field public static final java.lang.Character.UnicodeBlock ETHIOPIC_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock GENERAL_PUNCTUATION; + field public static final java.lang.Character.UnicodeBlock GEOMETRIC_SHAPES; + field public static final java.lang.Character.UnicodeBlock GEORGIAN; + field public static final java.lang.Character.UnicodeBlock GEORGIAN_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock GLAGOLITIC; + field public static final java.lang.Character.UnicodeBlock GOTHIC; + field public static final java.lang.Character.UnicodeBlock GREEK; + field public static final java.lang.Character.UnicodeBlock GREEK_EXTENDED; + field public static final java.lang.Character.UnicodeBlock GUJARATI; + field public static final java.lang.Character.UnicodeBlock GURMUKHI; + field public static final java.lang.Character.UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS; + field public static final java.lang.Character.UnicodeBlock HANGUL_COMPATIBILITY_JAMO; + field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO; + field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO_EXTENDED_A; + field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO_EXTENDED_B; + field public static final java.lang.Character.UnicodeBlock HANGUL_SYLLABLES; + field public static final java.lang.Character.UnicodeBlock HANUNOO; + field public static final java.lang.Character.UnicodeBlock HEBREW; + field public static final java.lang.Character.UnicodeBlock HIGH_PRIVATE_USE_SURROGATES; + field public static final java.lang.Character.UnicodeBlock HIGH_SURROGATES; + field public static final java.lang.Character.UnicodeBlock HIRAGANA; + field public static final java.lang.Character.UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS; + field public static final java.lang.Character.UnicodeBlock IMPERIAL_ARAMAIC; + field public static final java.lang.Character.UnicodeBlock INSCRIPTIONAL_PAHLAVI; + field public static final java.lang.Character.UnicodeBlock INSCRIPTIONAL_PARTHIAN; + field public static final java.lang.Character.UnicodeBlock IPA_EXTENSIONS; + field public static final java.lang.Character.UnicodeBlock JAVANESE; + field public static final java.lang.Character.UnicodeBlock KAITHI; + field public static final java.lang.Character.UnicodeBlock KANA_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock KANBUN; + field public static final java.lang.Character.UnicodeBlock KANGXI_RADICALS; + field public static final java.lang.Character.UnicodeBlock KANNADA; + field public static final java.lang.Character.UnicodeBlock KATAKANA; + field public static final java.lang.Character.UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS; + field public static final java.lang.Character.UnicodeBlock KAYAH_LI; + field public static final java.lang.Character.UnicodeBlock KHAROSHTHI; + field public static final java.lang.Character.UnicodeBlock KHMER; + field public static final java.lang.Character.UnicodeBlock KHMER_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock LAO; + field public static final java.lang.Character.UnicodeBlock LATIN_1_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_A; + field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_ADDITIONAL; + field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_B; + field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_C; + field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_D; + field public static final java.lang.Character.UnicodeBlock LEPCHA; + field public static final java.lang.Character.UnicodeBlock LETTERLIKE_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock LIMBU; + field public static final java.lang.Character.UnicodeBlock LINEAR_B_IDEOGRAMS; + field public static final java.lang.Character.UnicodeBlock LINEAR_B_SYLLABARY; + field public static final java.lang.Character.UnicodeBlock LISU; + field public static final java.lang.Character.UnicodeBlock LOW_SURROGATES; + field public static final java.lang.Character.UnicodeBlock LYCIAN; + field public static final java.lang.Character.UnicodeBlock LYDIAN; + field public static final java.lang.Character.UnicodeBlock MAHJONG_TILES; + field public static final java.lang.Character.UnicodeBlock MALAYALAM; + field public static final java.lang.Character.UnicodeBlock MANDAIC; + field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_OPERATORS; + field public static final java.lang.Character.UnicodeBlock MEETEI_MAYEK; + field public static final java.lang.Character.UnicodeBlock MEETEI_MAYEK_EXTENSIONS; + field public static final java.lang.Character.UnicodeBlock MEROITIC_CURSIVE; + field public static final java.lang.Character.UnicodeBlock MEROITIC_HIEROGLYPHS; + field public static final java.lang.Character.UnicodeBlock MIAO; + field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A; + field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B; + field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS; + field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS; + field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_TECHNICAL; + field public static final java.lang.Character.UnicodeBlock MODIFIER_TONE_LETTERS; + field public static final java.lang.Character.UnicodeBlock MONGOLIAN; + field public static final java.lang.Character.UnicodeBlock MUSICAL_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock MYANMAR; + field public static final java.lang.Character.UnicodeBlock MYANMAR_EXTENDED_A; + field public static final java.lang.Character.UnicodeBlock NEW_TAI_LUE; + field public static final java.lang.Character.UnicodeBlock NKO; + field public static final java.lang.Character.UnicodeBlock NUMBER_FORMS; + field public static final java.lang.Character.UnicodeBlock OGHAM; + field public static final java.lang.Character.UnicodeBlock OLD_ITALIC; + field public static final java.lang.Character.UnicodeBlock OLD_PERSIAN; + field public static final java.lang.Character.UnicodeBlock OLD_SOUTH_ARABIAN; + field public static final java.lang.Character.UnicodeBlock OLD_TURKIC; + field public static final java.lang.Character.UnicodeBlock OL_CHIKI; + field public static final java.lang.Character.UnicodeBlock OPTICAL_CHARACTER_RECOGNITION; + field public static final java.lang.Character.UnicodeBlock ORIYA; + field public static final java.lang.Character.UnicodeBlock OSMANYA; + field public static final java.lang.Character.UnicodeBlock PHAGS_PA; + field public static final java.lang.Character.UnicodeBlock PHAISTOS_DISC; + field public static final java.lang.Character.UnicodeBlock PHOENICIAN; + field public static final java.lang.Character.UnicodeBlock PHONETIC_EXTENSIONS; + field public static final java.lang.Character.UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock PLAYING_CARDS; + field public static final java.lang.Character.UnicodeBlock PRIVATE_USE_AREA; + field public static final java.lang.Character.UnicodeBlock REJANG; + field public static final java.lang.Character.UnicodeBlock RUMI_NUMERAL_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock RUNIC; + field public static final java.lang.Character.UnicodeBlock SAMARITAN; + field public static final java.lang.Character.UnicodeBlock SAURASHTRA; + field public static final java.lang.Character.UnicodeBlock SHARADA; + field public static final java.lang.Character.UnicodeBlock SHAVIAN; + field public static final java.lang.Character.UnicodeBlock SINHALA; + field public static final java.lang.Character.UnicodeBlock SMALL_FORM_VARIANTS; + field public static final java.lang.Character.UnicodeBlock SORA_SOMPENG; + field public static final java.lang.Character.UnicodeBlock SPACING_MODIFIER_LETTERS; + field public static final java.lang.Character.UnicodeBlock SPECIALS; + field public static final java.lang.Character.UnicodeBlock SUNDANESE; + field public static final java.lang.Character.UnicodeBlock SUNDANESE_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS; + field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_A; + field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_B; + field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS; + field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_PUNCTUATION; + field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A; + field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B; + field @Deprecated public static final java.lang.Character.UnicodeBlock SURROGATES_AREA; + field public static final java.lang.Character.UnicodeBlock SYLOTI_NAGRI; + field public static final java.lang.Character.UnicodeBlock SYRIAC; + field public static final java.lang.Character.UnicodeBlock TAGALOG; + field public static final java.lang.Character.UnicodeBlock TAGBANWA; + field public static final java.lang.Character.UnicodeBlock TAGS; + field public static final java.lang.Character.UnicodeBlock TAI_LE; + field public static final java.lang.Character.UnicodeBlock TAI_THAM; + field public static final java.lang.Character.UnicodeBlock TAI_VIET; + field public static final java.lang.Character.UnicodeBlock TAI_XUAN_JING_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock TAKRI; + field public static final java.lang.Character.UnicodeBlock TAMIL; + field public static final java.lang.Character.UnicodeBlock TELUGU; + field public static final java.lang.Character.UnicodeBlock THAANA; + field public static final java.lang.Character.UnicodeBlock THAI; + field public static final java.lang.Character.UnicodeBlock TIBETAN; + field public static final java.lang.Character.UnicodeBlock TIFINAGH; + field public static final java.lang.Character.UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock UGARITIC; + field public static final java.lang.Character.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS; + field public static final java.lang.Character.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED; + field public static final java.lang.Character.UnicodeBlock VAI; + field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS; + field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT; + field public static final java.lang.Character.UnicodeBlock VEDIC_EXTENSIONS; + field public static final java.lang.Character.UnicodeBlock VERTICAL_FORMS; + field public static final java.lang.Character.UnicodeBlock YIJING_HEXAGRAM_SYMBOLS; + field public static final java.lang.Character.UnicodeBlock YI_RADICALS; + field public static final java.lang.Character.UnicodeBlock YI_SYLLABLES; + } + + public enum Character.UnicodeScript { + method @NonNull public static java.lang.Character.UnicodeScript forName(@NonNull String); + method @NonNull public static java.lang.Character.UnicodeScript of(int); + enum_constant public static final java.lang.Character.UnicodeScript ARABIC; + enum_constant public static final java.lang.Character.UnicodeScript ARMENIAN; + enum_constant public static final java.lang.Character.UnicodeScript AVESTAN; + enum_constant public static final java.lang.Character.UnicodeScript BALINESE; + enum_constant public static final java.lang.Character.UnicodeScript BAMUM; + enum_constant public static final java.lang.Character.UnicodeScript BATAK; + enum_constant public static final java.lang.Character.UnicodeScript BENGALI; + enum_constant public static final java.lang.Character.UnicodeScript BOPOMOFO; + enum_constant public static final java.lang.Character.UnicodeScript BRAHMI; + enum_constant public static final java.lang.Character.UnicodeScript BRAILLE; + enum_constant public static final java.lang.Character.UnicodeScript BUGINESE; + enum_constant public static final java.lang.Character.UnicodeScript BUHID; + enum_constant public static final java.lang.Character.UnicodeScript CANADIAN_ABORIGINAL; + enum_constant public static final java.lang.Character.UnicodeScript CARIAN; + enum_constant public static final java.lang.Character.UnicodeScript CHAKMA; + enum_constant public static final java.lang.Character.UnicodeScript CHAM; + enum_constant public static final java.lang.Character.UnicodeScript CHEROKEE; + enum_constant public static final java.lang.Character.UnicodeScript COMMON; + enum_constant public static final java.lang.Character.UnicodeScript COPTIC; + enum_constant public static final java.lang.Character.UnicodeScript CUNEIFORM; + enum_constant public static final java.lang.Character.UnicodeScript CYPRIOT; + enum_constant public static final java.lang.Character.UnicodeScript CYRILLIC; + enum_constant public static final java.lang.Character.UnicodeScript DESERET; + enum_constant public static final java.lang.Character.UnicodeScript DEVANAGARI; + enum_constant public static final java.lang.Character.UnicodeScript EGYPTIAN_HIEROGLYPHS; + enum_constant public static final java.lang.Character.UnicodeScript ETHIOPIC; + enum_constant public static final java.lang.Character.UnicodeScript GEORGIAN; + enum_constant public static final java.lang.Character.UnicodeScript GLAGOLITIC; + enum_constant public static final java.lang.Character.UnicodeScript GOTHIC; + enum_constant public static final java.lang.Character.UnicodeScript GREEK; + enum_constant public static final java.lang.Character.UnicodeScript GUJARATI; + enum_constant public static final java.lang.Character.UnicodeScript GURMUKHI; + enum_constant public static final java.lang.Character.UnicodeScript HAN; + enum_constant public static final java.lang.Character.UnicodeScript HANGUL; + enum_constant public static final java.lang.Character.UnicodeScript HANUNOO; + enum_constant public static final java.lang.Character.UnicodeScript HEBREW; + enum_constant public static final java.lang.Character.UnicodeScript HIRAGANA; + enum_constant public static final java.lang.Character.UnicodeScript IMPERIAL_ARAMAIC; + enum_constant public static final java.lang.Character.UnicodeScript INHERITED; + enum_constant public static final java.lang.Character.UnicodeScript INSCRIPTIONAL_PAHLAVI; + enum_constant public static final java.lang.Character.UnicodeScript INSCRIPTIONAL_PARTHIAN; + enum_constant public static final java.lang.Character.UnicodeScript JAVANESE; + enum_constant public static final java.lang.Character.UnicodeScript KAITHI; + enum_constant public static final java.lang.Character.UnicodeScript KANNADA; + enum_constant public static final java.lang.Character.UnicodeScript KATAKANA; + enum_constant public static final java.lang.Character.UnicodeScript KAYAH_LI; + enum_constant public static final java.lang.Character.UnicodeScript KHAROSHTHI; + enum_constant public static final java.lang.Character.UnicodeScript KHMER; + enum_constant public static final java.lang.Character.UnicodeScript LAO; + enum_constant public static final java.lang.Character.UnicodeScript LATIN; + enum_constant public static final java.lang.Character.UnicodeScript LEPCHA; + enum_constant public static final java.lang.Character.UnicodeScript LIMBU; + enum_constant public static final java.lang.Character.UnicodeScript LINEAR_B; + enum_constant public static final java.lang.Character.UnicodeScript LISU; + enum_constant public static final java.lang.Character.UnicodeScript LYCIAN; + enum_constant public static final java.lang.Character.UnicodeScript LYDIAN; + enum_constant public static final java.lang.Character.UnicodeScript MALAYALAM; + enum_constant public static final java.lang.Character.UnicodeScript MANDAIC; + enum_constant public static final java.lang.Character.UnicodeScript MEETEI_MAYEK; + enum_constant public static final java.lang.Character.UnicodeScript MEROITIC_CURSIVE; + enum_constant public static final java.lang.Character.UnicodeScript MEROITIC_HIEROGLYPHS; + enum_constant public static final java.lang.Character.UnicodeScript MIAO; + enum_constant public static final java.lang.Character.UnicodeScript MONGOLIAN; + enum_constant public static final java.lang.Character.UnicodeScript MYANMAR; + enum_constant public static final java.lang.Character.UnicodeScript NEW_TAI_LUE; + enum_constant public static final java.lang.Character.UnicodeScript NKO; + enum_constant public static final java.lang.Character.UnicodeScript OGHAM; + enum_constant public static final java.lang.Character.UnicodeScript OLD_ITALIC; + enum_constant public static final java.lang.Character.UnicodeScript OLD_PERSIAN; + enum_constant public static final java.lang.Character.UnicodeScript OLD_SOUTH_ARABIAN; + enum_constant public static final java.lang.Character.UnicodeScript OLD_TURKIC; + enum_constant public static final java.lang.Character.UnicodeScript OL_CHIKI; + enum_constant public static final java.lang.Character.UnicodeScript ORIYA; + enum_constant public static final java.lang.Character.UnicodeScript OSMANYA; + enum_constant public static final java.lang.Character.UnicodeScript PHAGS_PA; + enum_constant public static final java.lang.Character.UnicodeScript PHOENICIAN; + enum_constant public static final java.lang.Character.UnicodeScript REJANG; + enum_constant public static final java.lang.Character.UnicodeScript RUNIC; + enum_constant public static final java.lang.Character.UnicodeScript SAMARITAN; + enum_constant public static final java.lang.Character.UnicodeScript SAURASHTRA; + enum_constant public static final java.lang.Character.UnicodeScript SHARADA; + enum_constant public static final java.lang.Character.UnicodeScript SHAVIAN; + enum_constant public static final java.lang.Character.UnicodeScript SINHALA; + enum_constant public static final java.lang.Character.UnicodeScript SORA_SOMPENG; + enum_constant public static final java.lang.Character.UnicodeScript SUNDANESE; + enum_constant public static final java.lang.Character.UnicodeScript SYLOTI_NAGRI; + enum_constant public static final java.lang.Character.UnicodeScript SYRIAC; + enum_constant public static final java.lang.Character.UnicodeScript TAGALOG; + enum_constant public static final java.lang.Character.UnicodeScript TAGBANWA; + enum_constant public static final java.lang.Character.UnicodeScript TAI_LE; + enum_constant public static final java.lang.Character.UnicodeScript TAI_THAM; + enum_constant public static final java.lang.Character.UnicodeScript TAI_VIET; + enum_constant public static final java.lang.Character.UnicodeScript TAKRI; + enum_constant public static final java.lang.Character.UnicodeScript TAMIL; + enum_constant public static final java.lang.Character.UnicodeScript TELUGU; + enum_constant public static final java.lang.Character.UnicodeScript THAANA; + enum_constant public static final java.lang.Character.UnicodeScript THAI; + enum_constant public static final java.lang.Character.UnicodeScript TIBETAN; + enum_constant public static final java.lang.Character.UnicodeScript TIFINAGH; + enum_constant public static final java.lang.Character.UnicodeScript UGARITIC; + enum_constant public static final java.lang.Character.UnicodeScript UNKNOWN; + enum_constant public static final java.lang.Character.UnicodeScript VAI; + enum_constant public static final java.lang.Character.UnicodeScript YI; + } + + public final class Class<T> implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type { + method @NonNull public <U> Class<? extends U> asSubclass(@NonNull Class<U>); + method @Nullable public T cast(@Nullable Object); + method public boolean desiredAssertionStatus(); + method @NonNull public static Class<?> forName(@NonNull String) throws java.lang.ClassNotFoundException; + method @NonNull public static Class<?> forName(@NonNull String, boolean, @Nullable ClassLoader) throws java.lang.ClassNotFoundException; + method @Nullable public <A extends java.lang.annotation.Annotation> A getAnnotation(@NonNull Class<A>); + method @NonNull public java.lang.annotation.Annotation[] getAnnotations(); + method @NonNull public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(@NonNull Class<A>); + method @Nullable public String getCanonicalName(); + method @Nullable public ClassLoader getClassLoader(); + method @NonNull public Class<?>[] getClasses(); + method @Nullable public Class<?> getComponentType(); + method @NonNull public java.lang.reflect.Constructor<T> getConstructor(@Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; + method @NonNull public java.lang.reflect.Constructor<?>[] getConstructors() throws java.lang.SecurityException; + method @Nullable public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(@NonNull Class<A>); + method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations(); + method @NonNull public Class<?>[] getDeclaredClasses(); + method @NonNull public java.lang.reflect.Constructor<T> getDeclaredConstructor(@Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; + method @NonNull public java.lang.reflect.Constructor<?>[] getDeclaredConstructors() throws java.lang.SecurityException; + method @NonNull public java.lang.reflect.Field getDeclaredField(@NonNull String) throws java.lang.NoSuchFieldException; + method @NonNull public java.lang.reflect.Field[] getDeclaredFields(); + method @NonNull public java.lang.reflect.Method getDeclaredMethod(@NonNull String, @Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; + method @NonNull public java.lang.reflect.Method[] getDeclaredMethods() throws java.lang.SecurityException; + method @Nullable public Class<?> getDeclaringClass(); + method @Nullable public Class<?> getEnclosingClass(); + method @Nullable public java.lang.reflect.Constructor<?> getEnclosingConstructor(); + method @Nullable public java.lang.reflect.Method getEnclosingMethod(); + method @Nullable public T[] getEnumConstants(); + method @NonNull public java.lang.reflect.Field getField(@NonNull String) throws java.lang.NoSuchFieldException; + method @NonNull public java.lang.reflect.Field[] getFields() throws java.lang.SecurityException; + method @NonNull public java.lang.reflect.Type[] getGenericInterfaces(); + method @Nullable public java.lang.reflect.Type getGenericSuperclass(); + method @NonNull public Class<?>[] getInterfaces(); + method @NonNull public java.lang.reflect.Method getMethod(@NonNull String, @Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException; + method @NonNull public java.lang.reflect.Method[] getMethods() throws java.lang.SecurityException; + method public int getModifiers(); + method @NonNull public String getName(); + method @Nullable public Package getPackage(); + method @NonNull public String getPackageName(); + method @Nullable public java.security.ProtectionDomain getProtectionDomain(); + method @Nullable public java.net.URL getResource(@NonNull String); + method @Nullable public java.io.InputStream getResourceAsStream(@NonNull String); + method @Nullable public Object[] getSigners(); + method @NonNull public String getSimpleName(); + method @Nullable public Class<? super T> getSuperclass(); + method @NonNull public java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters(); + method public boolean isAnnotation(); + method public boolean isAnonymousClass(); + method public boolean isArray(); + method public boolean isAssignableFrom(@NonNull Class<?>); + method public boolean isEnum(); + method public boolean isInstance(@Nullable Object); + method public boolean isInterface(); + method public boolean isLocalClass(); + method public boolean isMemberClass(); + method public boolean isPrimitive(); + method public boolean isSynthetic(); + method @NonNull public T newInstance() throws java.lang.IllegalAccessException, java.lang.InstantiationException; + method @NonNull public String toGenericString(); + } + + public class ClassCastException extends java.lang.RuntimeException { + ctor public ClassCastException(); + ctor public ClassCastException(String); + } + + public class ClassCircularityError extends java.lang.LinkageError { + ctor public ClassCircularityError(); + ctor public ClassCircularityError(String); + } + + public class ClassFormatError extends java.lang.LinkageError { + ctor public ClassFormatError(); + ctor public ClassFormatError(String); + } + + public abstract class ClassLoader { + ctor protected ClassLoader(ClassLoader); + ctor protected ClassLoader(); + method public void clearAssertionStatus(); + method @Deprecated protected final Class<?> defineClass(byte[], int, int) throws java.lang.ClassFormatError; + method protected final Class<?> defineClass(String, byte[], int, int) throws java.lang.ClassFormatError; + method protected final Class<?> defineClass(String, byte[], int, int, java.security.ProtectionDomain) throws java.lang.ClassFormatError; + method protected final Class<?> defineClass(String, java.nio.ByteBuffer, java.security.ProtectionDomain) throws java.lang.ClassFormatError; + method protected Package definePackage(String, String, String, String, String, String, String, java.net.URL) throws java.lang.IllegalArgumentException; + method protected Class<?> findClass(String) throws java.lang.ClassNotFoundException; + method protected String findLibrary(String); + method protected final Class<?> findLoadedClass(String); + method protected java.net.URL findResource(String); + method protected java.util.Enumeration<java.net.URL> findResources(String) throws java.io.IOException; + method protected final Class<?> findSystemClass(String) throws java.lang.ClassNotFoundException; + method protected Package getPackage(String); + method protected Package[] getPackages(); + method public final ClassLoader getParent(); + method public java.net.URL getResource(String); + method public java.io.InputStream getResourceAsStream(String); + method public java.util.Enumeration<java.net.URL> getResources(String) throws java.io.IOException; + method public static ClassLoader getSystemClassLoader(); + method public static java.net.URL getSystemResource(String); + method public static java.io.InputStream getSystemResourceAsStream(String); + method public static java.util.Enumeration<java.net.URL> getSystemResources(String) throws java.io.IOException; + method public Class<?> loadClass(String) throws java.lang.ClassNotFoundException; + method protected Class<?> loadClass(String, boolean) throws java.lang.ClassNotFoundException; + method protected static boolean registerAsParallelCapable(); + method protected final void resolveClass(Class<?>); + method public void setClassAssertionStatus(String, boolean); + method public void setDefaultAssertionStatus(boolean); + method public void setPackageAssertionStatus(String, boolean); + method protected final void setSigners(Class<?>, Object[]); + } + + public class ClassNotFoundException extends java.lang.ReflectiveOperationException { + ctor public ClassNotFoundException(); + ctor public ClassNotFoundException(String); + ctor public ClassNotFoundException(String, Throwable); + method public Throwable getException(); + } + + public class CloneNotSupportedException extends java.lang.Exception { + ctor public CloneNotSupportedException(); + ctor public CloneNotSupportedException(String); + } + + public interface Cloneable { + } + + public interface Comparable<T> { + method public int compareTo(T); + } + + public final class Compiler { + method public static Object command(Object); + method public static boolean compileClass(Class<?>); + method public static boolean compileClasses(String); + method public static void disable(); + method public static void enable(); + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.LOCAL_VARIABLE, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PACKAGE, java.lang.annotation.ElementType.MODULE, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.TYPE}) public @interface Deprecated { + method public abstract boolean forRemoval() default false; + method public abstract String since() default ""; + } + + public final class Double extends java.lang.Number implements java.lang.Comparable<java.lang.Double> { + ctor @Deprecated public Double(double); + ctor @Deprecated public Double(@NonNull String) throws java.lang.NumberFormatException; + method public static int compare(double, double); + method public int compareTo(@NonNull Double); + method public static long doubleToLongBits(double); + method public static long doubleToRawLongBits(double); + method public double doubleValue(); + method public float floatValue(); + method public static int hashCode(double); + method public int intValue(); + method public static boolean isFinite(double); + method public static boolean isInfinite(double); + method public boolean isInfinite(); + method public static boolean isNaN(double); + method public boolean isNaN(); + method public static double longBitsToDouble(long); + method public long longValue(); + method public static double max(double, double); + method public static double min(double, double); + method public static double parseDouble(@NonNull String) throws java.lang.NumberFormatException; + method public static double sum(double, double); + method @NonNull public static String toHexString(double); + method @NonNull public static String toString(double); + method @NonNull public static Double valueOf(@NonNull String) throws java.lang.NumberFormatException; + method @NonNull public static Double valueOf(double); + field public static final int BYTES = 8; // 0x8 + field public static final int MAX_EXPONENT = 1023; // 0x3ff + field public static final double MAX_VALUE = 1.7976931348623157E308; + field public static final int MIN_EXPONENT = -1022; // 0xfffffc02 + field public static final double MIN_NORMAL = 2.2250738585072014E-308; + field public static final double MIN_VALUE = 4.9E-324; + field public static final double NEGATIVE_INFINITY = (-1.0/0.0); + field public static final double NaN = (0.0/0.0); + field public static final double POSITIVE_INFINITY = (1.0/0.0); + field public static final int SIZE = 64; // 0x40 + field public static final Class<java.lang.Double> TYPE; + } + + public abstract class Enum<E extends java.lang.Enum<E>> implements java.lang.Comparable<E> java.io.Serializable { + ctor protected Enum(@NonNull String, int); + method @NonNull protected final Object clone() throws java.lang.CloneNotSupportedException; + method public final int compareTo(E); + method public final boolean equals(@Nullable Object); + method protected final void finalize(); + method @NonNull public final Class<E> getDeclaringClass(); + method public final int hashCode(); + method @NonNull public final String name(); + method public final int ordinal(); + method @NonNull public static <T extends java.lang.Enum<T>> T valueOf(@NonNull Class<T>, @NonNull String); + } + + public class EnumConstantNotPresentException extends java.lang.RuntimeException { + ctor public EnumConstantNotPresentException(Class<? extends java.lang.Enum>, String); + method public String constantName(); + method public Class<? extends java.lang.Enum> enumType(); + } + + public class Error extends java.lang.Throwable { + ctor public Error(); + ctor public Error(String); + ctor public Error(String, Throwable); + ctor public Error(Throwable); + ctor protected Error(String, Throwable, boolean, boolean); + } + + public class Exception extends java.lang.Throwable { + ctor public Exception(); + ctor public Exception(String); + ctor public Exception(String, Throwable); + ctor public Exception(Throwable); + ctor protected Exception(String, Throwable, boolean, boolean); + } + + public class ExceptionInInitializerError extends java.lang.LinkageError { + ctor public ExceptionInInitializerError(); + ctor public ExceptionInInitializerError(Throwable); + ctor public ExceptionInInitializerError(String); + method public Throwable getException(); + } + + public final class Float extends java.lang.Number implements java.lang.Comparable<java.lang.Float> { + ctor @Deprecated public Float(float); + ctor @Deprecated public Float(double); + ctor @Deprecated public Float(@NonNull String) throws java.lang.NumberFormatException; + method public static int compare(float, float); + method public int compareTo(@NonNull Float); + method public double doubleValue(); + method public static int floatToIntBits(float); + method public static int floatToRawIntBits(float); + method public float floatValue(); + method public static int hashCode(float); + method public static float intBitsToFloat(int); + method public int intValue(); + method public static boolean isFinite(float); + method public static boolean isInfinite(float); + method public boolean isInfinite(); + method public static boolean isNaN(float); + method public boolean isNaN(); + method public long longValue(); + method public static float max(float, float); + method public static float min(float, float); + method public static float parseFloat(@NonNull String) throws java.lang.NumberFormatException; + method public static float sum(float, float); + method @NonNull public static String toHexString(float); + method @NonNull public static String toString(float); + method @NonNull public static Float valueOf(@NonNull String) throws java.lang.NumberFormatException; + method @NonNull public static Float valueOf(float); + field public static final int BYTES = 4; // 0x4 + field public static final int MAX_EXPONENT = 127; // 0x7f + field public static final float MAX_VALUE = 3.4028235E38f; + field public static final int MIN_EXPONENT = -126; // 0xffffff82 + field public static final float MIN_NORMAL = 1.17549435E-38f; + field public static final float MIN_VALUE = 1.4E-45f; + field public static final float NEGATIVE_INFINITY = (-1.0f/0.0f); + field public static final float NaN = (0.0f/0.0f); + field public static final float POSITIVE_INFINITY = (1.0f/0.0f); + field public static final int SIZE = 32; // 0x20 + field public static final Class<java.lang.Float> TYPE; + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface FunctionalInterface { + } + + public class IllegalAccessError extends java.lang.IncompatibleClassChangeError { + ctor public IllegalAccessError(); + ctor public IllegalAccessError(String); + } + + public class IllegalAccessException extends java.lang.ReflectiveOperationException { + ctor public IllegalAccessException(); + ctor public IllegalAccessException(String); + } + + public class IllegalArgumentException extends java.lang.RuntimeException { + ctor public IllegalArgumentException(); + ctor public IllegalArgumentException(String); + ctor public IllegalArgumentException(String, Throwable); + ctor public IllegalArgumentException(Throwable); + } + + public class IllegalMonitorStateException extends java.lang.RuntimeException { + ctor public IllegalMonitorStateException(); + ctor public IllegalMonitorStateException(String); + } + + public class IllegalStateException extends java.lang.RuntimeException { + ctor public IllegalStateException(); + ctor public IllegalStateException(String); + ctor public IllegalStateException(String, Throwable); + ctor public IllegalStateException(Throwable); + } + + public class IllegalThreadStateException extends java.lang.IllegalArgumentException { + ctor public IllegalThreadStateException(); + ctor public IllegalThreadStateException(String); + } + + public class IncompatibleClassChangeError extends java.lang.LinkageError { + ctor public IncompatibleClassChangeError(); + ctor public IncompatibleClassChangeError(String); + } + + public class IndexOutOfBoundsException extends java.lang.RuntimeException { + ctor public IndexOutOfBoundsException(); + ctor public IndexOutOfBoundsException(String); + ctor public IndexOutOfBoundsException(int); + } + + public class InheritableThreadLocal<T> extends java.lang.ThreadLocal<T> { + ctor public InheritableThreadLocal(); + method protected T childValue(T); + } + + public class InstantiationError extends java.lang.IncompatibleClassChangeError { + ctor public InstantiationError(); + ctor public InstantiationError(String); + } + + public class InstantiationException extends java.lang.ReflectiveOperationException { + ctor public InstantiationException(); + ctor public InstantiationException(String); + } + + public final class Integer extends java.lang.Number implements java.lang.Comparable<java.lang.Integer> { + ctor @Deprecated public Integer(int); + ctor @Deprecated public Integer(@NonNull String) throws java.lang.NumberFormatException; + method public static int bitCount(int); + method public static int compare(int, int); + method public int compareTo(@NonNull Integer); + method public static int compareUnsigned(int, int); + method @NonNull public static Integer decode(@NonNull String) throws java.lang.NumberFormatException; + method public static int divideUnsigned(int, int); + method public double doubleValue(); + method public float floatValue(); + method @Nullable public static Integer getInteger(@NonNull String); + method @Nullable public static Integer getInteger(@NonNull String, int); + method @Nullable public static Integer getInteger(@NonNull String, @Nullable Integer); + method public static int hashCode(int); + method public static int highestOneBit(int); + method public int intValue(); + method public long longValue(); + method public static int lowestOneBit(int); + method public static int max(int, int); + method public static int min(int, int); + method public static int numberOfLeadingZeros(int); + method public static int numberOfTrailingZeros(int); + method public static int parseInt(@NonNull String, int) throws java.lang.NumberFormatException; + method public static int parseInt(@NonNull CharSequence, int, int, int) throws java.lang.NumberFormatException; + method public static int parseInt(@NonNull String) throws java.lang.NumberFormatException; + method public static int parseUnsignedInt(@NonNull String, int) throws java.lang.NumberFormatException; + method public static int parseUnsignedInt(@NonNull CharSequence, int, int, int) throws java.lang.NumberFormatException; + method public static int parseUnsignedInt(@NonNull String) throws java.lang.NumberFormatException; + method public static int remainderUnsigned(int, int); + method public static int reverse(int); + method public static int reverseBytes(int); + method public static int rotateLeft(int, int); + method public static int rotateRight(int, int); + method public static int signum(int); + method public static int sum(int, int); + method @NonNull public static String toBinaryString(int); + method @NonNull public static String toHexString(int); + method @NonNull public static String toOctalString(int); + method @NonNull public static String toString(int, int); + method @NonNull public static String toString(int); + method public static long toUnsignedLong(int); + method @NonNull public static String toUnsignedString(int, int); + method @NonNull public static String toUnsignedString(int); + method @NonNull public static Integer valueOf(@NonNull String, int) throws java.lang.NumberFormatException; + method @NonNull public static Integer valueOf(@NonNull String) throws java.lang.NumberFormatException; + method @NonNull public static Integer valueOf(int); + field public static final int BYTES = 4; // 0x4 + field public static final int MAX_VALUE = 2147483647; // 0x7fffffff + field public static final int MIN_VALUE = -2147483648; // 0x80000000 + field public static final int SIZE = 32; // 0x20 + field public static final Class<java.lang.Integer> TYPE; + } + + public class InternalError extends java.lang.VirtualMachineError { + ctor public InternalError(); + ctor public InternalError(String); + ctor public InternalError(String, Throwable); + ctor public InternalError(Throwable); + } + + public class InterruptedException extends java.lang.Exception { + ctor public InterruptedException(); + ctor public InterruptedException(String); + } + + public interface Iterable<T> { + method public default void forEach(@NonNull java.util.function.Consumer<? super T>); + method @NonNull public java.util.Iterator<T> iterator(); + method @NonNull public default java.util.Spliterator<T> spliterator(); + } + + public class LinkageError extends java.lang.Error { + ctor public LinkageError(); + ctor public LinkageError(String); + ctor public LinkageError(String, Throwable); + } + + public final class Long extends java.lang.Number implements java.lang.Comparable<java.lang.Long> { + ctor @Deprecated public Long(long); + ctor @Deprecated public Long(@NonNull String) throws java.lang.NumberFormatException; + method public static int bitCount(long); + method public static int compare(long, long); + method public int compareTo(@NonNull Long); + method public static int compareUnsigned(long, long); + method @NonNull public static Long decode(@NonNull String) throws java.lang.NumberFormatException; + method public static long divideUnsigned(long, long); + method public double doubleValue(); + method public float floatValue(); + method @Nullable public static Long getLong(@NonNull String); + method @Nullable public static Long getLong(@NonNull String, long); + method @Nullable public static Long getLong(@NonNull String, @Nullable Long); + method public static int hashCode(long); + method public static long highestOneBit(long); + method public int intValue(); + method public long longValue(); + method public static long lowestOneBit(long); + method public static long max(long, long); + method public static long min(long, long); + method public static int numberOfLeadingZeros(long); + method public static int numberOfTrailingZeros(long); + method public static long parseLong(@NonNull String, int) throws java.lang.NumberFormatException; + method public static long parseLong(@NonNull CharSequence, int, int, int) throws java.lang.NumberFormatException; + method public static long parseLong(@NonNull String) throws java.lang.NumberFormatException; + method public static long parseUnsignedLong(@NonNull String, int) throws java.lang.NumberFormatException; + method public static long parseUnsignedLong(@NonNull CharSequence, int, int, int) throws java.lang.NumberFormatException; + method public static long parseUnsignedLong(@NonNull String) throws java.lang.NumberFormatException; + method public static long remainderUnsigned(long, long); + method public static long reverse(long); + method public static long reverseBytes(long); + method public static long rotateLeft(long, int); + method public static long rotateRight(long, int); + method public static int signum(long); + method public static long sum(long, long); + method @NonNull public static String toBinaryString(long); + method @NonNull public static String toHexString(long); + method @NonNull public static String toOctalString(long); + method @NonNull public static String toString(long, int); + method @NonNull public static String toString(long); + method @NonNull public static String toUnsignedString(long, int); + method @NonNull public static String toUnsignedString(long); + method @NonNull public static Long valueOf(@NonNull String, int) throws java.lang.NumberFormatException; + method @NonNull public static Long valueOf(@NonNull String) throws java.lang.NumberFormatException; + method @NonNull public static Long valueOf(long); + field public static final int BYTES = 8; // 0x8 + field public static final long MAX_VALUE = 9223372036854775807L; // 0x7fffffffffffffffL + field public static final long MIN_VALUE = -9223372036854775808L; // 0x8000000000000000L + field public static final int SIZE = 64; // 0x40 + field public static final Class<java.lang.Long> TYPE; + } + + public final class Math { + method public static double IEEEremainder(double, double); + method public static int abs(int); + method public static long abs(long); + method public static float abs(float); + method public static double abs(double); + method public static double acos(double); + method public static int addExact(int, int); + method public static long addExact(long, long); + method public static double asin(double); + method public static double atan(double); + method public static double atan2(double, double); + method public static double cbrt(double); + method public static double ceil(double); + method public static double copySign(double, double); + method public static float copySign(float, float); + method public static double cos(double); + method public static double cosh(double); + method public static int decrementExact(int); + method public static long decrementExact(long); + method public static double exp(double); + method public static double expm1(double); + method public static double floor(double); + method public static int floorDiv(int, int); + method public static long floorDiv(long, int); + method public static long floorDiv(long, long); + method public static int floorMod(int, int); + method public static int floorMod(long, int); + method public static long floorMod(long, long); + method public static double fma(double, double, double); + method public static float fma(float, float, float); + method public static int getExponent(float); + method public static int getExponent(double); + method public static double hypot(double, double); + method public static int incrementExact(int); + method public static long incrementExact(long); + method public static double log(double); + method public static double log10(double); + method public static double log1p(double); + method public static int max(int, int); + method public static long max(long, long); + method public static float max(float, float); + method public static double max(double, double); + method public static int min(int, int); + method public static long min(long, long); + method public static float min(float, float); + method public static double min(double, double); + method public static int multiplyExact(int, int); + method public static long multiplyExact(long, int); + method public static long multiplyExact(long, long); + method public static long multiplyFull(int, int); + method public static long multiplyHigh(long, long); + method public static int negateExact(int); + method public static long negateExact(long); + method public static double nextAfter(double, double); + method public static float nextAfter(float, double); + method public static double nextDown(double); + method public static float nextDown(float); + method public static double nextUp(double); + method public static float nextUp(float); + method public static double pow(double, double); + method public static double random(); + method public static double rint(double); + method public static int round(float); + method public static long round(double); + method public static double scalb(double, int); + method public static float scalb(float, int); + method public static double signum(double); + method public static float signum(float); + method public static double sin(double); + method public static double sinh(double); + method public static double sqrt(double); + method public static int subtractExact(int, int); + method public static long subtractExact(long, long); + method public static double tan(double); + method public static double tanh(double); + method public static double toDegrees(double); + method public static int toIntExact(long); + method public static double toRadians(double); + method public static double ulp(double); + method public static float ulp(float); + field public static final double E = 2.718281828459045; + field public static final double PI = 3.141592653589793; + } + + public class NegativeArraySizeException extends java.lang.RuntimeException { + ctor public NegativeArraySizeException(); + ctor public NegativeArraySizeException(String); + } + + public class NoClassDefFoundError extends java.lang.LinkageError { + ctor public NoClassDefFoundError(); + ctor public NoClassDefFoundError(String); + } + + public class NoSuchFieldError extends java.lang.IncompatibleClassChangeError { + ctor public NoSuchFieldError(); + ctor public NoSuchFieldError(String); + } + + public class NoSuchFieldException extends java.lang.ReflectiveOperationException { + ctor public NoSuchFieldException(); + ctor public NoSuchFieldException(String); + } + + public class NoSuchMethodError extends java.lang.IncompatibleClassChangeError { + ctor public NoSuchMethodError(); + ctor public NoSuchMethodError(String); + } + + public class NoSuchMethodException extends java.lang.ReflectiveOperationException { + ctor public NoSuchMethodException(); + ctor public NoSuchMethodException(String); + } + + public class NullPointerException extends java.lang.RuntimeException { + ctor public NullPointerException(); + ctor public NullPointerException(String); + } + + public abstract class Number implements java.io.Serializable { + ctor public Number(); + method public byte byteValue(); + method public abstract double doubleValue(); + method public abstract float floatValue(); + method public abstract int intValue(); + method public abstract long longValue(); + method public short shortValue(); + } + + public class NumberFormatException extends java.lang.IllegalArgumentException { + ctor public NumberFormatException(); + ctor public NumberFormatException(String); + } + + public class Object { + ctor public Object(); + method @NonNull protected Object clone() throws java.lang.CloneNotSupportedException; + method public boolean equals(@Nullable Object); + method protected void finalize() throws java.lang.Throwable; + method @NonNull public final Class<?> getClass(); + method public int hashCode(); + method public final void notify(); + method public final void notifyAll(); + method @NonNull public String toString(); + method public final void wait(long) throws java.lang.InterruptedException; + method public final void wait(long, int) throws java.lang.InterruptedException; + method public final void wait() throws java.lang.InterruptedException; + } + + public class OutOfMemoryError extends java.lang.VirtualMachineError { + ctor public OutOfMemoryError(); + ctor public OutOfMemoryError(String); + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface Override { + } + + public class Package implements java.lang.reflect.AnnotatedElement { + method public <A extends java.lang.annotation.Annotation> A getAnnotation(Class<A>); + method public java.lang.annotation.Annotation[] getAnnotations(); + method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(Class<A>); + method public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(Class<A>); + method public java.lang.annotation.Annotation[] getDeclaredAnnotations(); + method public <A extends java.lang.annotation.Annotation> A[] getDeclaredAnnotationsByType(Class<A>); + method public String getImplementationTitle(); + method public String getImplementationVendor(); + method public String getImplementationVersion(); + method public String getName(); + method public static Package getPackage(String); + method public static Package[] getPackages(); + method public String getSpecificationTitle(); + method public String getSpecificationVendor(); + method public String getSpecificationVersion(); + method public boolean isCompatibleWith(String) throws java.lang.NumberFormatException; + method public boolean isSealed(); + method public boolean isSealed(java.net.URL); + } + + public abstract class Process { + ctor public Process(); + method public abstract void destroy(); + method public Process destroyForcibly(); + method public abstract int exitValue(); + method public abstract java.io.InputStream getErrorStream(); + method public abstract java.io.InputStream getInputStream(); + method public abstract java.io.OutputStream getOutputStream(); + method public boolean isAlive(); + method public abstract int waitFor() throws java.lang.InterruptedException; + method public boolean waitFor(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + } + + public final class ProcessBuilder { + ctor public ProcessBuilder(java.util.List<java.lang.String>); + ctor public ProcessBuilder(java.lang.String...); + method public ProcessBuilder command(java.util.List<java.lang.String>); + method public ProcessBuilder command(java.lang.String...); + method public java.util.List<java.lang.String> command(); + method public java.io.File directory(); + method public ProcessBuilder directory(java.io.File); + method public java.util.Map<java.lang.String,java.lang.String> environment(); + method public ProcessBuilder inheritIO(); + method public ProcessBuilder redirectError(java.lang.ProcessBuilder.Redirect); + method public ProcessBuilder redirectError(java.io.File); + method public java.lang.ProcessBuilder.Redirect redirectError(); + method public boolean redirectErrorStream(); + method public ProcessBuilder redirectErrorStream(boolean); + method public ProcessBuilder redirectInput(java.lang.ProcessBuilder.Redirect); + method public ProcessBuilder redirectInput(java.io.File); + method public java.lang.ProcessBuilder.Redirect redirectInput(); + method public ProcessBuilder redirectOutput(java.lang.ProcessBuilder.Redirect); + method public ProcessBuilder redirectOutput(java.io.File); + method public java.lang.ProcessBuilder.Redirect redirectOutput(); + method public Process start() throws java.io.IOException; + } + + public abstract static class ProcessBuilder.Redirect { + method public static java.lang.ProcessBuilder.Redirect appendTo(java.io.File); + method public java.io.File file(); + method public static java.lang.ProcessBuilder.Redirect from(java.io.File); + method public static java.lang.ProcessBuilder.Redirect to(java.io.File); + method public abstract java.lang.ProcessBuilder.Redirect.Type type(); + field public static final java.lang.ProcessBuilder.Redirect INHERIT; + field public static final java.lang.ProcessBuilder.Redirect PIPE; + } + + public enum ProcessBuilder.Redirect.Type { + enum_constant public static final java.lang.ProcessBuilder.Redirect.Type APPEND; + enum_constant public static final java.lang.ProcessBuilder.Redirect.Type INHERIT; + enum_constant public static final java.lang.ProcessBuilder.Redirect.Type PIPE; + enum_constant public static final java.lang.ProcessBuilder.Redirect.Type READ; + enum_constant public static final java.lang.ProcessBuilder.Redirect.Type WRITE; + } + + public interface Readable { + method public int read(java.nio.CharBuffer) throws java.io.IOException; + } + + public class ReflectiveOperationException extends java.lang.Exception { + ctor public ReflectiveOperationException(); + ctor public ReflectiveOperationException(String); + ctor public ReflectiveOperationException(String, Throwable); + ctor public ReflectiveOperationException(Throwable); + } + + @java.lang.FunctionalInterface public interface Runnable { + method public void run(); + } + + public class Runtime { + method public void addShutdownHook(Thread); + method public int availableProcessors(); + method public Process exec(String) throws java.io.IOException; + method public Process exec(String, String[]) throws java.io.IOException; + method public Process exec(String, String[], java.io.File) throws java.io.IOException; + method public Process exec(String[]) throws java.io.IOException; + method public Process exec(String[], String[]) throws java.io.IOException; + method public Process exec(String[], String[], java.io.File) throws java.io.IOException; + method public void exit(int); + method public long freeMemory(); + method public void gc(); + method @Deprecated public java.io.InputStream getLocalizedInputStream(java.io.InputStream); + method @Deprecated public java.io.OutputStream getLocalizedOutputStream(java.io.OutputStream); + method public static Runtime getRuntime(); + method public void halt(int); + method public void load(String); + method public void loadLibrary(String); + method public long maxMemory(); + method public boolean removeShutdownHook(Thread); + method public void runFinalization(); + method @Deprecated public static void runFinalizersOnExit(boolean); + method public long totalMemory(); + method public void traceInstructions(boolean); + method public void traceMethodCalls(boolean); + } + + public class RuntimeException extends java.lang.Exception { + ctor public RuntimeException(); + ctor public RuntimeException(String); + ctor public RuntimeException(String, Throwable); + ctor public RuntimeException(Throwable); + ctor protected RuntimeException(String, Throwable, boolean, boolean); + } + + public final class RuntimePermission extends java.security.BasicPermission { + ctor public RuntimePermission(String); + ctor public RuntimePermission(String, String); + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.METHOD}) public @interface SafeVarargs { + } + + public class SecurityException extends java.lang.RuntimeException { + ctor public SecurityException(); + ctor public SecurityException(String); + ctor public SecurityException(String, Throwable); + ctor public SecurityException(Throwable); + } + + public class SecurityManager { + ctor public SecurityManager(); + method public void checkAccept(String, int); + method public void checkAccess(Thread); + method public void checkAccess(ThreadGroup); + method public void checkAwtEventQueueAccess(); + method public void checkConnect(String, int); + method public void checkConnect(String, int, Object); + method public void checkCreateClassLoader(); + method public void checkDelete(String); + method public void checkExec(String); + method public void checkExit(int); + method public void checkLink(String); + method public void checkListen(int); + method @Deprecated public void checkMemberAccess(Class<?>, int); + method public void checkMulticast(java.net.InetAddress); + method @Deprecated public void checkMulticast(java.net.InetAddress, byte); + method public void checkPackageAccess(String); + method public void checkPackageDefinition(String); + method public void checkPermission(java.security.Permission); + method public void checkPermission(java.security.Permission, Object); + method public void checkPrintJobAccess(); + method public void checkPropertiesAccess(); + method public void checkPropertyAccess(String); + method public void checkRead(java.io.FileDescriptor); + method public void checkRead(String); + method public void checkRead(String, Object); + method public void checkSecurityAccess(String); + method public void checkSetFactory(); + method public void checkSystemClipboardAccess(); + method @Deprecated public boolean checkTopLevelWindow(Object); + method public void checkWrite(java.io.FileDescriptor); + method public void checkWrite(String); + method @Deprecated protected int classDepth(String); + method @Deprecated protected int classLoaderDepth(); + method @Deprecated protected ClassLoader currentClassLoader(); + method @Deprecated protected Class<?> currentLoadedClass(); + method protected Class[] getClassContext(); + method @Deprecated public boolean getInCheck(); + method public Object getSecurityContext(); + method public ThreadGroup getThreadGroup(); + method @Deprecated protected boolean inClass(String); + method @Deprecated protected boolean inClassLoader(); + field @Deprecated protected boolean inCheck; + } + + public final class Short extends java.lang.Number implements java.lang.Comparable<java.lang.Short> { + ctor @Deprecated public Short(short); + ctor @Deprecated public Short(String) throws java.lang.NumberFormatException; + method public static int compare(short, short); + method public int compareTo(Short); + method public static int compareUnsigned(short, short); + method public static Short decode(String) throws java.lang.NumberFormatException; + method public double doubleValue(); + method public float floatValue(); + method public static int hashCode(short); + method public int intValue(); + method public long longValue(); + method public static short parseShort(String, int) throws java.lang.NumberFormatException; + method public static short parseShort(String) throws java.lang.NumberFormatException; + method public static short reverseBytes(short); + method public static String toString(short); + method public static int toUnsignedInt(short); + method public static long toUnsignedLong(short); + method public static Short valueOf(String, int) throws java.lang.NumberFormatException; + method public static Short valueOf(String) throws java.lang.NumberFormatException; + method public static Short valueOf(short); + field public static final int BYTES = 2; // 0x2 + field public static final short MAX_VALUE = 32767; // 0x7fff + field public static final short MIN_VALUE = -32768; // 0xffff8000 + field public static final int SIZE = 16; // 0x10 + field public static final Class<java.lang.Short> TYPE; + } + + public class StackOverflowError extends java.lang.VirtualMachineError { + ctor public StackOverflowError(); + ctor public StackOverflowError(String); + } + + public final class StackTraceElement implements java.io.Serializable { + ctor public StackTraceElement(String, String, String, int); + method public String getClassName(); + method public String getFileName(); + method public int getLineNumber(); + method public String getMethodName(); + method public boolean isNativeMethod(); + } + + public final class StrictMath { + method public static double IEEEremainder(double, double); + method public static int abs(int); + method public static long abs(long); + method public static float abs(float); + method public static double abs(double); + method public static double acos(double); + method public static int addExact(int, int); + method public static long addExact(long, long); + method public static double asin(double); + method public static double atan(double); + method public static double atan2(double, double); + method public static double cbrt(double); + method public static double ceil(double); + method public static double copySign(double, double); + method public static float copySign(float, float); + method public static double cos(double); + method public static double cosh(double); + method public static double exp(double); + method public static double expm1(double); + method public static double floor(double); + method public static int floorDiv(int, int); + method public static long floorDiv(long, int); + method public static long floorDiv(long, long); + method public static int floorMod(int, int); + method public static int floorMod(long, int); + method public static long floorMod(long, long); + method public static double fma(double, double, double); + method public static float fma(float, float, float); + method public static int getExponent(float); + method public static int getExponent(double); + method public static double hypot(double, double); + method public static double log(double); + method public static double log10(double); + method public static double log1p(double); + method public static int max(int, int); + method public static long max(long, long); + method public static float max(float, float); + method public static double max(double, double); + method public static int min(int, int); + method public static long min(long, long); + method public static float min(float, float); + method public static double min(double, double); + method public static int multiplyExact(int, int); + method public static long multiplyExact(long, int); + method public static long multiplyExact(long, long); + method public static long multiplyFull(int, int); + method public static long multiplyHigh(long, long); + method public static double nextAfter(double, double); + method public static float nextAfter(float, double); + method public static double nextDown(double); + method public static float nextDown(float); + method public static double nextUp(double); + method public static float nextUp(float); + method public static double pow(double, double); + method public static double random(); + method public static double rint(double); + method public static int round(float); + method public static long round(double); + method public static double scalb(double, int); + method public static float scalb(float, int); + method public static double signum(double); + method public static float signum(float); + method public static double sin(double); + method public static double sinh(double); + method public static double sqrt(double); + method public static int subtractExact(int, int); + method public static long subtractExact(long, long); + method public static double tan(double); + method public static double tanh(double); + method public static double toDegrees(double); + method public static int toIntExact(long); + method public static double toRadians(double); + method public static double ulp(double); + method public static float ulp(float); + field public static final double E = 2.718281828459045; + field public static final double PI = 3.141592653589793; + } + + public final class String implements java.lang.CharSequence java.lang.Comparable<java.lang.String> java.io.Serializable { + ctor public String(); + ctor public String(@NonNull String); + ctor public String(char[]); + ctor public String(char[], int, int); + ctor public String(int[], int, int); + ctor @Deprecated public String(byte[], int, int, int); + ctor @Deprecated public String(byte[], int); + ctor public String(byte[], int, int, @NonNull String) throws java.io.UnsupportedEncodingException; + ctor public String(byte[], int, int, @NonNull java.nio.charset.Charset); + ctor public String(byte[], @NonNull String) throws java.io.UnsupportedEncodingException; + ctor public String(byte[], @NonNull java.nio.charset.Charset); + ctor public String(byte[], int, int); + ctor public String(byte[]); + ctor public String(@NonNull StringBuffer); + ctor public String(@NonNull StringBuilder); + method public char charAt(int); + method public int codePointAt(int); + method public int codePointBefore(int); + method public int codePointCount(int, int); + method public int compareTo(@NonNull String); + method public int compareToIgnoreCase(@NonNull String); + method @NonNull public String concat(@NonNull String); + method public boolean contains(@NonNull CharSequence); + method public boolean contentEquals(@NonNull StringBuffer); + method public boolean contentEquals(@NonNull CharSequence); + method @NonNull public static String copyValueOf(char[], int, int); + method @NonNull public static String copyValueOf(char[]); + method public boolean endsWith(@NonNull String); + method public boolean equalsIgnoreCase(@Nullable String); + method @NonNull public static String format(@NonNull String, @NonNull java.lang.Object...); + method @NonNull public static String format(@NonNull java.util.Locale, @NonNull String, @NonNull java.lang.Object...); + method @Deprecated public void getBytes(int, int, byte[], int); + method public byte[] getBytes(@NonNull String) throws java.io.UnsupportedEncodingException; + method public byte[] getBytes(@NonNull java.nio.charset.Charset); + method public byte[] getBytes(); + method public void getChars(int, int, char[], int); + method public int indexOf(int); + method public int indexOf(int, int); + method public int indexOf(@NonNull String); + method public int indexOf(@NonNull String, int); + method @NonNull public String intern(); + method public boolean isBlank(); + method public boolean isEmpty(); + method @NonNull public static String join(@NonNull CharSequence, @Nullable java.lang.CharSequence...); + method @NonNull public static String join(@NonNull CharSequence, @NonNull Iterable<? extends java.lang.CharSequence>); + method public int lastIndexOf(int); + method public int lastIndexOf(int, int); + method public int lastIndexOf(@NonNull String); + method public int lastIndexOf(@NonNull String, int); + method public int length(); + method @NonNull public java.util.stream.Stream<java.lang.String> lines(); + method public boolean matches(@NonNull String); + method public int offsetByCodePoints(int, int); + method public boolean regionMatches(int, @NonNull String, int, int); + method public boolean regionMatches(boolean, int, @NonNull String, int, int); + method @NonNull public String repeat(int); + method @NonNull public String replace(char, char); + method @NonNull public String replace(@NonNull CharSequence, @NonNull CharSequence); + method @NonNull public String replaceAll(@NonNull String, @NonNull String); + method @NonNull public String replaceFirst(@NonNull String, @NonNull String); + method @NonNull public String[] split(@NonNull String, int); + method @NonNull public String[] split(@NonNull String); + method public boolean startsWith(@NonNull String, int); + method public boolean startsWith(@NonNull String); + method @NonNull public String strip(); + method @NonNull public String stripLeading(); + method @NonNull public String stripTrailing(); + method @NonNull public CharSequence subSequence(int, int); + method @NonNull public String substring(int); + method @NonNull public String substring(int, int); + method public char[] toCharArray(); + method @NonNull public String toLowerCase(@NonNull java.util.Locale); + method @NonNull public String toLowerCase(); + method @NonNull public String toUpperCase(@NonNull java.util.Locale); + method @NonNull public String toUpperCase(); + method @NonNull public String trim(); + method @NonNull public static String valueOf(@Nullable Object); + method @NonNull public static String valueOf(char[]); + method @NonNull public static String valueOf(char[], int, int); + method @NonNull public static String valueOf(boolean); + method @NonNull public static String valueOf(char); + method @NonNull public static String valueOf(int); + method @NonNull public static String valueOf(long); + method @NonNull public static String valueOf(float); + method @NonNull public static String valueOf(double); + field public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER; + } + + public final class StringBuffer implements java.lang.Appendable java.lang.CharSequence java.io.Serializable { + ctor public StringBuffer(); + ctor public StringBuffer(int); + ctor public StringBuffer(@NonNull String); + ctor public StringBuffer(@NonNull CharSequence); + method @NonNull public StringBuffer append(@Nullable Object); + method @NonNull public StringBuffer append(@Nullable String); + method @NonNull public StringBuffer append(@Nullable StringBuffer); + method @NonNull public StringBuffer append(@Nullable CharSequence); + method @NonNull public StringBuffer append(@Nullable CharSequence, int, int); + method @NonNull public StringBuffer append(char[]); + method @NonNull public StringBuffer append(char[], int, int); + method @NonNull public StringBuffer append(boolean); + method @NonNull public StringBuffer append(char); + method @NonNull public StringBuffer append(int); + method @NonNull public StringBuffer append(long); + method @NonNull public StringBuffer append(float); + method @NonNull public StringBuffer append(double); + method @NonNull public StringBuffer appendCodePoint(int); + method public int capacity(); + method public char charAt(int); + method public int codePointAt(int); + method public int codePointBefore(int); + method public int codePointCount(int, int); + method @NonNull public StringBuffer delete(int, int); + method @NonNull public StringBuffer deleteCharAt(int); + method public void ensureCapacity(int); + method public void getChars(int, int, char[], int); + method public int indexOf(@NonNull String); + method public int indexOf(@NonNull String, int); + method @NonNull public StringBuffer insert(int, char[], int, int); + method @NonNull public StringBuffer insert(int, @Nullable Object); + method @NonNull public StringBuffer insert(int, @Nullable String); + method @NonNull public StringBuffer insert(int, char[]); + method @NonNull public StringBuffer insert(int, @Nullable CharSequence); + method @NonNull public StringBuffer insert(int, @Nullable CharSequence, int, int); + method @NonNull public StringBuffer insert(int, boolean); + method @NonNull public StringBuffer insert(int, char); + method @NonNull public StringBuffer insert(int, int); + method @NonNull public StringBuffer insert(int, long); + method @NonNull public StringBuffer insert(int, float); + method @NonNull public StringBuffer insert(int, double); + method public int lastIndexOf(@NonNull String); + method public int lastIndexOf(@NonNull String, int); + method public int length(); + method public int offsetByCodePoints(int, int); + method @NonNull public StringBuffer replace(int, int, @NonNull String); + method @NonNull public StringBuffer reverse(); + method public void setCharAt(int, char); + method public void setLength(int); + method @NonNull public CharSequence subSequence(int, int); + method @NonNull public String substring(int); + method @NonNull public String substring(int, int); + method public void trimToSize(); + } + + public final class StringBuilder implements java.lang.Appendable java.lang.CharSequence java.io.Serializable { + ctor public StringBuilder(); + ctor public StringBuilder(int); + ctor public StringBuilder(@NonNull String); + ctor public StringBuilder(@NonNull CharSequence); + method @NonNull public StringBuilder append(@Nullable Object); + method @NonNull public StringBuilder append(@Nullable String); + method @NonNull public StringBuilder append(@Nullable StringBuffer); + method @NonNull public StringBuilder append(@Nullable CharSequence); + method @NonNull public StringBuilder append(@Nullable CharSequence, int, int); + method @NonNull public StringBuilder append(char[]); + method @NonNull public StringBuilder append(char[], int, int); + method @NonNull public StringBuilder append(boolean); + method @NonNull public StringBuilder append(char); + method @NonNull public StringBuilder append(int); + method @NonNull public StringBuilder append(long); + method @NonNull public StringBuilder append(float); + method @NonNull public StringBuilder append(double); + method @NonNull public StringBuilder appendCodePoint(int); + method public int capacity(); + method public char charAt(int); + method public int codePointAt(int); + method public int codePointBefore(int); + method public int codePointCount(int, int); + method @NonNull public StringBuilder delete(int, int); + method @NonNull public StringBuilder deleteCharAt(int); + method public void ensureCapacity(int); + method public void getChars(int, int, char[], int); + method public int indexOf(@NonNull String); + method public int indexOf(@NonNull String, int); + method @NonNull public StringBuilder insert(int, char[], int, int); + method @NonNull public StringBuilder insert(int, @Nullable Object); + method @NonNull public StringBuilder insert(int, @Nullable String); + method @NonNull public StringBuilder insert(int, char[]); + method @NonNull public StringBuilder insert(int, @Nullable CharSequence); + method @NonNull public StringBuilder insert(int, @Nullable CharSequence, int, int); + method @NonNull public StringBuilder insert(int, boolean); + method @NonNull public StringBuilder insert(int, char); + method @NonNull public StringBuilder insert(int, int); + method @NonNull public StringBuilder insert(int, long); + method @NonNull public StringBuilder insert(int, float); + method @NonNull public StringBuilder insert(int, double); + method public int lastIndexOf(@NonNull String); + method public int lastIndexOf(@NonNull String, int); + method public int length(); + method public int offsetByCodePoints(int, int); + method @NonNull public StringBuilder replace(int, int, @NonNull String); + method @NonNull public StringBuilder reverse(); + method public void setCharAt(int, char); + method public void setLength(int); + method @NonNull public CharSequence subSequence(int, int); + method @NonNull public String substring(int); + method @NonNull public String substring(int, int); + method public void trimToSize(); + } + + public class StringIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException { + ctor public StringIndexOutOfBoundsException(); + ctor public StringIndexOutOfBoundsException(String); + ctor public StringIndexOutOfBoundsException(int); + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.LOCAL_VARIABLE}) public @interface SuppressWarnings { + method public abstract String[] value(); + } + + public final class System { + method public static void arraycopy(@NonNull Object, int, @NonNull Object, int, int); + method @Nullable public static String clearProperty(@NonNull String); + method @Nullable public static java.io.Console console(); + method public static long currentTimeMillis(); + method public static void exit(int); + method public static void gc(); + method @NonNull public static java.util.Properties getProperties(); + method @Nullable public static String getProperty(@NonNull String); + method @Nullable public static String getProperty(@NonNull String, @Nullable String); + method @Nullable public static SecurityManager getSecurityManager(); + method @Nullable public static String getenv(@NonNull String); + method @NonNull public static java.util.Map<java.lang.String,java.lang.String> getenv(); + method public static int identityHashCode(@Nullable Object); + method @Nullable public static java.nio.channels.Channel inheritedChannel() throws java.io.IOException; + method @NonNull public static String lineSeparator(); + method public static void load(@NonNull String); + method public static void loadLibrary(@NonNull String); + method @NonNull public static String mapLibraryName(@NonNull String); + method public static long nanoTime(); + method public static void runFinalization(); + method @Deprecated public static void runFinalizersOnExit(boolean); + method public static void setErr(@Nullable java.io.PrintStream); + method public static void setIn(@Nullable java.io.InputStream); + method public static void setOut(@Nullable java.io.PrintStream); + method public static void setProperties(@Nullable java.util.Properties); + method @Nullable public static String setProperty(@NonNull String, @Nullable String); + method public static void setSecurityManager(@Nullable SecurityManager); + field public static final java.io.PrintStream err; + field public static final java.io.InputStream in; + field public static final java.io.PrintStream out; + } + + public class Thread implements java.lang.Runnable { + ctor public Thread(); + ctor public Thread(@Nullable Runnable); + ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable); + ctor public Thread(@NonNull String); + ctor public Thread(@Nullable ThreadGroup, @NonNull String); + ctor public Thread(@Nullable Runnable, @NonNull String); + ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable, @NonNull String); + ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable, @NonNull String, long); + ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable, @NonNull String, long, boolean); + method public static int activeCount(); + method public final void checkAccess(); + method @Deprecated public int countStackFrames(); + method @NonNull public static Thread currentThread(); + method @Deprecated public void destroy(); + method public static void dumpStack(); + method public static int enumerate(Thread[]); + method @NonNull public static java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> getAllStackTraces(); + method @Nullable public ClassLoader getContextClassLoader(); + method @Nullable public static java.lang.Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler(); + method public long getId(); + method @NonNull public final String getName(); + method public final int getPriority(); + method @NonNull public StackTraceElement[] getStackTrace(); + method @NonNull public java.lang.Thread.State getState(); + method @Nullable public final ThreadGroup getThreadGroup(); + method @Nullable public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler(); + method public static boolean holdsLock(@NonNull Object); + method public void interrupt(); + method public static boolean interrupted(); + method public final boolean isAlive(); + method public final boolean isDaemon(); + method public boolean isInterrupted(); + method public final void join(long) throws java.lang.InterruptedException; + method public final void join(long, int) throws java.lang.InterruptedException; + method public final void join() throws java.lang.InterruptedException; + method public static void onSpinWait(); + method @Deprecated public final void resume(); + method public void run(); + method public void setContextClassLoader(@Nullable ClassLoader); + method public final void setDaemon(boolean); + method public static void setDefaultUncaughtExceptionHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler); + method public final void setName(@NonNull String); + method public final void setPriority(int); + method public void setUncaughtExceptionHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler); + method public static void sleep(long) throws java.lang.InterruptedException; + method public static void sleep(long, int) throws java.lang.InterruptedException; + method public void start(); + method @Deprecated public final void stop(); + method @Deprecated public final void stop(@Nullable Throwable); + method @Deprecated public final void suspend(); + method public static void yield(); + field public static final int MAX_PRIORITY = 10; // 0xa + field public static final int MIN_PRIORITY = 1; // 0x1 + field public static final int NORM_PRIORITY = 5; // 0x5 + } + + public enum Thread.State { + enum_constant public static final java.lang.Thread.State BLOCKED; + enum_constant public static final java.lang.Thread.State NEW; + enum_constant public static final java.lang.Thread.State RUNNABLE; + enum_constant public static final java.lang.Thread.State TERMINATED; + enum_constant public static final java.lang.Thread.State TIMED_WAITING; + enum_constant public static final java.lang.Thread.State WAITING; + } + + @java.lang.FunctionalInterface public static interface Thread.UncaughtExceptionHandler { + method public void uncaughtException(@NonNull Thread, @NonNull Throwable); + } + + public class ThreadDeath extends java.lang.Error { + ctor public ThreadDeath(); + } + + public class ThreadGroup implements java.lang.Thread.UncaughtExceptionHandler { + ctor public ThreadGroup(String); + ctor public ThreadGroup(ThreadGroup, String); + method public int activeCount(); + method public int activeGroupCount(); + method @Deprecated public boolean allowThreadSuspension(boolean); + method public final void checkAccess(); + method public final void destroy(); + method public int enumerate(Thread[]); + method public int enumerate(Thread[], boolean); + method public int enumerate(ThreadGroup[]); + method public int enumerate(ThreadGroup[], boolean); + method public final int getMaxPriority(); + method public final String getName(); + method public final ThreadGroup getParent(); + method public final void interrupt(); + method public final boolean isDaemon(); + method public boolean isDestroyed(); + method public void list(); + method public final boolean parentOf(ThreadGroup); + method @Deprecated public final void resume(); + method public final void setDaemon(boolean); + method public final void setMaxPriority(int); + method @Deprecated public final void stop(); + method @Deprecated public final void suspend(); + method public void uncaughtException(Thread, Throwable); + } + + public class ThreadLocal<T> { + ctor public ThreadLocal(); + method @Nullable public T get(); + method @Nullable protected T initialValue(); + method public void remove(); + method public void set(T); + method @NonNull public static <S> ThreadLocal<S> withInitial(@NonNull java.util.function.Supplier<? extends S>); + } + + public class Throwable implements java.io.Serializable { + ctor public Throwable(); + ctor public Throwable(@Nullable String); + ctor public Throwable(@Nullable String, @Nullable Throwable); + ctor public Throwable(@Nullable Throwable); + ctor protected Throwable(@Nullable String, @Nullable Throwable, boolean, boolean); + method public final void addSuppressed(@NonNull Throwable); + method @NonNull public Throwable fillInStackTrace(); + method @Nullable public Throwable getCause(); + method @Nullable public String getLocalizedMessage(); + method @Nullable public String getMessage(); + method @NonNull public StackTraceElement[] getStackTrace(); + method @NonNull public final Throwable[] getSuppressed(); + method @NonNull public Throwable initCause(@Nullable Throwable); + method public void printStackTrace(); + method public void printStackTrace(@NonNull java.io.PrintStream); + method public void printStackTrace(@NonNull java.io.PrintWriter); + method public void setStackTrace(@NonNull StackTraceElement[]); + } + + public class TypeNotPresentException extends java.lang.RuntimeException { + ctor public TypeNotPresentException(String, Throwable); + method public String typeName(); + } + + public class UnknownError extends java.lang.VirtualMachineError { + ctor public UnknownError(); + ctor public UnknownError(String); + } + + public class UnsatisfiedLinkError extends java.lang.LinkageError { + ctor public UnsatisfiedLinkError(); + ctor public UnsatisfiedLinkError(String); + } + + public class UnsupportedClassVersionError extends java.lang.ClassFormatError { + ctor public UnsupportedClassVersionError(); + ctor public UnsupportedClassVersionError(String); + } + + public class UnsupportedOperationException extends java.lang.RuntimeException { + ctor public UnsupportedOperationException(); + ctor public UnsupportedOperationException(String); + ctor public UnsupportedOperationException(String, Throwable); + ctor public UnsupportedOperationException(Throwable); + } + + public class VerifyError extends java.lang.LinkageError { + ctor public VerifyError(); + ctor public VerifyError(String); + } + + public abstract class VirtualMachineError extends java.lang.Error { + ctor public VirtualMachineError(); + ctor public VirtualMachineError(String); + ctor public VirtualMachineError(String, Throwable); + ctor public VirtualMachineError(Throwable); + } + + public final class Void { + field public static final Class<java.lang.Void> TYPE; + } + +} + +package java.lang.annotation { + + public interface Annotation { + method public Class<? extends java.lang.annotation.Annotation> annotationType(); + method public boolean equals(Object); + method public int hashCode(); + method public String toString(); + } + + public class AnnotationFormatError extends java.lang.Error { + ctor public AnnotationFormatError(String); + ctor public AnnotationFormatError(String, Throwable); + ctor public AnnotationFormatError(Throwable); + } + + public class AnnotationTypeMismatchException extends java.lang.RuntimeException { + ctor public AnnotationTypeMismatchException(java.lang.reflect.Method, String); + method public java.lang.reflect.Method element(); + method public String foundType(); + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Documented { + } + + public enum ElementType { + enum_constant public static final java.lang.annotation.ElementType ANNOTATION_TYPE; + enum_constant public static final java.lang.annotation.ElementType CONSTRUCTOR; + enum_constant public static final java.lang.annotation.ElementType FIELD; + enum_constant public static final java.lang.annotation.ElementType LOCAL_VARIABLE; + enum_constant public static final java.lang.annotation.ElementType METHOD; + enum_constant public static final java.lang.annotation.ElementType MODULE; + enum_constant public static final java.lang.annotation.ElementType PACKAGE; + enum_constant public static final java.lang.annotation.ElementType PARAMETER; + enum_constant public static final java.lang.annotation.ElementType TYPE; + enum_constant public static final java.lang.annotation.ElementType TYPE_PARAMETER; + enum_constant public static final java.lang.annotation.ElementType TYPE_USE; + } + + public class IncompleteAnnotationException extends java.lang.RuntimeException { + ctor public IncompleteAnnotationException(Class<? extends java.lang.annotation.Annotation>, String); + method public Class<? extends java.lang.annotation.Annotation> annotationType(); + method public String elementName(); + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Inherited { + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.FIELD) public @interface Native { + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Repeatable { + method public abstract Class<? extends java.lang.annotation.Annotation> value(); + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Retention { + method public abstract java.lang.annotation.RetentionPolicy value(); + } + + public enum RetentionPolicy { + enum_constant public static final java.lang.annotation.RetentionPolicy CLASS; + enum_constant public static final java.lang.annotation.RetentionPolicy RUNTIME; + enum_constant public static final java.lang.annotation.RetentionPolicy SOURCE; + } + + @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Target { + method public abstract java.lang.annotation.ElementType[] value(); + } + +} + +package java.lang.invoke { + + public abstract class CallSite { + method public abstract java.lang.invoke.MethodHandle dynamicInvoker(); + method public abstract java.lang.invoke.MethodHandle getTarget(); + method public abstract void setTarget(java.lang.invoke.MethodHandle); + method public java.lang.invoke.MethodType type(); + } + + public class ConstantCallSite extends java.lang.invoke.CallSite { + ctor public ConstantCallSite(java.lang.invoke.MethodHandle); + ctor protected ConstantCallSite(java.lang.invoke.MethodType, java.lang.invoke.MethodHandle) throws java.lang.Throwable; + method public final java.lang.invoke.MethodHandle dynamicInvoker(); + method public final java.lang.invoke.MethodHandle getTarget(); + method public final void setTarget(java.lang.invoke.MethodHandle); + } + + public class LambdaConversionException extends java.lang.Exception { + ctor public LambdaConversionException(); + ctor public LambdaConversionException(String); + ctor public LambdaConversionException(String, Throwable); + ctor public LambdaConversionException(Throwable); + ctor public LambdaConversionException(String, Throwable, boolean, boolean); + } + + public abstract class MethodHandle { + method public java.lang.invoke.MethodHandle asCollector(Class<?>, int); + method public java.lang.invoke.MethodHandle asCollector(int, Class<?>, int); + method public java.lang.invoke.MethodHandle asFixedArity(); + method public java.lang.invoke.MethodHandle asSpreader(Class<?>, int); + method public java.lang.invoke.MethodHandle asSpreader(int, Class<?>, int); + method public java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodType); + method public java.lang.invoke.MethodHandle asVarargsCollector(Class<?>); + method public java.lang.invoke.MethodHandle bindTo(Object); + method public final Object invoke(java.lang.Object...) throws java.lang.Throwable; + method public final Object invokeExact(java.lang.Object...) throws java.lang.Throwable; + method public Object invokeWithArguments(java.lang.Object...) throws java.lang.Throwable; + method public Object invokeWithArguments(java.util.List<?>) throws java.lang.Throwable; + method public boolean isVarargsCollector(); + method public java.lang.invoke.MethodType type(); + method public java.lang.invoke.MethodHandle withVarargs(boolean); + } + + public interface MethodHandleInfo { + method public Class<?> getDeclaringClass(); + method public java.lang.invoke.MethodType getMethodType(); + method public int getModifiers(); + method public String getName(); + method public int getReferenceKind(); + method public default boolean isVarArgs(); + method @Deprecated public static boolean refKindIsField(int); + method @Deprecated public static boolean refKindIsValid(int); + method @Deprecated public static String refKindName(int); + method public static String referenceKindToString(int); + method public <T extends java.lang.reflect.Member> T reflectAs(Class<T>, java.lang.invoke.MethodHandles.Lookup); + method public static String toString(int, Class<?>, String, java.lang.invoke.MethodType); + field public static final int REF_getField = 1; // 0x1 + field public static final int REF_getStatic = 2; // 0x2 + field public static final int REF_invokeInterface = 9; // 0x9 + field public static final int REF_invokeSpecial = 7; // 0x7 + field public static final int REF_invokeStatic = 6; // 0x6 + field public static final int REF_invokeVirtual = 5; // 0x5 + field public static final int REF_newInvokeSpecial = 8; // 0x8 + field public static final int REF_putField = 3; // 0x3 + field public static final int REF_putStatic = 4; // 0x4 + } + + public class MethodHandles { + method public static java.lang.invoke.MethodHandle arrayConstructor(Class<?>) throws java.lang.IllegalArgumentException; + method public static java.lang.invoke.MethodHandle arrayElementGetter(Class<?>) throws java.lang.IllegalArgumentException; + method public static java.lang.invoke.MethodHandle arrayElementSetter(Class<?>) throws java.lang.IllegalArgumentException; + method public static java.lang.invoke.VarHandle arrayElementVarHandle(Class<?>) throws java.lang.IllegalArgumentException; + method public static java.lang.invoke.MethodHandle arrayLength(Class<?>) throws java.lang.IllegalArgumentException; + method public static java.lang.invoke.VarHandle byteArrayViewVarHandle(Class<?>, java.nio.ByteOrder) throws java.lang.IllegalArgumentException; + method public static java.lang.invoke.VarHandle byteBufferViewVarHandle(Class<?>, java.nio.ByteOrder) throws java.lang.IllegalArgumentException; + method public static java.lang.invoke.MethodHandle catchException(java.lang.invoke.MethodHandle, Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle collectArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle constant(Class<?>, Object); + method public static java.lang.invoke.MethodHandle countedLoop(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle countedLoop(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle doWhileLoop(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, Class<?>...); + method public static java.lang.invoke.MethodHandle dropArgumentsToMatch(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>, int); + method public static java.lang.invoke.MethodHandle empty(java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle exactInvoker(java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle explicitCastArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle filterArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle...); + method public static java.lang.invoke.MethodHandle filterReturnValue(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle foldArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle foldArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle guardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle identity(Class<?>); + method public static java.lang.invoke.MethodHandle insertArguments(java.lang.invoke.MethodHandle, int, java.lang.Object...); + method public static java.lang.invoke.MethodHandle invoker(java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle iteratedLoop(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandles.Lookup lookup(); + method public static java.lang.invoke.MethodHandle loop(java.lang.invoke.MethodHandle[]...); + method public static java.lang.invoke.MethodHandle permuteArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, int...); + method public static java.lang.invoke.MethodHandles.Lookup privateLookupIn(Class<?>, java.lang.invoke.MethodHandles.Lookup) throws java.lang.IllegalAccessException; + method public static java.lang.invoke.MethodHandles.Lookup publicLookup(); + method public static <T extends java.lang.reflect.Member> T reflectAs(Class<T>, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle spreadInvoker(java.lang.invoke.MethodType, int); + method public static java.lang.invoke.MethodHandle throwException(Class<?>, Class<? extends java.lang.Throwable>); + method public static java.lang.invoke.MethodHandle tryFinally(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle varHandleExactInvoker(java.lang.invoke.VarHandle.AccessMode, java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle varHandleInvoker(java.lang.invoke.VarHandle.AccessMode, java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle whileLoop(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle zero(Class<?>); + } + + public static final class MethodHandles.Lookup { + method public java.lang.invoke.MethodHandle bind(Object, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findConstructor(Class<?>, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findGetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSpecial(Class<?>, String, java.lang.invoke.MethodType, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStatic(Class<?>, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStaticGetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findStaticSetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.VarHandle findStaticVarHandle(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.VarHandle findVarHandle(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findVirtual(Class<?>, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandles.Lookup in(Class<?>); + method public Class<?> lookupClass(); + method public int lookupModes(); + method public java.lang.invoke.MethodHandleInfo revealDirect(java.lang.invoke.MethodHandle); + method public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor<?>) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSpecial(java.lang.reflect.Method, Class<?>) throws java.lang.IllegalAccessException; + method public java.lang.invoke.VarHandle unreflectVarHandle(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + field public static final int PACKAGE = 8; // 0x8 + field public static final int PRIVATE = 2; // 0x2 + field public static final int PROTECTED = 4; // 0x4 + field public static final int PUBLIC = 1; // 0x1 + } + + public final class MethodType implements java.io.Serializable { + method public java.lang.invoke.MethodType appendParameterTypes(Class<?>...); + method public java.lang.invoke.MethodType appendParameterTypes(java.util.List<java.lang.Class<?>>); + method public java.lang.invoke.MethodType changeParameterType(int, Class<?>); + method public java.lang.invoke.MethodType changeReturnType(Class<?>); + method public java.lang.invoke.MethodType dropParameterTypes(int, int); + method public java.lang.invoke.MethodType erase(); + method public static java.lang.invoke.MethodType fromMethodDescriptorString(String, ClassLoader) throws java.lang.IllegalArgumentException, java.lang.TypeNotPresentException; + method public java.lang.invoke.MethodType generic(); + method public static java.lang.invoke.MethodType genericMethodType(int, boolean); + method public static java.lang.invoke.MethodType genericMethodType(int); + method public boolean hasPrimitives(); + method public boolean hasWrappers(); + method public java.lang.invoke.MethodType insertParameterTypes(int, Class<?>...); + method public java.lang.invoke.MethodType insertParameterTypes(int, java.util.List<java.lang.Class<?>>); + method public Class<?> lastParameterType(); + method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>[]); + method public static java.lang.invoke.MethodType methodType(Class<?>, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>, Class<?>...); + method public static java.lang.invoke.MethodType methodType(Class<?>); + method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>); + method public static java.lang.invoke.MethodType methodType(Class<?>, java.lang.invoke.MethodType); + method public Class<?>[] parameterArray(); + method public int parameterCount(); + method public java.util.List<java.lang.Class<?>> parameterList(); + method public Class<?> parameterType(int); + method public Class<?> returnType(); + method public String toMethodDescriptorString(); + method public java.lang.invoke.MethodType unwrap(); + method public java.lang.invoke.MethodType wrap(); + } + + public class MutableCallSite extends java.lang.invoke.CallSite { + ctor public MutableCallSite(java.lang.invoke.MethodType); + ctor public MutableCallSite(java.lang.invoke.MethodHandle); + method public final java.lang.invoke.MethodHandle dynamicInvoker(); + method public final java.lang.invoke.MethodHandle getTarget(); + method public void setTarget(java.lang.invoke.MethodHandle); + } + + public abstract class VarHandle { + method public final java.lang.invoke.MethodType accessModeType(java.lang.invoke.VarHandle.AccessMode); + method public static void acquireFence(); + method public final Object compareAndExchange(java.lang.Object...); + method public final Object compareAndExchangeAcquire(java.lang.Object...); + method public final Object compareAndExchangeRelease(java.lang.Object...); + method public final boolean compareAndSet(java.lang.Object...); + method public final java.util.List<java.lang.Class<?>> coordinateTypes(); + method public static void fullFence(); + method public final Object get(java.lang.Object...); + method public final Object getAcquire(java.lang.Object...); + method public final Object getAndAdd(java.lang.Object...); + method public final Object getAndAddAcquire(java.lang.Object...); + method public final Object getAndAddRelease(java.lang.Object...); + method public final Object getAndBitwiseAnd(java.lang.Object...); + method public final Object getAndBitwiseAndAcquire(java.lang.Object...); + method public final Object getAndBitwiseAndRelease(java.lang.Object...); + method public final Object getAndBitwiseOr(java.lang.Object...); + method public final Object getAndBitwiseOrAcquire(java.lang.Object...); + method public final Object getAndBitwiseOrRelease(java.lang.Object...); + method public final Object getAndBitwiseXor(java.lang.Object...); + method public final Object getAndBitwiseXorAcquire(java.lang.Object...); + method public final Object getAndBitwiseXorRelease(java.lang.Object...); + method public final Object getAndSet(java.lang.Object...); + method public final Object getAndSetAcquire(java.lang.Object...); + method public final Object getAndSetRelease(java.lang.Object...); + method public final Object getOpaque(java.lang.Object...); + method public final Object getVolatile(java.lang.Object...); + method public final boolean isAccessModeSupported(java.lang.invoke.VarHandle.AccessMode); + method public static void loadLoadFence(); + method public static void releaseFence(); + method public final void set(java.lang.Object...); + method public final void setOpaque(java.lang.Object...); + method public final void setRelease(java.lang.Object...); + method public final void setVolatile(java.lang.Object...); + method public static void storeStoreFence(); + method public final java.lang.invoke.MethodHandle toMethodHandle(java.lang.invoke.VarHandle.AccessMode); + method public final Class<?> varType(); + method public final boolean weakCompareAndSet(java.lang.Object...); + method public final boolean weakCompareAndSetAcquire(java.lang.Object...); + method public final boolean weakCompareAndSetPlain(java.lang.Object...); + method public final boolean weakCompareAndSetRelease(java.lang.Object...); + } + + public enum VarHandle.AccessMode { + method public String methodName(); + method public static java.lang.invoke.VarHandle.AccessMode valueFromMethodName(String); + enum_constant public static final java.lang.invoke.VarHandle.AccessMode COMPARE_AND_EXCHANGE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode COMPARE_AND_EXCHANGE_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode COMPARE_AND_EXCHANGE_RELEASE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode COMPARE_AND_SET; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_ADD; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_ADD_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_ADD_RELEASE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_AND; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_AND_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_AND_RELEASE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_OR; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_OR_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_OR_RELEASE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_XOR; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_XOR_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_BITWISE_XOR_RELEASE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_SET; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_SET_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_AND_SET_RELEASE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_OPAQUE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode GET_VOLATILE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode SET; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode SET_OPAQUE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode SET_RELEASE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode SET_VOLATILE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode WEAK_COMPARE_AND_SET; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode WEAK_COMPARE_AND_SET_ACQUIRE; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode WEAK_COMPARE_AND_SET_PLAIN; + enum_constant public static final java.lang.invoke.VarHandle.AccessMode WEAK_COMPARE_AND_SET_RELEASE; + } + + public class VolatileCallSite extends java.lang.invoke.CallSite { + ctor public VolatileCallSite(java.lang.invoke.MethodType); + ctor public VolatileCallSite(java.lang.invoke.MethodHandle); + method public final java.lang.invoke.MethodHandle dynamicInvoker(); + method public final java.lang.invoke.MethodHandle getTarget(); + method public void setTarget(java.lang.invoke.MethodHandle); + } + + public class WrongMethodTypeException extends java.lang.RuntimeException { + ctor public WrongMethodTypeException(); + ctor public WrongMethodTypeException(String); + } + +} + +package java.lang.ref { + + public final class Cleaner { + method public static java.lang.ref.Cleaner create(); + method public static java.lang.ref.Cleaner create(java.util.concurrent.ThreadFactory); + method public java.lang.ref.Cleaner.Cleanable register(Object, Runnable); + } + + public static interface Cleaner.Cleanable { + method public void clean(); + } + + public class PhantomReference<T> extends java.lang.ref.Reference<T> { + ctor public PhantomReference(T, java.lang.ref.ReferenceQueue<? super T>); + } + + public abstract class Reference<T> { + method public void clear(); + method public boolean enqueue(); + method public T get(); + method @Deprecated public boolean isEnqueued(); + method public static void reachabilityFence(Object); + method public final boolean refersTo(T); + } + + 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<T> extends java.lang.ref.Reference<T> { + ctor public SoftReference(T); + ctor public SoftReference(T, java.lang.ref.ReferenceQueue<? super T>); + } + + public class WeakReference<T> extends java.lang.ref.Reference<T> { + ctor public WeakReference(T); + ctor public WeakReference(T, java.lang.ref.ReferenceQueue<? super T>); + } + +} + +package java.lang.reflect { + + public class AccessibleObject implements java.lang.reflect.AnnotatedElement { + ctor protected AccessibleObject(); + method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>); + method @NonNull public java.lang.annotation.Annotation[] getAnnotations(); + method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations(); + method public boolean isAccessible(); + method public static void setAccessible(java.lang.reflect.AccessibleObject[], boolean) throws java.lang.SecurityException; + method public void setAccessible(boolean) throws java.lang.SecurityException; + } + + public interface AnnotatedElement { + method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>); + method @NonNull public java.lang.annotation.Annotation[] getAnnotations(); + method public default <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(@NonNull Class<T>); + method @Nullable public default <T extends java.lang.annotation.Annotation> T getDeclaredAnnotation(@NonNull Class<T>); + method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations(); + method public default <T extends java.lang.annotation.Annotation> T[] getDeclaredAnnotationsByType(@NonNull Class<T>); + method public default boolean isAnnotationPresent(@NonNull Class<? extends java.lang.annotation.Annotation>); + } + + public final class Array { + method @Nullable public static Object get(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static boolean getBoolean(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static byte getByte(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static char getChar(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static double getDouble(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static float getFloat(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static int getInt(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static int getLength(@NonNull Object); + method public static long getLong(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static short getShort(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method @NonNull public static Object newInstance(@NonNull Class<?>, int) throws java.lang.NegativeArraySizeException; + method @NonNull public static Object newInstance(@NonNull Class<?>, int...) throws java.lang.IllegalArgumentException, java.lang.NegativeArraySizeException; + method public static void set(@NonNull Object, int, @Nullable Object) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static void setBoolean(@NonNull Object, int, boolean); + method public static void setByte(@NonNull Object, int, byte) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static void setChar(@NonNull Object, int, char) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static void setDouble(@NonNull Object, int, double) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static void setFloat(@NonNull Object, int, float) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static void setInt(@NonNull Object, int, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static void setLong(@NonNull Object, int, long) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + method public static void setShort(@NonNull Object, int, short) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException; + } + + public final class Constructor<T> extends java.lang.reflect.Executable { + method @NonNull public Class<T> getDeclaringClass(); + method public Class<?>[] getExceptionTypes(); + method public int getModifiers(); + method @NonNull public String getName(); + method public java.lang.annotation.Annotation[][] getParameterAnnotations(); + method @NonNull public Class<?>[] getParameterTypes(); + method public java.lang.reflect.TypeVariable<java.lang.reflect.Constructor<T>>[] getTypeParameters(); + method @NonNull public T newInstance(java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException; + method @NonNull public String toGenericString(); + } + + public abstract class Executable extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member { + method @NonNull public abstract Class<?>[] getExceptionTypes(); + method @NonNull public java.lang.reflect.Type[] getGenericExceptionTypes(); + method @NonNull public java.lang.reflect.Type[] getGenericParameterTypes(); + method @NonNull public abstract java.lang.annotation.Annotation[][] getParameterAnnotations(); + method public int getParameterCount(); + method @NonNull public abstract Class<?>[] getParameterTypes(); + method @NonNull public java.lang.reflect.Parameter[] getParameters(); + method public final boolean isAnnotationPresent(@NonNull Class<? extends java.lang.annotation.Annotation>); + method public boolean isSynthetic(); + method public boolean isVarArgs(); + method @NonNull public abstract String toGenericString(); + } + + public final class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member { + method @Nullable public Object get(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public boolean getBoolean(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public byte getByte(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public char getChar(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method @NonNull public Class<?> getDeclaringClass(); + method public double getDouble(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public float getFloat(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method @NonNull public java.lang.reflect.Type getGenericType(); + method public int getInt(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public long getLong(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public int getModifiers(); + method @NonNull public String getName(); + method public short getShort(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method @NonNull public Class<?> getType(); + method public boolean isEnumConstant(); + method public boolean isSynthetic(); + method public void set(@Nullable Object, @Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setBoolean(@Nullable Object, boolean) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setByte(@Nullable Object, byte) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setChar(@Nullable Object, char) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setDouble(@Nullable Object, double) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setFloat(@Nullable Object, float) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setInt(@Nullable Object, int) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setLong(@Nullable Object, long) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method public void setShort(@Nullable Object, short) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException; + method @NonNull public String toGenericString(); + } + + public interface GenericArrayType extends java.lang.reflect.Type { + method @NonNull public java.lang.reflect.Type getGenericComponentType(); + } + + public interface GenericDeclaration extends java.lang.reflect.AnnotatedElement { + method @NonNull public java.lang.reflect.TypeVariable<?>[] getTypeParameters(); + } + + public class GenericSignatureFormatError extends java.lang.ClassFormatError { + ctor public GenericSignatureFormatError(); + ctor public GenericSignatureFormatError(String); + } + + public interface InvocationHandler { + method public Object invoke(Object, java.lang.reflect.Method, Object[]) throws java.lang.Throwable; + } + + public class InvocationTargetException extends java.lang.ReflectiveOperationException { + ctor protected InvocationTargetException(); + ctor public InvocationTargetException(Throwable); + ctor public InvocationTargetException(Throwable, String); + method public Throwable getTargetException(); + } + + public class MalformedParameterizedTypeException extends java.lang.RuntimeException { + ctor public MalformedParameterizedTypeException(); + ctor public MalformedParameterizedTypeException(String); + } + + public class MalformedParametersException extends java.lang.RuntimeException { + ctor public MalformedParametersException(); + ctor public MalformedParametersException(String); + } + + public interface Member { + method @NonNull public Class<?> getDeclaringClass(); + method public int getModifiers(); + method @NonNull public String getName(); + method public boolean isSynthetic(); + field public static final int DECLARED = 1; // 0x1 + field public static final int PUBLIC = 0; // 0x0 + } + + public final class Method extends java.lang.reflect.Executable { + method @NonNull public Class<?> getDeclaringClass(); + method @Nullable public Object getDefaultValue(); + method @NonNull public Class<?>[] getExceptionTypes(); + method @NonNull public java.lang.reflect.Type getGenericReturnType(); + method public int getModifiers(); + method @NonNull public String getName(); + method @NonNull public java.lang.annotation.Annotation[][] getParameterAnnotations(); + method @NonNull public Class<?>[] getParameterTypes(); + method @NonNull public Class<?> getReturnType(); + method @NonNull public java.lang.reflect.TypeVariable<java.lang.reflect.Method>[] getTypeParameters(); + method @Nullable public Object invoke(@Nullable Object, @Nullable java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException; + method public boolean isBridge(); + method public boolean isDefault(); + method @NonNull public String toGenericString(); + } + + public class Modifier { + ctor public Modifier(); + method public static int classModifiers(); + method public static int constructorModifiers(); + method public static int fieldModifiers(); + method public static int interfaceModifiers(); + method public static boolean isAbstract(int); + method public static boolean isFinal(int); + method public static boolean isInterface(int); + method public static boolean isNative(int); + method public static boolean isPrivate(int); + method public static boolean isProtected(int); + method public static boolean isPublic(int); + method public static boolean isStatic(int); + method public static boolean isStrict(int); + method public static boolean isSynchronized(int); + method public static boolean isTransient(int); + method public static boolean isVolatile(int); + method public static int methodModifiers(); + method public static int parameterModifiers(); + method public static String toString(int); + field public static final int ABSTRACT = 1024; // 0x400 + field public static final int FINAL = 16; // 0x10 + field public static final int INTERFACE = 512; // 0x200 + field public static final int NATIVE = 256; // 0x100 + field public static final int PRIVATE = 2; // 0x2 + field public static final int PROTECTED = 4; // 0x4 + field public static final int PUBLIC = 1; // 0x1 + field public static final int STATIC = 8; // 0x8 + field public static final int STRICT = 2048; // 0x800 + field public static final int SYNCHRONIZED = 32; // 0x20 + field public static final int TRANSIENT = 128; // 0x80 + field public static final int VOLATILE = 64; // 0x40 + } + + public final class Parameter implements java.lang.reflect.AnnotatedElement { + method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>); + method @NonNull public java.lang.annotation.Annotation[] getAnnotations(); + method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations(); + method @NonNull public java.lang.reflect.Executable getDeclaringExecutable(); + method public int getModifiers(); + method @NonNull public String getName(); + method @NonNull public java.lang.reflect.Type getParameterizedType(); + method @NonNull public Class<?> getType(); + method public boolean isImplicit(); + method public boolean isNamePresent(); + method public boolean isSynthetic(); + method public boolean isVarArgs(); + } + + public interface ParameterizedType extends java.lang.reflect.Type { + method @NonNull public java.lang.reflect.Type[] getActualTypeArguments(); + method @Nullable public java.lang.reflect.Type getOwnerType(); + method @NonNull public java.lang.reflect.Type getRawType(); + } + + public class Proxy implements java.io.Serializable { + ctor protected Proxy(@NonNull java.lang.reflect.InvocationHandler); + method @NonNull public static java.lang.reflect.InvocationHandler getInvocationHandler(@NonNull Object) throws java.lang.IllegalArgumentException; + method @NonNull public static Class<?> getProxyClass(@Nullable ClassLoader, @NonNull Class<?>...) throws java.lang.IllegalArgumentException; + method public static boolean isProxyClass(@NonNull Class<?>); + method @NonNull public static Object newProxyInstance(@Nullable ClassLoader, @NonNull Class<?>[], @NonNull java.lang.reflect.InvocationHandler) throws java.lang.IllegalArgumentException; + field protected java.lang.reflect.InvocationHandler h; + } + + public final class ReflectPermission extends java.security.BasicPermission { + ctor public ReflectPermission(String); + ctor public ReflectPermission(String, String); + } + + public interface Type { + method @NonNull public default String getTypeName(); + } + + public interface TypeVariable<D extends java.lang.reflect.GenericDeclaration> extends java.lang.reflect.Type { + method @NonNull public java.lang.reflect.Type[] getBounds(); + method @NonNull public D getGenericDeclaration(); + method @NonNull public String getName(); + } + + public class UndeclaredThrowableException extends java.lang.RuntimeException { + ctor public UndeclaredThrowableException(Throwable); + ctor public UndeclaredThrowableException(Throwable, String); + method public Throwable getUndeclaredThrowable(); + } + + public interface WildcardType extends java.lang.reflect.Type { + method @NonNull public java.lang.reflect.Type[] getLowerBounds(); + method @NonNull public java.lang.reflect.Type[] getUpperBounds(); + } + +} + +package java.math { + + public class BigDecimal extends java.lang.Number implements java.lang.Comparable<java.math.BigDecimal> { + ctor public BigDecimal(char[], int, int); + ctor public BigDecimal(char[], int, int, java.math.MathContext); + ctor public BigDecimal(char[]); + ctor public BigDecimal(char[], java.math.MathContext); + ctor public BigDecimal(String); + ctor public BigDecimal(String, java.math.MathContext); + ctor public BigDecimal(double); + ctor public BigDecimal(double, java.math.MathContext); + ctor public BigDecimal(java.math.BigInteger); + ctor public BigDecimal(java.math.BigInteger, java.math.MathContext); + ctor public BigDecimal(java.math.BigInteger, int); + ctor public BigDecimal(java.math.BigInteger, int, java.math.MathContext); + ctor public BigDecimal(int); + ctor public BigDecimal(int, java.math.MathContext); + ctor public BigDecimal(long); + ctor public BigDecimal(long, java.math.MathContext); + method public java.math.BigDecimal abs(); + method public java.math.BigDecimal abs(java.math.MathContext); + method public java.math.BigDecimal add(java.math.BigDecimal); + method public java.math.BigDecimal add(java.math.BigDecimal, java.math.MathContext); + method public byte byteValueExact(); + method public int compareTo(java.math.BigDecimal); + method @Deprecated public java.math.BigDecimal divide(java.math.BigDecimal, int, int); + method public java.math.BigDecimal divide(java.math.BigDecimal, int, java.math.RoundingMode); + method @Deprecated public java.math.BigDecimal divide(java.math.BigDecimal, int); + method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.RoundingMode); + method public java.math.BigDecimal divide(java.math.BigDecimal); + method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.MathContext); + method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal); + method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal, java.math.MathContext); + method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal); + method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal, java.math.MathContext); + method public double doubleValue(); + method public float floatValue(); + method public int intValue(); + method public int intValueExact(); + method public long longValue(); + method public long longValueExact(); + method public java.math.BigDecimal max(java.math.BigDecimal); + method public java.math.BigDecimal min(java.math.BigDecimal); + method public java.math.BigDecimal movePointLeft(int); + method public java.math.BigDecimal movePointRight(int); + method public java.math.BigDecimal multiply(java.math.BigDecimal); + method public java.math.BigDecimal multiply(java.math.BigDecimal, java.math.MathContext); + method public java.math.BigDecimal negate(); + method public java.math.BigDecimal negate(java.math.MathContext); + method public java.math.BigDecimal plus(); + method public java.math.BigDecimal plus(java.math.MathContext); + method public java.math.BigDecimal pow(int); + method public java.math.BigDecimal pow(int, java.math.MathContext); + method public int precision(); + method public java.math.BigDecimal remainder(java.math.BigDecimal); + method public java.math.BigDecimal remainder(java.math.BigDecimal, java.math.MathContext); + method public java.math.BigDecimal round(java.math.MathContext); + method public int scale(); + method public java.math.BigDecimal scaleByPowerOfTen(int); + method public java.math.BigDecimal setScale(int, java.math.RoundingMode); + method @Deprecated public java.math.BigDecimal setScale(int, int); + method public java.math.BigDecimal setScale(int); + method public short shortValueExact(); + method public int signum(); + method public java.math.BigDecimal sqrt(java.math.MathContext); + method public java.math.BigDecimal stripTrailingZeros(); + method public java.math.BigDecimal subtract(java.math.BigDecimal); + method public java.math.BigDecimal subtract(java.math.BigDecimal, java.math.MathContext); + method public java.math.BigInteger toBigInteger(); + method public java.math.BigInteger toBigIntegerExact(); + method public String toEngineeringString(); + method public String toPlainString(); + method public java.math.BigDecimal ulp(); + method public java.math.BigInteger unscaledValue(); + method public static java.math.BigDecimal valueOf(long, int); + method public static java.math.BigDecimal valueOf(long); + method public static java.math.BigDecimal valueOf(double); + field public static final java.math.BigDecimal ONE; + field @Deprecated public static final int ROUND_CEILING = 2; // 0x2 + field @Deprecated public static final int ROUND_DOWN = 1; // 0x1 + field @Deprecated public static final int ROUND_FLOOR = 3; // 0x3 + field @Deprecated public static final int ROUND_HALF_DOWN = 5; // 0x5 + field @Deprecated public static final int ROUND_HALF_EVEN = 6; // 0x6 + field @Deprecated public static final int ROUND_HALF_UP = 4; // 0x4 + field @Deprecated public static final int ROUND_UNNECESSARY = 7; // 0x7 + field @Deprecated public static final int ROUND_UP = 0; // 0x0 + field public static final java.math.BigDecimal TEN; + field public static final java.math.BigDecimal ZERO; + } + + public class BigInteger extends java.lang.Number implements java.lang.Comparable<java.math.BigInteger> { + ctor public BigInteger(byte[], int, int); + ctor public BigInteger(byte[]); + ctor public BigInteger(int, byte[], int, int); + ctor public BigInteger(int, byte[]); + ctor public BigInteger(@NonNull String, int); + ctor public BigInteger(@NonNull String); + ctor public BigInteger(int, @NonNull java.util.Random); + ctor public BigInteger(int, int, @NonNull java.util.Random); + method @NonNull public java.math.BigInteger abs(); + method @NonNull public java.math.BigInteger add(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger and(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger andNot(@NonNull java.math.BigInteger); + method public int bitCount(); + method public int bitLength(); + method public byte byteValueExact(); + method @NonNull public java.math.BigInteger clearBit(int); + method public int compareTo(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger divide(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger[] divideAndRemainder(@NonNull java.math.BigInteger); + method public double doubleValue(); + method @NonNull public java.math.BigInteger flipBit(int); + method public float floatValue(); + method @NonNull public java.math.BigInteger gcd(@NonNull java.math.BigInteger); + method public int getLowestSetBit(); + method public int intValue(); + method public int intValueExact(); + method public boolean isProbablePrime(int); + method public long longValue(); + method public long longValueExact(); + method @NonNull public java.math.BigInteger max(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger min(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger mod(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger modInverse(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger modPow(@NonNull java.math.BigInteger, @NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger multiply(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger negate(); + method @NonNull public java.math.BigInteger nextProbablePrime(); + method @NonNull public java.math.BigInteger not(); + method @NonNull public java.math.BigInteger or(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger pow(int); + method @NonNull public static java.math.BigInteger probablePrime(int, @NonNull java.util.Random); + method @NonNull public java.math.BigInteger remainder(@NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger setBit(int); + method @NonNull public java.math.BigInteger shiftLeft(int); + method @NonNull public java.math.BigInteger shiftRight(int); + method public short shortValueExact(); + method public int signum(); + method @NonNull public java.math.BigInteger sqrt(); + method @NonNull public java.math.BigInteger[] sqrtAndRemainder(); + method @NonNull public java.math.BigInteger subtract(@NonNull java.math.BigInteger); + method public boolean testBit(int); + method public byte[] toByteArray(); + method @NonNull public String toString(int); + method @NonNull public static java.math.BigInteger valueOf(long); + method @NonNull public java.math.BigInteger xor(@NonNull java.math.BigInteger); + field @NonNull public static final java.math.BigInteger ONE; + field @NonNull public static final java.math.BigInteger TEN; + field @NonNull public static final java.math.BigInteger TWO; + field @NonNull public static final java.math.BigInteger ZERO; + } + + public final class MathContext implements java.io.Serializable { + ctor public MathContext(int); + ctor public MathContext(int, java.math.RoundingMode); + ctor public MathContext(String); + method public int getPrecision(); + method public java.math.RoundingMode getRoundingMode(); + field public static final java.math.MathContext DECIMAL128; + field public static final java.math.MathContext DECIMAL32; + field public static final java.math.MathContext DECIMAL64; + field public static final java.math.MathContext UNLIMITED; + } + + public enum RoundingMode { + method public static java.math.RoundingMode valueOf(int); + enum_constant public static final java.math.RoundingMode CEILING; + enum_constant public static final java.math.RoundingMode DOWN; + enum_constant public static final java.math.RoundingMode FLOOR; + enum_constant public static final java.math.RoundingMode HALF_DOWN; + enum_constant public static final java.math.RoundingMode HALF_EVEN; + enum_constant public static final java.math.RoundingMode HALF_UP; + enum_constant public static final java.math.RoundingMode UNNECESSARY; + enum_constant public static final java.math.RoundingMode UP; + } + +} + +package java.net { + + public abstract class Authenticator { + ctor public Authenticator(); + method protected java.net.PasswordAuthentication getPasswordAuthentication(); + method protected final String getRequestingHost(); + method protected final int getRequestingPort(); + method protected final String getRequestingPrompt(); + method protected final String getRequestingProtocol(); + method protected final String getRequestingScheme(); + method protected final java.net.InetAddress getRequestingSite(); + method protected java.net.URL getRequestingURL(); + method protected java.net.Authenticator.RequestorType getRequestorType(); + method public static java.net.PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress, int, String, String, String); + method public static java.net.PasswordAuthentication requestPasswordAuthentication(String, java.net.InetAddress, int, String, String, String); + method public static java.net.PasswordAuthentication requestPasswordAuthentication(String, java.net.InetAddress, int, String, String, String, java.net.URL, java.net.Authenticator.RequestorType); + method public static void setDefault(java.net.Authenticator); + } + + public enum Authenticator.RequestorType { + enum_constant public static final java.net.Authenticator.RequestorType PROXY; + enum_constant public static final java.net.Authenticator.RequestorType SERVER; + } + + public class BindException extends java.net.SocketException { + ctor public BindException(String); + ctor public BindException(); + } + + public abstract class CacheRequest { + ctor public CacheRequest(); + method public abstract void abort(); + method public abstract java.io.OutputStream getBody() throws java.io.IOException; + } + + public abstract class CacheResponse { + ctor public CacheResponse(); + method public abstract java.io.InputStream getBody() throws java.io.IOException; + method public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaders() throws java.io.IOException; + } + + public class ConnectException extends java.net.SocketException { + ctor public ConnectException(String); + ctor public ConnectException(); + } + + public abstract class ContentHandler { + ctor public ContentHandler(); + method public abstract Object getContent(java.net.URLConnection) throws java.io.IOException; + method public Object getContent(java.net.URLConnection, Class[]) throws java.io.IOException; + } + + public interface ContentHandlerFactory { + method public java.net.ContentHandler createContentHandler(String); + } + + public abstract class CookieHandler { + ctor public CookieHandler(); + method public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException; + method public static java.net.CookieHandler getDefault(); + method public abstract void put(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException; + method public static void setDefault(java.net.CookieHandler); + } + + public class CookieManager extends java.net.CookieHandler { + ctor public CookieManager(); + ctor public CookieManager(java.net.CookieStore, java.net.CookiePolicy); + method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException; + method public java.net.CookieStore getCookieStore(); + method public void put(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException; + method public void setCookiePolicy(java.net.CookiePolicy); + } + + public interface CookiePolicy { + method public boolean shouldAccept(java.net.URI, java.net.HttpCookie); + field public static final java.net.CookiePolicy ACCEPT_ALL; + field public static final java.net.CookiePolicy ACCEPT_NONE; + field public static final java.net.CookiePolicy ACCEPT_ORIGINAL_SERVER; + } + + public interface CookieStore { + method public void add(java.net.URI, java.net.HttpCookie); + method public java.util.List<java.net.HttpCookie> get(java.net.URI); + method public java.util.List<java.net.HttpCookie> getCookies(); + method public java.util.List<java.net.URI> getURIs(); + method public boolean remove(java.net.URI, java.net.HttpCookie); + method public boolean removeAll(); + } + + public final class DatagramPacket { + ctor public DatagramPacket(byte[], int, int); + ctor public DatagramPacket(byte[], int); + ctor public DatagramPacket(byte[], int, int, java.net.InetAddress, int); + ctor public DatagramPacket(byte[], int, int, java.net.SocketAddress); + ctor public DatagramPacket(byte[], int, java.net.InetAddress, int); + ctor public DatagramPacket(byte[], int, java.net.SocketAddress); + method public java.net.InetAddress getAddress(); + method public byte[] getData(); + method public int getLength(); + method public int getOffset(); + method public int getPort(); + method public java.net.SocketAddress getSocketAddress(); + method public void setAddress(java.net.InetAddress); + method public void setData(byte[], int, int); + method public void setData(byte[]); + method public void setLength(int); + method public void setPort(int); + method public void setSocketAddress(java.net.SocketAddress); + } + + public class DatagramSocket implements java.io.Closeable { + ctor public DatagramSocket() throws java.net.SocketException; + ctor protected DatagramSocket(java.net.DatagramSocketImpl); + ctor public DatagramSocket(java.net.SocketAddress) throws java.net.SocketException; + ctor public DatagramSocket(int) throws java.net.SocketException; + ctor public DatagramSocket(int, java.net.InetAddress) throws java.net.SocketException; + method public void bind(java.net.SocketAddress) throws java.net.SocketException; + method public void close(); + method public void connect(java.net.InetAddress, int); + method public void connect(java.net.SocketAddress) throws java.net.SocketException; + method public void disconnect(); + method public boolean getBroadcast() throws java.net.SocketException; + method public java.nio.channels.DatagramChannel getChannel(); + method public java.net.InetAddress getInetAddress(); + method public java.net.InetAddress getLocalAddress(); + method public int getLocalPort(); + method public java.net.SocketAddress getLocalSocketAddress(); + method public <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException; + method public int getPort(); + method public int getReceiveBufferSize() throws java.net.SocketException; + method public java.net.SocketAddress getRemoteSocketAddress(); + method public boolean getReuseAddress() throws java.net.SocketException; + method public int getSendBufferSize() throws java.net.SocketException; + method public int getSoTimeout() throws java.net.SocketException; + method public int getTrafficClass() throws java.net.SocketException; + method public boolean isBound(); + method public boolean isClosed(); + method public boolean isConnected(); + method public void receive(java.net.DatagramPacket) throws java.io.IOException; + method public void send(java.net.DatagramPacket) throws java.io.IOException; + method public void setBroadcast(boolean) throws java.net.SocketException; + method public static void setDatagramSocketImplFactory(java.net.DatagramSocketImplFactory) throws java.io.IOException; + method public <T> java.net.DatagramSocket setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public void setReceiveBufferSize(int) throws java.net.SocketException; + method public void setReuseAddress(boolean) throws java.net.SocketException; + method public void setSendBufferSize(int) throws java.net.SocketException; + method public void setSoTimeout(int) throws java.net.SocketException; + method public void setTrafficClass(int) throws java.net.SocketException; + method public java.util.Set<java.net.SocketOption<?>> supportedOptions(); + } + + public abstract class DatagramSocketImpl implements java.net.SocketOptions { + ctor public DatagramSocketImpl(); + method protected abstract void bind(int, java.net.InetAddress) throws java.net.SocketException; + method protected abstract void close(); + method protected void connect(java.net.InetAddress, int) throws java.net.SocketException; + method protected abstract void create() throws java.net.SocketException; + method protected void disconnect(); + method protected java.io.FileDescriptor getFileDescriptor(); + method protected int getLocalPort(); + method protected <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException; + method @Deprecated protected abstract byte getTTL() throws java.io.IOException; + method protected abstract int getTimeToLive() throws java.io.IOException; + method protected abstract void join(java.net.InetAddress) throws java.io.IOException; + method protected abstract void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException; + method protected abstract void leave(java.net.InetAddress) throws java.io.IOException; + method protected abstract void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException; + method protected abstract int peek(java.net.InetAddress) throws java.io.IOException; + method protected abstract int peekData(java.net.DatagramPacket) throws java.io.IOException; + method protected abstract void receive(java.net.DatagramPacket) throws java.io.IOException; + method protected abstract void send(java.net.DatagramPacket) throws java.io.IOException; + method protected <T> void setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method @Deprecated protected abstract void setTTL(byte) throws java.io.IOException; + method protected abstract void setTimeToLive(int) throws java.io.IOException; + method protected java.util.Set<java.net.SocketOption<?>> supportedOptions(); + field protected java.io.FileDescriptor fd; + field protected int localPort; + } + + public interface DatagramSocketImplFactory { + method public java.net.DatagramSocketImpl createDatagramSocketImpl(); + } + + public interface FileNameMap { + method public String getContentTypeFor(String); + } + + public final class HttpCookie implements java.lang.Cloneable { + ctor public HttpCookie(String, String); + method public Object clone(); + method public static boolean domainMatches(String, String); + method public String getComment(); + method public String getCommentURL(); + method public boolean getDiscard(); + method public String getDomain(); + method public long getMaxAge(); + method public String getName(); + method public String getPath(); + method public String getPortlist(); + method public boolean getSecure(); + method public String getValue(); + method public int getVersion(); + method public boolean hasExpired(); + method public boolean isHttpOnly(); + method public static java.util.List<java.net.HttpCookie> parse(String); + method public void setComment(String); + method public void setCommentURL(String); + method public void setDiscard(boolean); + method public void setDomain(String); + method public void setHttpOnly(boolean); + method public void setMaxAge(long); + method public void setPath(String); + method public void setPortlist(String); + method public void setSecure(boolean); + method public void setValue(String); + method public void setVersion(int); + } + + public class HttpRetryException extends java.io.IOException { + ctor public HttpRetryException(String, int); + ctor public HttpRetryException(String, int, String); + method public String getLocation(); + method public String getReason(); + method public int responseCode(); + } + + public abstract class HttpURLConnection extends java.net.URLConnection { + ctor protected HttpURLConnection(java.net.URL); + method public abstract void disconnect(); + method public java.io.InputStream getErrorStream(); + method public static boolean getFollowRedirects(); + method public boolean getInstanceFollowRedirects(); + method public String getRequestMethod(); + method public int getResponseCode() throws java.io.IOException; + method public String getResponseMessage() throws java.io.IOException; + method public void setChunkedStreamingMode(int); + method public void setFixedLengthStreamingMode(int); + method public void setFixedLengthStreamingMode(long); + method public static void setFollowRedirects(boolean); + method public void setInstanceFollowRedirects(boolean); + method public void setRequestMethod(String) throws java.net.ProtocolException; + method public abstract boolean usingProxy(); + field public static final int HTTP_ACCEPTED = 202; // 0xca + field public static final int HTTP_BAD_GATEWAY = 502; // 0x1f6 + field public static final int HTTP_BAD_METHOD = 405; // 0x195 + field public static final int HTTP_BAD_REQUEST = 400; // 0x190 + field public static final int HTTP_CLIENT_TIMEOUT = 408; // 0x198 + field public static final int HTTP_CONFLICT = 409; // 0x199 + field public static final int HTTP_CREATED = 201; // 0xc9 + field public static final int HTTP_ENTITY_TOO_LARGE = 413; // 0x19d + field public static final int HTTP_FORBIDDEN = 403; // 0x193 + field public static final int HTTP_GATEWAY_TIMEOUT = 504; // 0x1f8 + field public static final int HTTP_GONE = 410; // 0x19a + field public static final int HTTP_INTERNAL_ERROR = 500; // 0x1f4 + field public static final int HTTP_LENGTH_REQUIRED = 411; // 0x19b + field public static final int HTTP_MOVED_PERM = 301; // 0x12d + field public static final int HTTP_MOVED_TEMP = 302; // 0x12e + field public static final int HTTP_MULT_CHOICE = 300; // 0x12c + field public static final int HTTP_NOT_ACCEPTABLE = 406; // 0x196 + field public static final int HTTP_NOT_AUTHORITATIVE = 203; // 0xcb + field public static final int HTTP_NOT_FOUND = 404; // 0x194 + field public static final int HTTP_NOT_IMPLEMENTED = 501; // 0x1f5 + field public static final int HTTP_NOT_MODIFIED = 304; // 0x130 + field public static final int HTTP_NO_CONTENT = 204; // 0xcc + field public static final int HTTP_OK = 200; // 0xc8 + field public static final int HTTP_PARTIAL = 206; // 0xce + field public static final int HTTP_PAYMENT_REQUIRED = 402; // 0x192 + field public static final int HTTP_PRECON_FAILED = 412; // 0x19c + field public static final int HTTP_PROXY_AUTH = 407; // 0x197 + field public static final int HTTP_REQ_TOO_LONG = 414; // 0x19e + field public static final int HTTP_RESET = 205; // 0xcd + field public static final int HTTP_SEE_OTHER = 303; // 0x12f + field @Deprecated public static final int HTTP_SERVER_ERROR = 500; // 0x1f4 + field public static final int HTTP_UNAUTHORIZED = 401; // 0x191 + field public static final int HTTP_UNAVAILABLE = 503; // 0x1f7 + field public static final int HTTP_UNSUPPORTED_TYPE = 415; // 0x19f + field public static final int HTTP_USE_PROXY = 305; // 0x131 + field public static final int HTTP_VERSION = 505; // 0x1f9 + field protected int chunkLength; + field protected int fixedContentLength; + field protected long fixedContentLengthLong; + field protected boolean instanceFollowRedirects; + field protected String method; + field protected int responseCode; + field protected String responseMessage; + } + + public final class IDN { + method public static String toASCII(String, int); + method public static String toASCII(String); + method public static String toUnicode(String, int); + method public static String toUnicode(String); + field public static final int ALLOW_UNASSIGNED = 1; // 0x1 + field public static final int USE_STD3_ASCII_RULES = 2; // 0x2 + } + + public final class Inet4Address extends java.net.InetAddress { + } + + public final class Inet6Address extends java.net.InetAddress { + method public static java.net.Inet6Address getByAddress(String, byte[], java.net.NetworkInterface) throws java.net.UnknownHostException; + method public static java.net.Inet6Address getByAddress(String, byte[], int) throws java.net.UnknownHostException; + method public int getScopeId(); + method public java.net.NetworkInterface getScopedInterface(); + method public boolean isIPv4CompatibleAddress(); + } + + public class InetAddress implements java.io.Serializable { + method public byte[] getAddress(); + method public static java.net.InetAddress[] getAllByName(@Nullable String) throws java.net.UnknownHostException; + method @NonNull public static java.net.InetAddress getByAddress(@Nullable String, byte[]) throws java.net.UnknownHostException; + method @NonNull public static java.net.InetAddress getByAddress(byte[]) throws java.net.UnknownHostException; + method @NonNull public static java.net.InetAddress getByName(@Nullable String) throws java.net.UnknownHostException; + method @NonNull public String getCanonicalHostName(); + method @Nullable public String getHostAddress(); + method @NonNull public String getHostName(); + method @NonNull public static java.net.InetAddress getLocalHost() throws java.net.UnknownHostException; + method @NonNull public static java.net.InetAddress getLoopbackAddress(); + method public boolean isAnyLocalAddress(); + method public boolean isLinkLocalAddress(); + method public boolean isLoopbackAddress(); + method public boolean isMCGlobal(); + method public boolean isMCLinkLocal(); + method public boolean isMCNodeLocal(); + method public boolean isMCOrgLocal(); + method public boolean isMCSiteLocal(); + method public boolean isMulticastAddress(); + method public boolean isReachable(int) throws java.io.IOException; + method public boolean isReachable(@Nullable java.net.NetworkInterface, int, int) throws java.io.IOException; + method public boolean isSiteLocalAddress(); + } + + public class InetSocketAddress extends java.net.SocketAddress { + ctor public InetSocketAddress(int); + ctor public InetSocketAddress(java.net.InetAddress, int); + ctor public InetSocketAddress(String, int); + method public static java.net.InetSocketAddress createUnresolved(String, int); + method public final boolean equals(Object); + method public final java.net.InetAddress getAddress(); + method public final String getHostName(); + method public final String getHostString(); + method public final int getPort(); + method public final int hashCode(); + method public final boolean isUnresolved(); + } + + public class InterfaceAddress { + method public java.net.InetAddress getAddress(); + method public java.net.InetAddress getBroadcast(); + method public short getNetworkPrefixLength(); + } + + public abstract class JarURLConnection extends java.net.URLConnection { + ctor protected JarURLConnection(java.net.URL) throws java.net.MalformedURLException; + method public java.util.jar.Attributes getAttributes() throws java.io.IOException; + method public java.security.cert.Certificate[] getCertificates() throws java.io.IOException; + method public String getEntryName(); + method public java.util.jar.JarEntry getJarEntry() throws java.io.IOException; + method public abstract java.util.jar.JarFile getJarFile() throws java.io.IOException; + method public java.net.URL getJarFileURL(); + method public java.util.jar.Attributes getMainAttributes() throws java.io.IOException; + method public java.util.jar.Manifest getManifest() throws java.io.IOException; + field protected java.net.URLConnection jarFileURLConnection; + } + + public class MalformedURLException extends java.io.IOException { + ctor public MalformedURLException(); + ctor public MalformedURLException(String); + } + + public class MulticastSocket extends java.net.DatagramSocket { + ctor public MulticastSocket() throws java.io.IOException; + ctor public MulticastSocket(int) throws java.io.IOException; + ctor public MulticastSocket(java.net.SocketAddress) throws java.io.IOException; + method public java.net.InetAddress getInterface() throws java.net.SocketException; + method public boolean getLoopbackMode() throws java.net.SocketException; + method public java.net.NetworkInterface getNetworkInterface() throws java.net.SocketException; + method @Deprecated public byte getTTL() throws java.io.IOException; + method public int getTimeToLive() throws java.io.IOException; + method public void joinGroup(java.net.InetAddress) throws java.io.IOException; + method public void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException; + method public void leaveGroup(java.net.InetAddress) throws java.io.IOException; + method public void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException; + method @Deprecated public void send(java.net.DatagramPacket, byte) throws java.io.IOException; + method public void setInterface(java.net.InetAddress) throws java.net.SocketException; + method public void setLoopbackMode(boolean) throws java.net.SocketException; + method public void setNetworkInterface(java.net.NetworkInterface) throws java.net.SocketException; + method @Deprecated public void setTTL(byte) throws java.io.IOException; + method public void setTimeToLive(int) throws java.io.IOException; + } + + public final class NetPermission extends java.security.BasicPermission { + ctor public NetPermission(String); + ctor public NetPermission(String, String); + } + + public final class NetworkInterface { + method public static java.net.NetworkInterface getByIndex(int) throws java.net.SocketException; + method public static java.net.NetworkInterface getByInetAddress(java.net.InetAddress) throws java.net.SocketException; + method public static java.net.NetworkInterface getByName(String) throws java.net.SocketException; + method public String getDisplayName(); + method public byte[] getHardwareAddress() throws java.net.SocketException; + method public int getIndex(); + method public java.util.Enumeration<java.net.InetAddress> getInetAddresses(); + method public java.util.List<java.net.InterfaceAddress> getInterfaceAddresses(); + method public int getMTU() throws java.net.SocketException; + method public String getName(); + method public static java.util.Enumeration<java.net.NetworkInterface> getNetworkInterfaces() throws java.net.SocketException; + method public java.net.NetworkInterface getParent(); + method public java.util.Enumeration<java.net.NetworkInterface> getSubInterfaces(); + method public boolean isLoopback() throws java.net.SocketException; + method public boolean isPointToPoint() throws java.net.SocketException; + method public boolean isUp() throws java.net.SocketException; + method public boolean isVirtual(); + method public boolean supportsMulticast() throws java.net.SocketException; + } + + public class NoRouteToHostException extends java.net.SocketException { + ctor public NoRouteToHostException(String); + ctor public NoRouteToHostException(); + } + + public final class PasswordAuthentication { + ctor public PasswordAuthentication(String, char[]); + method public char[] getPassword(); + method public String getUserName(); + } + + public class PortUnreachableException extends java.net.SocketException { + ctor public PortUnreachableException(String); + ctor public PortUnreachableException(); + } + + public class ProtocolException extends java.io.IOException { + ctor public ProtocolException(String); + ctor public ProtocolException(); + } + + public interface ProtocolFamily { + method public String name(); + } + + public class Proxy { + ctor public Proxy(java.net.Proxy.Type, java.net.SocketAddress); + method public java.net.SocketAddress address(); + method public final boolean equals(Object); + method public final int hashCode(); + method public java.net.Proxy.Type type(); + field public static final java.net.Proxy NO_PROXY; + } + + public enum Proxy.Type { + enum_constant public static final java.net.Proxy.Type DIRECT; + enum_constant public static final java.net.Proxy.Type HTTP; + enum_constant public static final java.net.Proxy.Type SOCKS; + } + + public abstract class ProxySelector { + ctor public ProxySelector(); + method public abstract void connectFailed(java.net.URI, java.net.SocketAddress, java.io.IOException); + method public static java.net.ProxySelector getDefault(); + method public abstract java.util.List<java.net.Proxy> select(java.net.URI); + method public static void setDefault(java.net.ProxySelector); + } + + public abstract class ResponseCache { + ctor public ResponseCache(); + method public abstract java.net.CacheResponse get(java.net.URI, String, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException; + method public static java.net.ResponseCache getDefault(); + method public abstract java.net.CacheRequest put(java.net.URI, java.net.URLConnection) throws java.io.IOException; + method public static void setDefault(java.net.ResponseCache); + } + + public abstract class SecureCacheResponse extends java.net.CacheResponse { + ctor public SecureCacheResponse(); + method public abstract String getCipherSuite(); + method public abstract java.util.List<java.security.cert.Certificate> getLocalCertificateChain(); + method public abstract java.security.Principal getLocalPrincipal(); + method public abstract java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException; + method public abstract java.util.List<java.security.cert.Certificate> getServerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException; + } + + public class ServerSocket implements java.io.Closeable { + ctor public ServerSocket() throws java.io.IOException; + ctor public ServerSocket(int) throws java.io.IOException; + ctor public ServerSocket(int, int) throws java.io.IOException; + ctor public ServerSocket(int, int, java.net.InetAddress) throws java.io.IOException; + method public java.net.Socket accept() throws java.io.IOException; + method public void bind(java.net.SocketAddress) throws java.io.IOException; + method public void bind(java.net.SocketAddress, int) throws java.io.IOException; + method public void close() throws java.io.IOException; + method public java.nio.channels.ServerSocketChannel getChannel(); + method public java.net.InetAddress getInetAddress(); + method public int getLocalPort(); + method public java.net.SocketAddress getLocalSocketAddress(); + method public <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException; + method public int getReceiveBufferSize() throws java.net.SocketException; + method public boolean getReuseAddress() throws java.net.SocketException; + method public int getSoTimeout() throws java.io.IOException; + method protected final void implAccept(java.net.Socket) throws java.io.IOException; + method public boolean isBound(); + method public boolean isClosed(); + method public <T> java.net.ServerSocket setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public void setPerformancePreferences(int, int, int); + method public void setReceiveBufferSize(int) throws java.net.SocketException; + method public void setReuseAddress(boolean) throws java.net.SocketException; + method public void setSoTimeout(int) throws java.net.SocketException; + method public static void setSocketFactory(java.net.SocketImplFactory) throws java.io.IOException; + method public java.util.Set<java.net.SocketOption<?>> supportedOptions(); + } + + public class Socket implements java.io.Closeable { + ctor public Socket(); + ctor public Socket(java.net.Proxy); + ctor protected Socket(java.net.SocketImpl) throws java.net.SocketException; + ctor public Socket(String, int) throws java.io.IOException, java.net.UnknownHostException; + ctor public Socket(java.net.InetAddress, int) throws java.io.IOException; + ctor public Socket(String, int, java.net.InetAddress, int) throws java.io.IOException; + ctor public Socket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException; + ctor @Deprecated public Socket(String, int, boolean) throws java.io.IOException; + ctor @Deprecated public Socket(java.net.InetAddress, int, boolean) throws java.io.IOException; + method public void bind(java.net.SocketAddress) throws java.io.IOException; + method public void close() throws java.io.IOException; + method public void connect(java.net.SocketAddress) throws java.io.IOException; + method public void connect(java.net.SocketAddress, int) throws java.io.IOException; + method public java.nio.channels.SocketChannel getChannel(); + method public java.net.InetAddress getInetAddress(); + method public java.io.InputStream getInputStream() throws java.io.IOException; + method public boolean getKeepAlive() throws java.net.SocketException; + method public java.net.InetAddress getLocalAddress(); + method public int getLocalPort(); + method public java.net.SocketAddress getLocalSocketAddress(); + method public boolean getOOBInline() throws java.net.SocketException; + method public <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException; + method public java.io.OutputStream getOutputStream() throws java.io.IOException; + method public int getPort(); + method public int getReceiveBufferSize() throws java.net.SocketException; + method public java.net.SocketAddress getRemoteSocketAddress(); + method public boolean getReuseAddress() throws java.net.SocketException; + method public int getSendBufferSize() throws java.net.SocketException; + method public int getSoLinger() throws java.net.SocketException; + method public int getSoTimeout() throws java.net.SocketException; + method public boolean getTcpNoDelay() throws java.net.SocketException; + method public int getTrafficClass() throws java.net.SocketException; + method public boolean isBound(); + method public boolean isClosed(); + method public boolean isConnected(); + method public boolean isInputShutdown(); + method public boolean isOutputShutdown(); + method public void sendUrgentData(int) throws java.io.IOException; + method public void setKeepAlive(boolean) throws java.net.SocketException; + method public void setOOBInline(boolean) throws java.net.SocketException; + method public <T> java.net.Socket setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public void setPerformancePreferences(int, int, int); + method public void setReceiveBufferSize(int) throws java.net.SocketException; + method public void setReuseAddress(boolean) throws java.net.SocketException; + method public void setSendBufferSize(int) throws java.net.SocketException; + method public void setSoLinger(boolean, int) throws java.net.SocketException; + method public void setSoTimeout(int) throws java.net.SocketException; + method public static void setSocketImplFactory(java.net.SocketImplFactory) throws java.io.IOException; + method public void setTcpNoDelay(boolean) throws java.net.SocketException; + method public void setTrafficClass(int) throws java.net.SocketException; + method public void shutdownInput() throws java.io.IOException; + method public void shutdownOutput() throws java.io.IOException; + method public java.util.Set<java.net.SocketOption<?>> supportedOptions(); + } + + public abstract class SocketAddress implements java.io.Serializable { + ctor public SocketAddress(); + } + + public class SocketException extends java.io.IOException { + ctor public SocketException(String); + ctor public SocketException(); + } + + public abstract class SocketImpl implements java.net.SocketOptions { + ctor public SocketImpl(); + method protected abstract void accept(java.net.SocketImpl) throws java.io.IOException; + method protected abstract int available() throws java.io.IOException; + method protected abstract void bind(java.net.InetAddress, int) throws java.io.IOException; + method protected abstract void close() throws java.io.IOException; + method protected abstract void connect(String, int) throws java.io.IOException; + method protected abstract void connect(java.net.InetAddress, int) throws java.io.IOException; + method protected abstract void connect(java.net.SocketAddress, int) throws java.io.IOException; + method protected abstract void create(boolean) throws java.io.IOException; + method protected java.io.FileDescriptor getFileDescriptor(); + method protected java.net.InetAddress getInetAddress(); + method protected abstract java.io.InputStream getInputStream() throws java.io.IOException; + method protected int getLocalPort(); + method protected <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException; + method protected abstract java.io.OutputStream getOutputStream() throws java.io.IOException; + method protected int getPort(); + method protected abstract void listen(int) throws java.io.IOException; + method protected abstract void sendUrgentData(int) throws java.io.IOException; + method protected <T> void setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method protected void setPerformancePreferences(int, int, int); + method protected void shutdownInput() throws java.io.IOException; + method protected void shutdownOutput() throws java.io.IOException; + method protected java.util.Set<java.net.SocketOption<?>> supportedOptions(); + method protected boolean supportsUrgentData(); + field protected java.net.InetAddress address; + field protected java.io.FileDescriptor fd; + field protected int localport; + field protected int port; + } + + public interface SocketImplFactory { + method public java.net.SocketImpl createSocketImpl(); + } + + public interface SocketOption<T> { + method public String name(); + method public Class<T> type(); + } + + public interface SocketOptions { + method public Object getOption(int) throws java.net.SocketException; + method public void setOption(int, Object) throws java.net.SocketException; + field public static final int IP_MULTICAST_IF = 16; // 0x10 + field public static final int IP_MULTICAST_IF2 = 31; // 0x1f + field public static final int IP_MULTICAST_LOOP = 18; // 0x12 + field public static final int IP_TOS = 3; // 0x3 + field public static final int SO_BINDADDR = 15; // 0xf + field public static final int SO_BROADCAST = 32; // 0x20 + field public static final int SO_KEEPALIVE = 8; // 0x8 + field public static final int SO_LINGER = 128; // 0x80 + field public static final int SO_OOBINLINE = 4099; // 0x1003 + field public static final int SO_RCVBUF = 4098; // 0x1002 + field public static final int SO_REUSEADDR = 4; // 0x4 + field public static final int SO_REUSEPORT = 14; // 0xe + field public static final int SO_SNDBUF = 4097; // 0x1001 + field public static final int SO_TIMEOUT = 4102; // 0x1006 + field public static final int TCP_NODELAY = 1; // 0x1 + } + + public final class SocketPermission extends java.security.Permission implements java.io.Serializable { + ctor public SocketPermission(String, String); + method public String getActions(); + method public boolean implies(java.security.Permission); + } + + public class SocketTimeoutException extends java.io.InterruptedIOException { + ctor public SocketTimeoutException(String); + ctor public SocketTimeoutException(); + } + + public enum StandardProtocolFamily implements java.net.ProtocolFamily { + enum_constant public static final java.net.StandardProtocolFamily INET; + enum_constant public static final java.net.StandardProtocolFamily INET6; + } + + public final class StandardSocketOptions { + field public static final java.net.SocketOption<java.net.NetworkInterface> IP_MULTICAST_IF; + field public static final java.net.SocketOption<java.lang.Boolean> IP_MULTICAST_LOOP; + field public static final java.net.SocketOption<java.lang.Integer> IP_MULTICAST_TTL; + field public static final java.net.SocketOption<java.lang.Integer> IP_TOS; + field public static final java.net.SocketOption<java.lang.Boolean> SO_BROADCAST; + field public static final java.net.SocketOption<java.lang.Boolean> SO_KEEPALIVE; + field public static final java.net.SocketOption<java.lang.Integer> SO_LINGER; + field public static final java.net.SocketOption<java.lang.Integer> SO_RCVBUF; + field public static final java.net.SocketOption<java.lang.Boolean> SO_REUSEADDR; + field public static final java.net.SocketOption<java.lang.Boolean> SO_REUSEPORT; + field public static final java.net.SocketOption<java.lang.Integer> SO_SNDBUF; + field public static final java.net.SocketOption<java.lang.Boolean> TCP_NODELAY; + } + + public final class URI implements java.lang.Comparable<java.net.URI> java.io.Serializable { + ctor public URI(String) throws java.net.URISyntaxException; + ctor public URI(String, String, String, int, String, String, String) throws java.net.URISyntaxException; + ctor public URI(String, String, String, String, String) throws java.net.URISyntaxException; + ctor public URI(String, String, String, String) throws java.net.URISyntaxException; + ctor public URI(String, String, String) throws java.net.URISyntaxException; + method public int compareTo(java.net.URI); + method public static java.net.URI create(String); + method public String getAuthority(); + method public String getFragment(); + method public String getHost(); + method public String getPath(); + method public int getPort(); + method public String getQuery(); + method public String getRawAuthority(); + method public String getRawFragment(); + method public String getRawPath(); + method public String getRawQuery(); + method public String getRawSchemeSpecificPart(); + method public String getRawUserInfo(); + method public String getScheme(); + method public String getSchemeSpecificPart(); + method public String getUserInfo(); + method public boolean isAbsolute(); + method public boolean isOpaque(); + method public java.net.URI normalize(); + method public java.net.URI parseServerAuthority() throws java.net.URISyntaxException; + method public java.net.URI relativize(java.net.URI); + method public java.net.URI resolve(java.net.URI); + method public java.net.URI resolve(String); + method public String toASCIIString(); + method public java.net.URL toURL() throws java.net.MalformedURLException; + } + + public class URISyntaxException extends java.lang.Exception { + ctor public URISyntaxException(String, String, int); + ctor public URISyntaxException(String, String); + method public int getIndex(); + method public String getInput(); + method public String getReason(); + } + + public final class URL implements java.io.Serializable { + ctor public URL(String, String, int, String) throws java.net.MalformedURLException; + ctor public URL(String, String, String) throws java.net.MalformedURLException; + ctor public URL(String, String, int, String, java.net.URLStreamHandler) throws java.net.MalformedURLException; + ctor public URL(String) throws java.net.MalformedURLException; + ctor public URL(java.net.URL, String) throws java.net.MalformedURLException; + ctor public URL(java.net.URL, String, java.net.URLStreamHandler) throws java.net.MalformedURLException; + method public String getAuthority(); + method public Object getContent() throws java.io.IOException; + method public Object getContent(Class[]) throws java.io.IOException; + method public int getDefaultPort(); + method public String getFile(); + method public String getHost(); + method public String getPath(); + method public int getPort(); + method public String getProtocol(); + method public String getQuery(); + method public String getRef(); + method public String getUserInfo(); + method public java.net.URLConnection openConnection() throws java.io.IOException; + method public java.net.URLConnection openConnection(java.net.Proxy) throws java.io.IOException; + method public java.io.InputStream openStream() throws java.io.IOException; + method public boolean sameFile(java.net.URL); + method public static void setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory); + method public String toExternalForm(); + method public java.net.URI toURI() throws java.net.URISyntaxException; + } + + public class URLClassLoader extends java.security.SecureClassLoader implements java.io.Closeable { + ctor public URLClassLoader(java.net.URL[], ClassLoader); + ctor public URLClassLoader(java.net.URL[]); + ctor public URLClassLoader(java.net.URL[], ClassLoader, java.net.URLStreamHandlerFactory); + method protected void addURL(java.net.URL); + method public void close() throws java.io.IOException; + method protected Package definePackage(String, java.util.jar.Manifest, java.net.URL) throws java.lang.IllegalArgumentException; + method public java.net.URL findResource(String); + method public java.util.Enumeration<java.net.URL> findResources(String) throws java.io.IOException; + method public java.net.URL[] getURLs(); + method public static java.net.URLClassLoader newInstance(java.net.URL[], ClassLoader); + method public static java.net.URLClassLoader newInstance(java.net.URL[]); + } + + public abstract class URLConnection { + ctor protected URLConnection(java.net.URL); + method public void addRequestProperty(String, String); + method public abstract void connect() throws java.io.IOException; + method public boolean getAllowUserInteraction(); + method public int getConnectTimeout(); + method public Object getContent() throws java.io.IOException; + method public Object getContent(Class[]) throws java.io.IOException; + method public String getContentEncoding(); + method public int getContentLength(); + method public long getContentLengthLong(); + method public String getContentType(); + method public long getDate(); + method public static boolean getDefaultAllowUserInteraction(); + method @Deprecated public static String getDefaultRequestProperty(String); + method public boolean getDefaultUseCaches(); + method public boolean getDoInput(); + method public boolean getDoOutput(); + method public long getExpiration(); + method public static java.net.FileNameMap getFileNameMap(); + method public String getHeaderField(String); + method public String getHeaderField(int); + method public long getHeaderFieldDate(String, long); + method public int getHeaderFieldInt(String, int); + method public String getHeaderFieldKey(int); + method public long getHeaderFieldLong(String, long); + method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaderFields(); + method public long getIfModifiedSince(); + method public java.io.InputStream getInputStream() throws java.io.IOException; + method public long getLastModified(); + method public java.io.OutputStream getOutputStream() throws java.io.IOException; + method public java.security.Permission getPermission() throws java.io.IOException; + method public int getReadTimeout(); + method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getRequestProperties(); + method public String getRequestProperty(String); + method public java.net.URL getURL(); + method public boolean getUseCaches(); + method public static String guessContentTypeFromName(String); + method public static String guessContentTypeFromStream(java.io.InputStream) throws java.io.IOException; + method public void setAllowUserInteraction(boolean); + method public void setConnectTimeout(int); + method public static void setContentHandlerFactory(java.net.ContentHandlerFactory); + method public static void setDefaultAllowUserInteraction(boolean); + method @Deprecated public static void setDefaultRequestProperty(String, String); + method public void setDefaultUseCaches(boolean); + method public void setDoInput(boolean); + method public void setDoOutput(boolean); + method public static void setFileNameMap(java.net.FileNameMap); + method public void setIfModifiedSince(long); + method public void setReadTimeout(int); + method public void setRequestProperty(String, String); + method public void setUseCaches(boolean); + field protected boolean allowUserInteraction; + field protected boolean connected; + field protected boolean doInput; + field protected boolean doOutput; + field protected long ifModifiedSince; + field protected java.net.URL url; + field protected boolean useCaches; + } + + public class URLDecoder { + ctor public URLDecoder(); + method @Deprecated public static String decode(String); + method public static String decode(String, String) throws java.io.UnsupportedEncodingException; + method public static String decode(String, java.nio.charset.Charset); + } + + public class URLEncoder { + method @Deprecated public static String encode(String); + method public static String encode(String, String) throws java.io.UnsupportedEncodingException; + method public static String encode(String, java.nio.charset.Charset); + } + + public abstract class URLStreamHandler { + ctor public URLStreamHandler(); + method protected boolean equals(java.net.URL, java.net.URL); + method protected int getDefaultPort(); + method protected java.net.InetAddress getHostAddress(java.net.URL); + method protected int hashCode(java.net.URL); + method protected boolean hostsEqual(java.net.URL, java.net.URL); + method protected abstract java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException; + method protected java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException; + method protected void parseURL(java.net.URL, String, int, int); + method protected boolean sameFile(java.net.URL, java.net.URL); + method protected void setURL(java.net.URL, String, String, int, String, String, String, String, String); + method @Deprecated protected void setURL(java.net.URL, String, String, int, String, String); + method protected String toExternalForm(java.net.URL); + } + + public interface URLStreamHandlerFactory { + method public java.net.URLStreamHandler createURLStreamHandler(String); + } + + public class UnknownHostException extends java.io.IOException { + ctor public UnknownHostException(String); + ctor public UnknownHostException(); + } + + public class UnknownServiceException extends java.io.IOException { + ctor public UnknownServiceException(); + ctor public UnknownServiceException(String); + } + +} + +package java.nio { + + public abstract class Buffer { + method public abstract Object array(); + method public abstract int arrayOffset(); + method public final int capacity(); + method public java.nio.Buffer clear(); + method public java.nio.Buffer flip(); + method public abstract boolean hasArray(); + method public final boolean hasRemaining(); + method public abstract boolean isDirect(); + method public abstract boolean isReadOnly(); + method public final int limit(); + method public java.nio.Buffer limit(int); + method public java.nio.Buffer mark(); + method public final int position(); + method public java.nio.Buffer position(int); + method public final int remaining(); + method public java.nio.Buffer reset(); + method public java.nio.Buffer rewind(); + } + + public class BufferOverflowException extends java.lang.RuntimeException { + ctor public BufferOverflowException(); + } + + public class BufferUnderflowException extends java.lang.RuntimeException { + ctor public BufferUnderflowException(); + } + + public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> { + method @NonNull public final java.nio.ByteBuffer alignedSlice(int); + method public final int alignmentOffset(int, int); + method @NonNull public static java.nio.ByteBuffer allocate(int); + method @NonNull public static java.nio.ByteBuffer allocateDirect(int); + method @NonNull public final byte[] array(); + method public final int arrayOffset(); + method @NonNull public abstract java.nio.CharBuffer asCharBuffer(); + method @NonNull public abstract java.nio.DoubleBuffer asDoubleBuffer(); + method @NonNull public abstract java.nio.FloatBuffer asFloatBuffer(); + method @NonNull public abstract java.nio.IntBuffer asIntBuffer(); + method @NonNull public abstract java.nio.LongBuffer asLongBuffer(); + method @NonNull public abstract java.nio.ByteBuffer asReadOnlyBuffer(); + method @NonNull public abstract java.nio.ShortBuffer asShortBuffer(); + method @NonNull public abstract java.nio.ByteBuffer compact(); + method public int compareTo(@NonNull java.nio.ByteBuffer); + method @NonNull public abstract java.nio.ByteBuffer duplicate(); + method public abstract byte get(); + method public abstract byte get(int); + method @NonNull public java.nio.ByteBuffer get(@NonNull byte[], int, int); + method @NonNull public java.nio.ByteBuffer get(@NonNull byte[]); + method public abstract char getChar(); + method public abstract char getChar(int); + method public abstract double getDouble(); + method public abstract double getDouble(int); + method public abstract float getFloat(); + method public abstract float getFloat(int); + method public abstract int getInt(); + method public abstract int getInt(int); + method public abstract long getLong(); + method public abstract long getLong(int); + method public abstract short getShort(); + method public abstract short getShort(int); + method public final boolean hasArray(); + method @NonNull public final java.nio.ByteOrder order(); + method @NonNull public final java.nio.ByteBuffer order(@NonNull java.nio.ByteOrder); + method @NonNull public abstract java.nio.ByteBuffer put(byte); + method @NonNull public abstract java.nio.ByteBuffer put(int, byte); + method @NonNull public java.nio.ByteBuffer put(@NonNull java.nio.ByteBuffer); + method @NonNull public java.nio.ByteBuffer put(@NonNull byte[], int, int); + method @NonNull public final java.nio.ByteBuffer put(@NonNull byte[]); + method @NonNull public abstract java.nio.ByteBuffer putChar(char); + method @NonNull public abstract java.nio.ByteBuffer putChar(int, char); + method @NonNull public abstract java.nio.ByteBuffer putDouble(double); + method @NonNull public abstract java.nio.ByteBuffer putDouble(int, double); + method @NonNull public abstract java.nio.ByteBuffer putFloat(float); + method @NonNull public abstract java.nio.ByteBuffer putFloat(int, float); + method @NonNull public abstract java.nio.ByteBuffer putInt(int); + method @NonNull public abstract java.nio.ByteBuffer putInt(int, int); + method @NonNull public abstract java.nio.ByteBuffer putLong(long); + method @NonNull public abstract java.nio.ByteBuffer putLong(int, long); + method @NonNull public abstract java.nio.ByteBuffer putShort(short); + method @NonNull public abstract java.nio.ByteBuffer putShort(int, short); + method @NonNull public abstract java.nio.ByteBuffer slice(); + method @NonNull public static java.nio.ByteBuffer wrap(@NonNull byte[], int, int); + method @NonNull public static java.nio.ByteBuffer wrap(@NonNull byte[]); + } + + public final class ByteOrder { + method public static java.nio.ByteOrder nativeOrder(); + field public static final java.nio.ByteOrder BIG_ENDIAN; + field public static final java.nio.ByteOrder LITTLE_ENDIAN; + } + + public abstract class CharBuffer extends java.nio.Buffer implements java.lang.Appendable java.lang.CharSequence java.lang.Comparable<java.nio.CharBuffer> java.lang.Readable { + method public static java.nio.CharBuffer allocate(int); + method public java.nio.CharBuffer append(CharSequence); + method public java.nio.CharBuffer append(CharSequence, int, int); + method public java.nio.CharBuffer append(char); + method public final char[] array(); + method public final int arrayOffset(); + method public abstract java.nio.CharBuffer asReadOnlyBuffer(); + method public final char charAt(int); + method public abstract java.nio.CharBuffer compact(); + method public int compareTo(java.nio.CharBuffer); + method public abstract java.nio.CharBuffer duplicate(); + method public abstract char get(); + method public abstract char get(int); + method public java.nio.CharBuffer get(char[], int, int); + method public java.nio.CharBuffer get(char[]); + method public final boolean hasArray(); + method public final int length(); + method public abstract java.nio.ByteOrder order(); + method public abstract java.nio.CharBuffer put(char); + method public abstract java.nio.CharBuffer put(int, char); + method public java.nio.CharBuffer put(java.nio.CharBuffer); + method public java.nio.CharBuffer put(char[], int, int); + method public final java.nio.CharBuffer put(char[]); + method public java.nio.CharBuffer put(String, int, int); + method public final java.nio.CharBuffer put(String); + method public int read(java.nio.CharBuffer) throws java.io.IOException; + method public abstract java.nio.CharBuffer slice(); + method public abstract java.nio.CharBuffer subSequence(int, int); + method public static java.nio.CharBuffer wrap(char[], int, int); + method public static java.nio.CharBuffer wrap(char[]); + method public static java.nio.CharBuffer wrap(CharSequence, int, int); + method public static java.nio.CharBuffer wrap(CharSequence); + } + + public abstract class DoubleBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.DoubleBuffer> { + method public static java.nio.DoubleBuffer allocate(int); + method public final double[] array(); + method public final int arrayOffset(); + method public abstract java.nio.DoubleBuffer asReadOnlyBuffer(); + method public abstract java.nio.DoubleBuffer compact(); + method public int compareTo(java.nio.DoubleBuffer); + method public abstract java.nio.DoubleBuffer duplicate(); + method public abstract double get(); + method public abstract double get(int); + method public java.nio.DoubleBuffer get(double[], int, int); + method public java.nio.DoubleBuffer get(double[]); + method public final boolean hasArray(); + method public abstract java.nio.ByteOrder order(); + method public abstract java.nio.DoubleBuffer put(double); + method public abstract java.nio.DoubleBuffer put(int, double); + method public java.nio.DoubleBuffer put(java.nio.DoubleBuffer); + method public java.nio.DoubleBuffer put(double[], int, int); + method public final java.nio.DoubleBuffer put(double[]); + method public abstract java.nio.DoubleBuffer slice(); + method public static java.nio.DoubleBuffer wrap(double[], int, int); + method public static java.nio.DoubleBuffer wrap(double[]); + } + + public abstract class FloatBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.FloatBuffer> { + method public static java.nio.FloatBuffer allocate(int); + method public final float[] array(); + method public final int arrayOffset(); + method public abstract java.nio.FloatBuffer asReadOnlyBuffer(); + method public abstract java.nio.FloatBuffer compact(); + method public int compareTo(java.nio.FloatBuffer); + method public abstract java.nio.FloatBuffer duplicate(); + method public abstract float get(); + method public abstract float get(int); + method public java.nio.FloatBuffer get(float[], int, int); + method public java.nio.FloatBuffer get(float[]); + method public final boolean hasArray(); + method public abstract java.nio.ByteOrder order(); + method public abstract java.nio.FloatBuffer put(float); + method public abstract java.nio.FloatBuffer put(int, float); + method public java.nio.FloatBuffer put(java.nio.FloatBuffer); + method public java.nio.FloatBuffer put(float[], int, int); + method public final java.nio.FloatBuffer put(float[]); + method public abstract java.nio.FloatBuffer slice(); + method public static java.nio.FloatBuffer wrap(float[], int, int); + method public static java.nio.FloatBuffer wrap(float[]); + } + + public abstract class IntBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.IntBuffer> { + method public static java.nio.IntBuffer allocate(int); + method public final int[] array(); + method public final int arrayOffset(); + method public abstract java.nio.IntBuffer asReadOnlyBuffer(); + method public abstract java.nio.IntBuffer compact(); + method public int compareTo(java.nio.IntBuffer); + method public abstract java.nio.IntBuffer duplicate(); + method public abstract int get(); + method public abstract int get(int); + method public java.nio.IntBuffer get(int[], int, int); + method public java.nio.IntBuffer get(int[]); + method public final boolean hasArray(); + method public abstract java.nio.ByteOrder order(); + method public abstract java.nio.IntBuffer put(int); + method public abstract java.nio.IntBuffer put(int, int); + method public java.nio.IntBuffer put(java.nio.IntBuffer); + method public java.nio.IntBuffer put(int[], int, int); + method public final java.nio.IntBuffer put(int[]); + method public abstract java.nio.IntBuffer slice(); + method public static java.nio.IntBuffer wrap(int[], int, int); + method public static java.nio.IntBuffer wrap(int[]); + } + + public class InvalidMarkException extends java.lang.IllegalStateException { + ctor public InvalidMarkException(); + } + + public abstract class LongBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.LongBuffer> { + method public static java.nio.LongBuffer allocate(int); + method public final long[] array(); + method public final int arrayOffset(); + method public abstract java.nio.LongBuffer asReadOnlyBuffer(); + method public abstract java.nio.LongBuffer compact(); + method public int compareTo(java.nio.LongBuffer); + method public abstract java.nio.LongBuffer duplicate(); + method public abstract long get(); + method public abstract long get(int); + method public java.nio.LongBuffer get(long[], int, int); + method public java.nio.LongBuffer get(long[]); + method public final boolean hasArray(); + method public abstract java.nio.ByteOrder order(); + method public abstract java.nio.LongBuffer put(long); + method public abstract java.nio.LongBuffer put(int, long); + method public java.nio.LongBuffer put(java.nio.LongBuffer); + method public java.nio.LongBuffer put(long[], int, int); + method public final java.nio.LongBuffer put(long[]); + method public abstract java.nio.LongBuffer slice(); + method public static java.nio.LongBuffer wrap(long[], int, int); + method public static java.nio.LongBuffer wrap(long[]); + } + + public abstract class MappedByteBuffer extends java.nio.ByteBuffer { + method public final java.nio.MappedByteBuffer force(); + method public final boolean isLoaded(); + method public final java.nio.MappedByteBuffer load(); + } + + public class ReadOnlyBufferException extends java.lang.UnsupportedOperationException { + ctor public ReadOnlyBufferException(); + } + + public abstract class ShortBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ShortBuffer> { + method public static java.nio.ShortBuffer allocate(int); + method public final short[] array(); + method public final int arrayOffset(); + method public abstract java.nio.ShortBuffer asReadOnlyBuffer(); + method public abstract java.nio.ShortBuffer compact(); + method public int compareTo(java.nio.ShortBuffer); + method public abstract java.nio.ShortBuffer duplicate(); + method public abstract short get(); + method public abstract short get(int); + method public java.nio.ShortBuffer get(short[], int, int); + method public java.nio.ShortBuffer get(short[]); + method public final boolean hasArray(); + method public abstract java.nio.ByteOrder order(); + method public abstract java.nio.ShortBuffer put(short); + method public abstract java.nio.ShortBuffer put(int, short); + method public java.nio.ShortBuffer put(java.nio.ShortBuffer); + method public java.nio.ShortBuffer put(short[], int, int); + method public final java.nio.ShortBuffer put(short[]); + method public abstract java.nio.ShortBuffer slice(); + method public static java.nio.ShortBuffer wrap(short[], int, int); + method public static java.nio.ShortBuffer wrap(short[]); + } + +} + +package java.nio.channels { + + public class AcceptPendingException extends java.lang.IllegalStateException { + ctor public AcceptPendingException(); + } + + public class AlreadyBoundException extends java.lang.IllegalStateException { + ctor public AlreadyBoundException(); + } + + public class AlreadyConnectedException extends java.lang.IllegalStateException { + ctor public AlreadyConnectedException(); + } + + public interface AsynchronousByteChannel extends java.nio.channels.AsynchronousChannel { + method public <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>); + method public java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer); + method public <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>); + method public java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer); + } + + public interface AsynchronousChannel extends java.nio.channels.Channel { + } + + public abstract class AsynchronousChannelGroup { + ctor protected AsynchronousChannelGroup(java.nio.channels.spi.AsynchronousChannelProvider); + method public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public abstract boolean isShutdown(); + method public abstract boolean isTerminated(); + method public final java.nio.channels.spi.AsynchronousChannelProvider provider(); + method public abstract void shutdown(); + method public abstract void shutdownNow() throws java.io.IOException; + method public static java.nio.channels.AsynchronousChannelGroup withCachedThreadPool(java.util.concurrent.ExecutorService, int) throws java.io.IOException; + method public static java.nio.channels.AsynchronousChannelGroup withFixedThreadPool(int, java.util.concurrent.ThreadFactory) throws java.io.IOException; + method public static java.nio.channels.AsynchronousChannelGroup withThreadPool(java.util.concurrent.ExecutorService) throws java.io.IOException; + } + + public class AsynchronousCloseException extends java.nio.channels.ClosedChannelException { + ctor public AsynchronousCloseException(); + } + + 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 <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 <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 <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 <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; + 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 <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 <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 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 <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 <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 <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 <A> void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long,? super A>); + } + + public interface ByteChannel extends java.nio.channels.ReadableByteChannel java.nio.channels.WritableByteChannel { + } + + public class CancelledKeyException extends java.lang.IllegalStateException { + ctor public CancelledKeyException(); + } + + public interface Channel extends java.io.Closeable { + method public boolean isOpen(); + } + + public final class Channels { + method public static java.nio.channels.ReadableByteChannel newChannel(java.io.InputStream); + method public static java.nio.channels.WritableByteChannel newChannel(java.io.OutputStream); + method public static java.io.InputStream newInputStream(java.nio.channels.ReadableByteChannel); + method public static java.io.InputStream newInputStream(java.nio.channels.AsynchronousByteChannel); + method public static java.io.OutputStream newOutputStream(java.nio.channels.WritableByteChannel); + method public static java.io.OutputStream newOutputStream(java.nio.channels.AsynchronousByteChannel); + method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int); + method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, String); + method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, java.nio.charset.Charset); + method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int); + method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, String); + method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, java.nio.charset.Charset); + } + + public class ClosedByInterruptException extends java.nio.channels.AsynchronousCloseException { + ctor public ClosedByInterruptException(); + } + + public class ClosedChannelException extends java.io.IOException { + ctor public ClosedChannelException(); + } + + public class ClosedSelectorException extends java.lang.IllegalStateException { + ctor public ClosedSelectorException(); + } + + public interface CompletionHandler<V, A> { + method public void completed(V, A); + method public void failed(Throwable, A); + } + + public class ConnectionPendingException extends java.lang.IllegalStateException { + ctor public ConnectionPendingException(); + } + + public abstract class DatagramChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.MulticastChannel java.nio.channels.ScatteringByteChannel { + ctor protected DatagramChannel(java.nio.channels.spi.SelectorProvider); + method public abstract java.nio.channels.DatagramChannel bind(java.net.SocketAddress) throws java.io.IOException; + method public abstract java.nio.channels.DatagramChannel connect(java.net.SocketAddress) throws java.io.IOException; + method public abstract java.nio.channels.DatagramChannel disconnect() throws java.io.IOException; + method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException; + method public abstract boolean isConnected(); + method public static java.nio.channels.DatagramChannel open() throws java.io.IOException; + method public static java.nio.channels.DatagramChannel open(java.net.ProtocolFamily) throws java.io.IOException; + 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 <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 final long write(java.nio.ByteBuffer[]) throws java.io.IOException; + } + + public abstract class FileChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.GatheringByteChannel java.nio.channels.ScatteringByteChannel java.nio.channels.SeekableByteChannel { + ctor protected FileChannel(); + method public abstract void force(boolean) throws java.io.IOException; + method public abstract java.nio.channels.FileLock lock(long, long, boolean) throws java.io.IOException; + method public final java.nio.channels.FileLock lock() throws java.io.IOException; + method public abstract java.nio.MappedByteBuffer map(java.nio.channels.FileChannel.MapMode, long, long) throws java.io.IOException; + method public static java.nio.channels.FileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.channels.FileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; + method public abstract java.nio.channels.FileChannel position(long) throws java.io.IOException; + method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException; + method public abstract int read(java.nio.ByteBuffer, long) throws java.io.IOException; + method public abstract long transferFrom(java.nio.channels.ReadableByteChannel, long, long) throws java.io.IOException; + method public abstract long transferTo(long, long, java.nio.channels.WritableByteChannel) throws java.io.IOException; + method public abstract java.nio.channels.FileChannel 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 final long write(java.nio.ByteBuffer[]) throws java.io.IOException; + method public abstract int write(java.nio.ByteBuffer, long) throws java.io.IOException; + } + + public static class FileChannel.MapMode { + field public static final java.nio.channels.FileChannel.MapMode PRIVATE; + field public static final java.nio.channels.FileChannel.MapMode READ_ONLY; + field public static final java.nio.channels.FileChannel.MapMode READ_WRITE; + } + + public abstract class FileLock implements java.lang.AutoCloseable { + ctor protected FileLock(java.nio.channels.FileChannel, long, long, boolean); + ctor protected FileLock(java.nio.channels.AsynchronousFileChannel, long, long, boolean); + method public java.nio.channels.Channel acquiredBy(); + method public final java.nio.channels.FileChannel channel(); + method public final void close() throws java.io.IOException; + method public final boolean isShared(); + method public abstract boolean isValid(); + method public final boolean overlaps(long, long); + method public final long position(); + method public abstract void release() throws java.io.IOException; + method public final long size(); + method public final String toString(); + } + + public class FileLockInterruptionException extends java.io.IOException { + ctor public FileLockInterruptionException(); + } + + public interface GatheringByteChannel extends java.nio.channels.WritableByteChannel { + method public long write(java.nio.ByteBuffer[], int, int) throws java.io.IOException; + method public long write(java.nio.ByteBuffer[]) throws java.io.IOException; + } + + public class IllegalBlockingModeException extends java.lang.IllegalStateException { + ctor public IllegalBlockingModeException(); + } + + public class IllegalChannelGroupException extends java.lang.IllegalArgumentException { + ctor public IllegalChannelGroupException(); + } + + public class IllegalSelectorException extends java.lang.IllegalArgumentException { + ctor public IllegalSelectorException(); + } + + public class InterruptedByTimeoutException extends java.io.IOException { + ctor public InterruptedByTimeoutException(); + } + + public interface InterruptibleChannel extends java.nio.channels.Channel { + } + + public abstract class MembershipKey { + ctor protected MembershipKey(); + method public abstract java.nio.channels.MembershipKey block(java.net.InetAddress) throws java.io.IOException; + method public abstract java.nio.channels.MulticastChannel channel(); + method public abstract void drop(); + method public abstract java.net.InetAddress group(); + method public abstract boolean isValid(); + method public abstract java.net.NetworkInterface networkInterface(); + method public abstract java.net.InetAddress sourceAddress(); + method public abstract java.nio.channels.MembershipKey unblock(java.net.InetAddress); + } + + public interface MulticastChannel extends java.nio.channels.NetworkChannel { + method public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface) throws java.io.IOException; + method public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException; + } + + public interface NetworkChannel extends java.nio.channels.Channel { + method public java.nio.channels.NetworkChannel bind(java.net.SocketAddress) throws java.io.IOException; + method public java.net.SocketAddress getLocalAddress() throws java.io.IOException; + method public <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException; + method public <T> java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException; + method public java.util.Set<java.net.SocketOption<?>> supportedOptions(); + } + + public class NoConnectionPendingException extends java.lang.IllegalStateException { + ctor public NoConnectionPendingException(); + } + + public class NonReadableChannelException extends java.lang.IllegalStateException { + ctor public NonReadableChannelException(); + } + + public class NonWritableChannelException extends java.lang.IllegalStateException { + ctor public NonWritableChannelException(); + } + + public class NotYetBoundException extends java.lang.IllegalStateException { + ctor public NotYetBoundException(); + } + + public class NotYetConnectedException extends java.lang.IllegalStateException { + ctor public NotYetConnectedException(); + } + + public class OverlappingFileLockException extends java.lang.IllegalStateException { + ctor public OverlappingFileLockException(); + } + + public abstract class Pipe { + ctor protected Pipe(); + method public static java.nio.channels.Pipe open() throws java.io.IOException; + method public abstract java.nio.channels.Pipe.SinkChannel sink(); + method public abstract java.nio.channels.Pipe.SourceChannel source(); + } + + public abstract static class Pipe.SinkChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.GatheringByteChannel java.nio.channels.WritableByteChannel { + ctor protected Pipe.SinkChannel(java.nio.channels.spi.SelectorProvider); + method public final int validOps(); + } + + public abstract static class Pipe.SourceChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.ScatteringByteChannel { + ctor protected Pipe.SourceChannel(java.nio.channels.spi.SelectorProvider); + method public final int validOps(); + } + + public class ReadPendingException extends java.lang.IllegalStateException { + ctor public ReadPendingException(); + } + + public interface ReadableByteChannel extends java.nio.channels.Channel { + method public int read(java.nio.ByteBuffer) throws java.io.IOException; + } + + public interface ScatteringByteChannel extends java.nio.channels.ReadableByteChannel { + method public long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException; + method public long read(java.nio.ByteBuffer[]) throws java.io.IOException; + } + + public interface SeekableByteChannel extends java.nio.channels.ByteChannel { + method public long position() throws java.io.IOException; + method public java.nio.channels.SeekableByteChannel position(long) throws java.io.IOException; + method public long size() throws java.io.IOException; + method public java.nio.channels.SeekableByteChannel truncate(long) throws java.io.IOException; + } + + public abstract class SelectableChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.Channel { + ctor protected SelectableChannel(); + method public abstract Object blockingLock(); + method public abstract java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException; + method public abstract boolean isBlocking(); + method public abstract boolean isRegistered(); + method public abstract java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector); + method public abstract java.nio.channels.spi.SelectorProvider provider(); + method public abstract java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, Object) throws java.nio.channels.ClosedChannelException; + method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int) throws java.nio.channels.ClosedChannelException; + method public abstract int validOps(); + } + + public abstract class SelectionKey { + ctor protected SelectionKey(); + method public final Object attach(Object); + method public final Object attachment(); + method public abstract void cancel(); + method public abstract java.nio.channels.SelectableChannel channel(); + method public abstract int interestOps(); + method public abstract java.nio.channels.SelectionKey interestOps(int); + method public int interestOpsAnd(int); + method public int interestOpsOr(int); + method public final boolean isAcceptable(); + method public final boolean isConnectable(); + method public final boolean isReadable(); + method public abstract boolean isValid(); + method public final boolean isWritable(); + method public abstract int readyOps(); + method public abstract java.nio.channels.Selector selector(); + field public static final int OP_ACCEPT = 16; // 0x10 + field public static final int OP_CONNECT = 8; // 0x8 + field public static final int OP_READ = 1; // 0x1 + field public static final int OP_WRITE = 4; // 0x4 + } + + public abstract class Selector implements java.io.Closeable { + ctor protected Selector(); + method public abstract boolean isOpen(); + method public abstract java.util.Set<java.nio.channels.SelectionKey> keys(); + method public static java.nio.channels.Selector open() throws java.io.IOException; + method public abstract java.nio.channels.spi.SelectorProvider provider(); + method public abstract int select(long) throws java.io.IOException; + method public abstract int select() throws java.io.IOException; + method public int select(java.util.function.Consumer<java.nio.channels.SelectionKey>, long) throws java.io.IOException; + method public int select(java.util.function.Consumer<java.nio.channels.SelectionKey>) throws java.io.IOException; + method public abstract int selectNow() throws java.io.IOException; + method public int selectNow(java.util.function.Consumer<java.nio.channels.SelectionKey>) throws java.io.IOException; + method public abstract java.util.Set<java.nio.channels.SelectionKey> selectedKeys(); + method public abstract java.nio.channels.Selector wakeup(); + } + + public abstract class ServerSocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.NetworkChannel { + ctor protected ServerSocketChannel(java.nio.channels.spi.SelectorProvider); + method public abstract java.nio.channels.SocketChannel accept() throws java.io.IOException; + method public final java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException; + method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException; + method public static java.nio.channels.ServerSocketChannel open() throws java.io.IOException; + method public abstract <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(); + } + + public class ShutdownChannelGroupException extends java.lang.IllegalStateException { + ctor public ShutdownChannelGroupException(); + } + + public abstract class SocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.NetworkChannel java.nio.channels.ScatteringByteChannel { + ctor protected SocketChannel(java.nio.channels.spi.SelectorProvider); + method public abstract java.nio.channels.SocketChannel bind(java.net.SocketAddress) throws java.io.IOException; + method public abstract boolean connect(java.net.SocketAddress) throws java.io.IOException; + method public abstract boolean finishConnect() throws java.io.IOException; + method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException; + method public abstract boolean isConnected(); + method public abstract boolean isConnectionPending(); + method public static java.nio.channels.SocketChannel open() throws java.io.IOException; + method public static java.nio.channels.SocketChannel open(java.net.SocketAddress) throws java.io.IOException; + method public final long read(java.nio.ByteBuffer[]) 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(); + method public final int validOps(); + method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException; + } + + public class UnresolvedAddressException extends java.lang.IllegalArgumentException { + ctor public UnresolvedAddressException(); + } + + public class UnsupportedAddressTypeException extends java.lang.IllegalArgumentException { + ctor public UnsupportedAddressTypeException(); + } + + public interface WritableByteChannel extends java.nio.channels.Channel { + method public int write(java.nio.ByteBuffer) throws java.io.IOException; + } + + public class WritePendingException extends java.lang.IllegalStateException { + ctor public WritePendingException(); + } + +} + +package java.nio.channels.spi { + + public abstract class AbstractInterruptibleChannel implements java.nio.channels.Channel java.nio.channels.InterruptibleChannel { + ctor protected AbstractInterruptibleChannel(); + method protected final void begin(); + method public final void close() throws java.io.IOException; + method protected final void end(boolean) throws java.nio.channels.AsynchronousCloseException; + method protected abstract void implCloseChannel() throws java.io.IOException; + method public final boolean isOpen(); + } + + public abstract class AbstractSelectableChannel extends java.nio.channels.SelectableChannel { + ctor protected AbstractSelectableChannel(java.nio.channels.spi.SelectorProvider); + method public final Object blockingLock(); + method public final java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException; + method protected final void implCloseChannel() throws java.io.IOException; + method protected abstract void implCloseSelectableChannel() throws java.io.IOException; + method protected abstract void implConfigureBlocking(boolean) throws java.io.IOException; + method public final boolean isBlocking(); + method public final boolean isRegistered(); + method public final java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector); + method public final java.nio.channels.spi.SelectorProvider provider(); + method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, Object) throws java.nio.channels.ClosedChannelException; + } + + public abstract class AbstractSelectionKey extends java.nio.channels.SelectionKey { + ctor protected AbstractSelectionKey(); + method public final void cancel(); + method public final boolean isValid(); + } + + public abstract class AbstractSelector extends java.nio.channels.Selector { + ctor protected AbstractSelector(java.nio.channels.spi.SelectorProvider); + method protected final void begin(); + method protected final java.util.Set<java.nio.channels.SelectionKey> cancelledKeys(); + method public final void close() throws java.io.IOException; + method protected final void deregister(java.nio.channels.spi.AbstractSelectionKey); + method protected final void end(); + method protected abstract void implCloseSelector() throws java.io.IOException; + method public final boolean isOpen(); + method public final java.nio.channels.spi.SelectorProvider provider(); + method protected abstract java.nio.channels.SelectionKey register(java.nio.channels.spi.AbstractSelectableChannel, int, Object); + } + + public abstract class AsynchronousChannelProvider { + ctor protected AsynchronousChannelProvider(); + method public abstract java.nio.channels.AsynchronousChannelGroup openAsynchronousChannelGroup(int, java.util.concurrent.ThreadFactory) throws java.io.IOException; + method public abstract java.nio.channels.AsynchronousChannelGroup openAsynchronousChannelGroup(java.util.concurrent.ExecutorService, int) throws java.io.IOException; + method public abstract java.nio.channels.AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; + method public abstract java.nio.channels.AsynchronousSocketChannel openAsynchronousSocketChannel(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException; + method public static java.nio.channels.spi.AsynchronousChannelProvider provider(); + } + + public abstract class SelectorProvider { + ctor protected SelectorProvider(); + method public java.nio.channels.Channel inheritedChannel() throws java.io.IOException; + method public abstract java.nio.channels.DatagramChannel openDatagramChannel() throws java.io.IOException; + method public abstract java.nio.channels.DatagramChannel openDatagramChannel(java.net.ProtocolFamily) throws java.io.IOException; + method public abstract java.nio.channels.Pipe openPipe() throws java.io.IOException; + method public abstract java.nio.channels.spi.AbstractSelector openSelector() throws java.io.IOException; + method public abstract java.nio.channels.ServerSocketChannel openServerSocketChannel() throws java.io.IOException; + method public abstract java.nio.channels.SocketChannel openSocketChannel() throws java.io.IOException; + method public static java.nio.channels.spi.SelectorProvider provider(); + } + +} + +package java.nio.charset { + + public class CharacterCodingException extends java.io.IOException { + ctor public CharacterCodingException(); + } + + public abstract class Charset implements java.lang.Comparable<java.nio.charset.Charset> { + ctor protected Charset(String, String[]); + method public final java.util.Set<java.lang.String> aliases(); + method public static java.util.SortedMap<java.lang.String,java.nio.charset.Charset> availableCharsets(); + method public boolean canEncode(); + method public final int compareTo(java.nio.charset.Charset); + method public abstract boolean contains(java.nio.charset.Charset); + method public final java.nio.CharBuffer decode(java.nio.ByteBuffer); + method public static java.nio.charset.Charset defaultCharset(); + method public String displayName(); + method public String displayName(java.util.Locale); + method public final java.nio.ByteBuffer encode(java.nio.CharBuffer); + method public final java.nio.ByteBuffer encode(String); + method public final boolean equals(Object); + method public static java.nio.charset.Charset forName(String); + method public final int hashCode(); + method public final boolean isRegistered(); + method public static boolean isSupported(String); + method public final String name(); + method public abstract java.nio.charset.CharsetDecoder newDecoder(); + method public abstract java.nio.charset.CharsetEncoder newEncoder(); + method public final String toString(); + } + + public abstract class CharsetDecoder { + ctor protected CharsetDecoder(java.nio.charset.Charset, float, float); + method public final float averageCharsPerByte(); + method public final java.nio.charset.Charset charset(); + method public final java.nio.charset.CoderResult decode(java.nio.ByteBuffer, java.nio.CharBuffer, boolean); + method public final java.nio.CharBuffer decode(java.nio.ByteBuffer) throws java.nio.charset.CharacterCodingException; + method protected abstract java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer); + method public java.nio.charset.Charset detectedCharset(); + method public final java.nio.charset.CoderResult flush(java.nio.CharBuffer); + method protected java.nio.charset.CoderResult implFlush(java.nio.CharBuffer); + method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction); + method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction); + method protected void implReplaceWith(String); + method protected void implReset(); + method public boolean isAutoDetecting(); + method public boolean isCharsetDetected(); + method public java.nio.charset.CodingErrorAction malformedInputAction(); + method public final float maxCharsPerByte(); + method public final java.nio.charset.CharsetDecoder onMalformedInput(java.nio.charset.CodingErrorAction); + method public final java.nio.charset.CharsetDecoder onUnmappableCharacter(java.nio.charset.CodingErrorAction); + method public final java.nio.charset.CharsetDecoder replaceWith(String); + method public final String replacement(); + method public final java.nio.charset.CharsetDecoder reset(); + method public java.nio.charset.CodingErrorAction unmappableCharacterAction(); + } + + public abstract class CharsetEncoder { + ctor protected CharsetEncoder(java.nio.charset.Charset, float, float, byte[]); + ctor protected CharsetEncoder(java.nio.charset.Charset, float, float); + method public final float averageBytesPerChar(); + method public boolean canEncode(char); + method public boolean canEncode(CharSequence); + method public final java.nio.charset.Charset charset(); + method public final java.nio.charset.CoderResult encode(java.nio.CharBuffer, java.nio.ByteBuffer, boolean); + method public final java.nio.ByteBuffer encode(java.nio.CharBuffer) throws java.nio.charset.CharacterCodingException; + method protected abstract java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer); + method public final java.nio.charset.CoderResult flush(java.nio.ByteBuffer); + method protected java.nio.charset.CoderResult implFlush(java.nio.ByteBuffer); + method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction); + method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction); + method protected void implReplaceWith(byte[]); + method protected void implReset(); + method public boolean isLegalReplacement(byte[]); + method public java.nio.charset.CodingErrorAction malformedInputAction(); + method public final float maxBytesPerChar(); + method public final java.nio.charset.CharsetEncoder onMalformedInput(java.nio.charset.CodingErrorAction); + method public final java.nio.charset.CharsetEncoder onUnmappableCharacter(java.nio.charset.CodingErrorAction); + method public final java.nio.charset.CharsetEncoder replaceWith(byte[]); + method public final byte[] replacement(); + method public final java.nio.charset.CharsetEncoder reset(); + method public java.nio.charset.CodingErrorAction unmappableCharacterAction(); + } + + public class CoderMalfunctionError extends java.lang.Error { + ctor public CoderMalfunctionError(Exception); + } + + public class CoderResult { + method public boolean isError(); + method public boolean isMalformed(); + method public boolean isOverflow(); + method public boolean isUnderflow(); + method public boolean isUnmappable(); + method public int length(); + method public static java.nio.charset.CoderResult malformedForLength(int); + method public void throwException() throws java.nio.charset.CharacterCodingException; + method public static java.nio.charset.CoderResult unmappableForLength(int); + field public static final java.nio.charset.CoderResult OVERFLOW; + field public static final java.nio.charset.CoderResult UNDERFLOW; + } + + public class CodingErrorAction { + field public static final java.nio.charset.CodingErrorAction IGNORE; + field public static final java.nio.charset.CodingErrorAction REPLACE; + field public static final java.nio.charset.CodingErrorAction REPORT; + } + + public class IllegalCharsetNameException extends java.lang.IllegalArgumentException { + ctor public IllegalCharsetNameException(String); + method public String getCharsetName(); + } + + public class MalformedInputException extends java.nio.charset.CharacterCodingException { + ctor public MalformedInputException(int); + method public int getInputLength(); + } + + public final class StandardCharsets { + field public static final java.nio.charset.Charset ISO_8859_1; + field public static final java.nio.charset.Charset US_ASCII; + field public static final java.nio.charset.Charset UTF_16; + field public static final java.nio.charset.Charset UTF_16BE; + field public static final java.nio.charset.Charset UTF_16LE; + field public static final java.nio.charset.Charset UTF_8; + } + + public class UnmappableCharacterException extends java.nio.charset.CharacterCodingException { + ctor public UnmappableCharacterException(int); + method public int getInputLength(); + } + + public class UnsupportedCharsetException extends java.lang.IllegalArgumentException { + ctor public UnsupportedCharsetException(String); + method public String getCharsetName(); + } + +} + +package java.nio.charset.spi { + + public abstract class CharsetProvider { + ctor protected CharsetProvider(); + method public abstract java.nio.charset.Charset charsetForName(String); + method public abstract java.util.Iterator<java.nio.charset.Charset> charsets(); + } + +} + +package java.nio.file { + + public class AccessDeniedException extends java.nio.file.FileSystemException { + ctor public AccessDeniedException(String); + ctor public AccessDeniedException(String, String, String); + } + + public enum AccessMode { + enum_constant public static final java.nio.file.AccessMode EXECUTE; + enum_constant public static final java.nio.file.AccessMode READ; + enum_constant public static final java.nio.file.AccessMode WRITE; + } + + public class AtomicMoveNotSupportedException extends java.nio.file.FileSystemException { + ctor public AtomicMoveNotSupportedException(String, String, String); + } + + public class ClosedDirectoryStreamException extends java.lang.IllegalStateException { + ctor public ClosedDirectoryStreamException(); + } + + public class ClosedFileSystemException extends java.lang.IllegalStateException { + ctor public ClosedFileSystemException(); + } + + public class ClosedWatchServiceException extends java.lang.IllegalStateException { + ctor public ClosedWatchServiceException(); + } + + public interface CopyOption { + } + + public final class DirectoryIteratorException extends java.util.ConcurrentModificationException { + ctor public DirectoryIteratorException(java.io.IOException); + method public java.io.IOException getCause(); + } + + public class DirectoryNotEmptyException extends java.nio.file.FileSystemException { + ctor public DirectoryNotEmptyException(String); + } + + public interface DirectoryStream<T> extends java.io.Closeable java.lang.Iterable<T> { + } + + @java.lang.FunctionalInterface public static interface DirectoryStream.Filter<T> { + method public boolean accept(T) throws java.io.IOException; + } + + public class FileAlreadyExistsException extends java.nio.file.FileSystemException { + ctor public FileAlreadyExistsException(String); + ctor public FileAlreadyExistsException(String, String, String); + } + + public abstract class FileStore { + ctor protected FileStore(); + method public abstract Object getAttribute(String) throws java.io.IOException; + method public long getBlockSize() throws java.io.IOException; + method public abstract <V extends java.nio.file.attribute.FileStoreAttributeView> V getFileStoreAttributeView(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; + method public abstract boolean isReadOnly(); + method public abstract String name(); + method public abstract boolean supportsFileAttributeView(Class<? extends java.nio.file.attribute.FileAttributeView>); + method public abstract boolean supportsFileAttributeView(String); + method public abstract String type(); + } + + public abstract class FileSystem implements java.io.Closeable { + ctor protected FileSystem(); + method public abstract Iterable<java.nio.file.FileStore> getFileStores(); + method public abstract java.nio.file.Path getPath(String, java.lang.String...); + method public abstract java.nio.file.PathMatcher getPathMatcher(String); + method public abstract Iterable<java.nio.file.Path> getRootDirectories(); + method public abstract String getSeparator(); + method public abstract java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService(); + method public abstract boolean isOpen(); + method public abstract boolean isReadOnly(); + method public abstract java.nio.file.WatchService newWatchService() throws java.io.IOException; + method public abstract java.nio.file.spi.FileSystemProvider provider(); + method public abstract java.util.Set<java.lang.String> supportedFileAttributeViews(); + } + + public class FileSystemAlreadyExistsException extends java.lang.RuntimeException { + ctor public FileSystemAlreadyExistsException(); + ctor public FileSystemAlreadyExistsException(String); + } + + public class FileSystemException extends java.io.IOException { + ctor public FileSystemException(String); + ctor public FileSystemException(String, String, String); + method public String getFile(); + method public String getOtherFile(); + method public String getReason(); + } + + public class FileSystemLoopException extends java.nio.file.FileSystemException { + ctor public FileSystemLoopException(String); + } + + public class FileSystemNotFoundException extends java.lang.RuntimeException { + ctor public FileSystemNotFoundException(); + ctor public FileSystemNotFoundException(String); + } + + public final class FileSystems { + method public static java.nio.file.FileSystem getDefault(); + method public static java.nio.file.FileSystem getFileSystem(java.net.URI); + method public static java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>) throws java.io.IOException; + method public static java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>, ClassLoader) throws java.io.IOException; + method public static java.nio.file.FileSystem newFileSystem(java.nio.file.Path, ClassLoader) throws java.io.IOException; + } + + public enum FileVisitOption { + enum_constant public static final java.nio.file.FileVisitOption FOLLOW_LINKS; + } + + public enum FileVisitResult { + enum_constant public static final java.nio.file.FileVisitResult CONTINUE; + enum_constant public static final java.nio.file.FileVisitResult SKIP_SIBLINGS; + enum_constant public static final java.nio.file.FileVisitResult SKIP_SUBTREE; + enum_constant public static final java.nio.file.FileVisitResult TERMINATE; + } + + public interface FileVisitor<T> { + 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; + method public java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; + method public java.nio.file.FileVisitResult visitFileFailed(T, java.io.IOException) throws java.io.IOException; + } + + public final class Files { + method public static java.nio.file.Path copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException; + method public static long copy(java.io.InputStream, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException; + method public static long copy(java.nio.file.Path, java.io.OutputStream) throws java.io.IOException; + method public static java.nio.file.Path createDirectories(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.file.Path createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.file.Path createFile(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.file.Path createLink(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException; + method public static java.nio.file.Path createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.file.Path createTempDirectory(java.nio.file.Path, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.file.Path createTempDirectory(String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.file.Path createTempFile(java.nio.file.Path, String, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.file.Path createTempFile(String, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static void delete(java.nio.file.Path) throws java.io.IOException; + method public static boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException; + 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 Object getAttribute(java.nio.file.Path, String, java.nio.file.LinkOption...) throws java.io.IOException; + method public static <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, 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; + method public static java.util.Set<java.nio.file.attribute.PosixFilePermission> getPosixFilePermissions(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException; + method public static boolean isDirectory(java.nio.file.Path, java.nio.file.LinkOption...); + method public static boolean isExecutable(java.nio.file.Path); + method public static boolean isHidden(java.nio.file.Path) throws java.io.IOException; + method public static boolean isReadable(java.nio.file.Path); + method public static boolean isRegularFile(java.nio.file.Path, java.nio.file.LinkOption...); + method public static boolean isSameFile(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException; + method public static boolean isSymbolicLink(java.nio.file.Path); + method public static boolean isWritable(java.nio.file.Path); + method public static java.util.stream.Stream<java.lang.String> lines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException; + method public static java.util.stream.Stream<java.lang.String> lines(java.nio.file.Path) throws java.io.IOException; + method public static java.util.stream.Stream<java.nio.file.Path> list(java.nio.file.Path) throws java.io.IOException; + method public static java.nio.file.Path move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException; + method public static java.io.BufferedReader newBufferedReader(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException; + method public static java.io.BufferedReader newBufferedReader(java.nio.file.Path) throws java.io.IOException; + method public static java.io.BufferedWriter newBufferedWriter(java.nio.file.Path, java.nio.charset.Charset, java.nio.file.OpenOption...) throws java.io.IOException; + method public static java.io.BufferedWriter newBufferedWriter(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; + method public static java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public static java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; + method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path) throws java.io.IOException; + method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, String) throws java.io.IOException; + method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path>) throws java.io.IOException; + method public static java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; + method public static java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException; + method public static boolean notExists(java.nio.file.Path, java.nio.file.LinkOption...); + method public static String probeContentType(java.nio.file.Path) throws java.io.IOException; + 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 extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, 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, 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, String, Object, java.nio.file.LinkOption...) throws java.io.IOException; + method public static java.nio.file.Path setLastModifiedTime(java.nio.file.Path, java.nio.file.attribute.FileTime) throws java.io.IOException; + method public static java.nio.file.Path setOwner(java.nio.file.Path, java.nio.file.attribute.UserPrincipal) throws java.io.IOException; + method public static java.nio.file.Path setPosixFilePermissions(java.nio.file.Path, java.util.Set<java.nio.file.attribute.PosixFilePermission>) throws java.io.IOException; + method public static long size(java.nio.file.Path) throws java.io.IOException; + method public static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path, int, java.nio.file.FileVisitOption...) throws java.io.IOException; + method public static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path, java.nio.file.FileVisitOption...) throws java.io.IOException; + method public static java.nio.file.Path walkFileTree(java.nio.file.Path, java.util.Set<java.nio.file.FileVisitOption>, int, java.nio.file.FileVisitor<? super java.nio.file.Path>) throws java.io.IOException; + method public static java.nio.file.Path walkFileTree(java.nio.file.Path, java.nio.file.FileVisitor<? super java.nio.file.Path>) throws java.io.IOException; + method public static java.nio.file.Path write(java.nio.file.Path, byte[], java.nio.file.OpenOption...) throws java.io.IOException; + method public static java.nio.file.Path write(java.nio.file.Path, Iterable<? extends java.lang.CharSequence>, java.nio.charset.Charset, java.nio.file.OpenOption...) throws java.io.IOException; + method public static java.nio.file.Path write(java.nio.file.Path, Iterable<? extends java.lang.CharSequence>, java.nio.file.OpenOption...) throws java.io.IOException; + } + + public class InvalidPathException extends java.lang.IllegalArgumentException { + ctor public InvalidPathException(String, String, int); + ctor public InvalidPathException(String, String); + method public int getIndex(); + method public String getInput(); + method public String getReason(); + } + + public enum LinkOption implements java.nio.file.CopyOption java.nio.file.OpenOption { + enum_constant public static final java.nio.file.LinkOption NOFOLLOW_LINKS; + } + + public final class LinkPermission extends java.security.BasicPermission { + ctor public LinkPermission(String); + ctor public LinkPermission(String, String); + } + + public class NoSuchFileException extends java.nio.file.FileSystemException { + ctor public NoSuchFileException(String); + ctor public NoSuchFileException(String, String, String); + } + + public class NotDirectoryException extends java.nio.file.FileSystemException { + ctor public NotDirectoryException(String); + } + + public class NotLinkException extends java.nio.file.FileSystemException { + ctor public NotLinkException(String); + ctor public NotLinkException(String, String, String); + } + + public interface OpenOption { + } + + public interface Path extends java.lang.Comparable<java.nio.file.Path> java.lang.Iterable<java.nio.file.Path> java.nio.file.Watchable { + method public int compareTo(java.nio.file.Path); + method public boolean endsWith(java.nio.file.Path); + method public boolean endsWith(String); + method public boolean equals(Object); + method public java.nio.file.Path getFileName(); + method public java.nio.file.FileSystem getFileSystem(); + method public java.nio.file.Path getName(int); + method public int getNameCount(); + method public java.nio.file.Path getParent(); + method public java.nio.file.Path getRoot(); + method public int hashCode(); + method public boolean isAbsolute(); + method public java.util.Iterator<java.nio.file.Path> iterator(); + method public java.nio.file.Path normalize(); + method public java.nio.file.Path relativize(java.nio.file.Path); + method public java.nio.file.Path resolve(java.nio.file.Path); + method public java.nio.file.Path resolve(String); + method public java.nio.file.Path resolveSibling(java.nio.file.Path); + method public java.nio.file.Path resolveSibling(String); + method public boolean startsWith(java.nio.file.Path); + method public boolean startsWith(String); + method public java.nio.file.Path subpath(int, int); + method public java.nio.file.Path toAbsolutePath(); + method public java.io.File toFile(); + method public java.nio.file.Path toRealPath(java.nio.file.LinkOption...) throws java.io.IOException; + method public String toString(); + method public java.net.URI toUri(); + } + + @java.lang.FunctionalInterface public interface PathMatcher { + method public boolean matches(java.nio.file.Path); + } + + public final class Paths { + method public static java.nio.file.Path get(String, java.lang.String...); + method public static java.nio.file.Path get(java.net.URI); + } + + public class ProviderMismatchException extends java.lang.IllegalArgumentException { + ctor public ProviderMismatchException(); + ctor public ProviderMismatchException(String); + } + + public class ProviderNotFoundException extends java.lang.RuntimeException { + ctor public ProviderNotFoundException(); + ctor public ProviderNotFoundException(String); + } + + public class ReadOnlyFileSystemException extends java.lang.UnsupportedOperationException { + ctor public ReadOnlyFileSystemException(); + } + + public interface SecureDirectoryStream<T> extends java.nio.file.DirectoryStream<T> { + method public void deleteDirectory(T) throws java.io.IOException; + method public void deleteFile(T) throws java.io.IOException; + method public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(Class<V>); + method public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(T, Class<V>, java.nio.file.LinkOption...); + method public void move(T, java.nio.file.SecureDirectoryStream<T>, T) throws java.io.IOException; + method public 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 java.nio.file.SecureDirectoryStream<T> newDirectoryStream(T, java.nio.file.LinkOption...) throws java.io.IOException; + } + + public class SimpleFileVisitor<T> implements java.nio.file.FileVisitor<T> { + 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; + method public java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException; + method public java.nio.file.FileVisitResult visitFileFailed(T, java.io.IOException) throws java.io.IOException; + } + + public enum StandardCopyOption implements java.nio.file.CopyOption { + enum_constant public static final java.nio.file.StandardCopyOption ATOMIC_MOVE; + enum_constant public static final java.nio.file.StandardCopyOption COPY_ATTRIBUTES; + enum_constant public static final java.nio.file.StandardCopyOption REPLACE_EXISTING; + } + + public enum StandardOpenOption implements java.nio.file.OpenOption { + enum_constant public static final java.nio.file.StandardOpenOption APPEND; + enum_constant public static final java.nio.file.StandardOpenOption CREATE; + enum_constant public static final java.nio.file.StandardOpenOption CREATE_NEW; + enum_constant public static final java.nio.file.StandardOpenOption DELETE_ON_CLOSE; + enum_constant public static final java.nio.file.StandardOpenOption DSYNC; + enum_constant public static final java.nio.file.StandardOpenOption READ; + enum_constant public static final java.nio.file.StandardOpenOption SPARSE; + enum_constant public static final java.nio.file.StandardOpenOption SYNC; + enum_constant public static final java.nio.file.StandardOpenOption TRUNCATE_EXISTING; + enum_constant public static final java.nio.file.StandardOpenOption WRITE; + } + + public final class StandardWatchEventKinds { + field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_CREATE; + field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_DELETE; + field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_MODIFY; + field public static final java.nio.file.WatchEvent.Kind<java.lang.Object> OVERFLOW; + } + + public interface WatchEvent<T> { + method public T context(); + method public int count(); + method public java.nio.file.WatchEvent.Kind<T> kind(); + } + + public static interface WatchEvent.Kind<T> { + method public String name(); + method public Class<T> type(); + } + + public static interface WatchEvent.Modifier { + method public String name(); + } + + public interface WatchKey { + method public void cancel(); + method public boolean isValid(); + method public java.util.List<java.nio.file.WatchEvent<?>> pollEvents(); + method public boolean reset(); + method public java.nio.file.Watchable watchable(); + } + + public interface WatchService extends java.io.Closeable { + method public java.nio.file.WatchKey poll(); + method public java.nio.file.WatchKey poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public java.nio.file.WatchKey take() throws java.lang.InterruptedException; + } + + public interface Watchable { + method public java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent.Kind<?>[], java.nio.file.WatchEvent.Modifier...) throws java.io.IOException; + method public java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent.Kind<?>...) throws java.io.IOException; + } + +} + +package java.nio.file.attribute { + + public final class AclEntry { + method public java.util.Set<java.nio.file.attribute.AclEntryFlag> flags(); + method public static java.nio.file.attribute.AclEntry.Builder newBuilder(); + method public static java.nio.file.attribute.AclEntry.Builder newBuilder(java.nio.file.attribute.AclEntry); + method public java.util.Set<java.nio.file.attribute.AclEntryPermission> permissions(); + method public java.nio.file.attribute.UserPrincipal principal(); + method public java.nio.file.attribute.AclEntryType type(); + } + + public static final class AclEntry.Builder { + method public java.nio.file.attribute.AclEntry build(); + method public java.nio.file.attribute.AclEntry.Builder setFlags(java.util.Set<java.nio.file.attribute.AclEntryFlag>); + method public java.nio.file.attribute.AclEntry.Builder setFlags(java.nio.file.attribute.AclEntryFlag...); + method public java.nio.file.attribute.AclEntry.Builder setPermissions(java.util.Set<java.nio.file.attribute.AclEntryPermission>); + method public java.nio.file.attribute.AclEntry.Builder setPermissions(java.nio.file.attribute.AclEntryPermission...); + method public java.nio.file.attribute.AclEntry.Builder setPrincipal(java.nio.file.attribute.UserPrincipal); + method public java.nio.file.attribute.AclEntry.Builder setType(java.nio.file.attribute.AclEntryType); + } + + public enum AclEntryFlag { + enum_constant public static final java.nio.file.attribute.AclEntryFlag DIRECTORY_INHERIT; + enum_constant public static final java.nio.file.attribute.AclEntryFlag FILE_INHERIT; + enum_constant public static final java.nio.file.attribute.AclEntryFlag INHERIT_ONLY; + enum_constant public static final java.nio.file.attribute.AclEntryFlag NO_PROPAGATE_INHERIT; + } + + public enum AclEntryPermission { + enum_constant public static final java.nio.file.attribute.AclEntryPermission APPEND_DATA; + enum_constant public static final java.nio.file.attribute.AclEntryPermission DELETE; + enum_constant public static final java.nio.file.attribute.AclEntryPermission DELETE_CHILD; + enum_constant public static final java.nio.file.attribute.AclEntryPermission EXECUTE; + enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_ACL; + enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_ATTRIBUTES; + enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_DATA; + enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_NAMED_ATTRS; + enum_constant public static final java.nio.file.attribute.AclEntryPermission SYNCHRONIZE; + enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_ACL; + enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_ATTRIBUTES; + enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_DATA; + enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_NAMED_ATTRS; + enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_OWNER; + field public static final java.nio.file.attribute.AclEntryPermission ADD_FILE; + field public static final java.nio.file.attribute.AclEntryPermission ADD_SUBDIRECTORY; + field public static final java.nio.file.attribute.AclEntryPermission LIST_DIRECTORY; + } + + public enum AclEntryType { + enum_constant public static final java.nio.file.attribute.AclEntryType ALARM; + enum_constant public static final java.nio.file.attribute.AclEntryType ALLOW; + enum_constant public static final java.nio.file.attribute.AclEntryType AUDIT; + enum_constant public static final java.nio.file.attribute.AclEntryType DENY; + } + + public interface AclFileAttributeView extends java.nio.file.attribute.FileOwnerAttributeView { + method public java.util.List<java.nio.file.attribute.AclEntry> getAcl() throws java.io.IOException; + method public void setAcl(java.util.List<java.nio.file.attribute.AclEntry>) throws java.io.IOException; + } + + public interface AttributeView { + method public String name(); + } + + public interface BasicFileAttributeView extends java.nio.file.attribute.FileAttributeView { + method public java.nio.file.attribute.BasicFileAttributes readAttributes() throws java.io.IOException; + method public void setTimes(java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime) throws java.io.IOException; + } + + public interface BasicFileAttributes { + method public java.nio.file.attribute.FileTime creationTime(); + method public Object fileKey(); + method public boolean isDirectory(); + method public boolean isOther(); + method public boolean isRegularFile(); + method public boolean isSymbolicLink(); + method public java.nio.file.attribute.FileTime lastAccessTime(); + method public java.nio.file.attribute.FileTime lastModifiedTime(); + method public long size(); + } + + public interface DosFileAttributeView extends java.nio.file.attribute.BasicFileAttributeView { + method public java.nio.file.attribute.DosFileAttributes readAttributes() throws java.io.IOException; + method public void setArchive(boolean) throws java.io.IOException; + method public void setHidden(boolean) throws java.io.IOException; + method public void setReadOnly(boolean) throws java.io.IOException; + method public void setSystem(boolean) throws java.io.IOException; + } + + public interface DosFileAttributes extends java.nio.file.attribute.BasicFileAttributes { + method public boolean isArchive(); + method public boolean isHidden(); + method public boolean isReadOnly(); + method public boolean isSystem(); + } + + public interface FileAttribute<T> { + method public String name(); + method public T value(); + } + + public interface FileAttributeView extends java.nio.file.attribute.AttributeView { + } + + public interface FileOwnerAttributeView extends java.nio.file.attribute.FileAttributeView { + method public java.nio.file.attribute.UserPrincipal getOwner() throws java.io.IOException; + method public void setOwner(java.nio.file.attribute.UserPrincipal) throws java.io.IOException; + } + + public interface FileStoreAttributeView extends java.nio.file.attribute.AttributeView { + } + + public final class FileTime implements java.lang.Comparable<java.nio.file.attribute.FileTime> { + method public int compareTo(java.nio.file.attribute.FileTime); + method public static java.nio.file.attribute.FileTime from(long, java.util.concurrent.TimeUnit); + method public static java.nio.file.attribute.FileTime from(java.time.Instant); + method public static java.nio.file.attribute.FileTime fromMillis(long); + method public long to(java.util.concurrent.TimeUnit); + method public java.time.Instant toInstant(); + method public long toMillis(); + } + + public interface GroupPrincipal extends java.nio.file.attribute.UserPrincipal { + } + + public interface PosixFileAttributeView extends java.nio.file.attribute.BasicFileAttributeView java.nio.file.attribute.FileOwnerAttributeView { + method public java.nio.file.attribute.PosixFileAttributes readAttributes() throws java.io.IOException; + method public void setGroup(java.nio.file.attribute.GroupPrincipal) throws java.io.IOException; + method public void setPermissions(java.util.Set<java.nio.file.attribute.PosixFilePermission>) throws java.io.IOException; + } + + public interface PosixFileAttributes extends java.nio.file.attribute.BasicFileAttributes { + method public java.nio.file.attribute.GroupPrincipal group(); + method public java.nio.file.attribute.UserPrincipal owner(); + method public java.util.Set<java.nio.file.attribute.PosixFilePermission> permissions(); + } + + public enum PosixFilePermission { + enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_EXECUTE; + enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_READ; + enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_WRITE; + enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_EXECUTE; + enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_READ; + enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_WRITE; + enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_EXECUTE; + enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_READ; + enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_WRITE; + } + + public final class PosixFilePermissions { + method public static java.nio.file.attribute.FileAttribute<java.util.Set<java.nio.file.attribute.PosixFilePermission>> asFileAttribute(java.util.Set<java.nio.file.attribute.PosixFilePermission>); + method public static java.util.Set<java.nio.file.attribute.PosixFilePermission> fromString(String); + method public static String toString(java.util.Set<java.nio.file.attribute.PosixFilePermission>); + } + + public interface UserDefinedFileAttributeView extends java.nio.file.attribute.FileAttributeView { + method public void delete(String) throws java.io.IOException; + method public java.util.List<java.lang.String> list() throws java.io.IOException; + method public int read(String, java.nio.ByteBuffer) throws java.io.IOException; + method public int size(String) throws java.io.IOException; + method public int write(String, java.nio.ByteBuffer) throws java.io.IOException; + } + + public interface UserPrincipal extends java.security.Principal { + } + + public abstract class UserPrincipalLookupService { + ctor protected UserPrincipalLookupService(); + method public abstract java.nio.file.attribute.GroupPrincipal lookupPrincipalByGroupName(String) throws java.io.IOException; + method public abstract java.nio.file.attribute.UserPrincipal lookupPrincipalByName(String) throws java.io.IOException; + } + + public class UserPrincipalNotFoundException extends java.io.IOException { + ctor public UserPrincipalNotFoundException(String); + method public String getName(); + } + +} + +package java.nio.file.spi { + + public abstract class FileSystemProvider { + ctor protected FileSystemProvider(); + method public abstract void checkAccess(java.nio.file.Path, java.nio.file.AccessMode...) throws java.io.IOException; + method public abstract void copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException; + method public abstract void createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public void createLink(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException; + 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 extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, 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); + method public abstract String getScheme(); + method public static java.util.List<java.nio.file.spi.FileSystemProvider> installedProviders(); + method public abstract boolean isHidden(java.nio.file.Path) throws java.io.IOException; + method public abstract boolean isSameFile(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException; + method public abstract void move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException; + method public java.nio.channels.AsynchronousFileChannel newAsynchronousFileChannel(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 abstract java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public abstract java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path>) throws java.io.IOException; + method public java.nio.channels.FileChannel newFileChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException; + method public abstract java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>) throws java.io.IOException; + 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 extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, 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, 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, String, Object, java.nio.file.LinkOption...) throws java.io.IOException; + } + + public abstract class FileTypeDetector { + ctor protected FileTypeDetector(); + method public abstract String probeContentType(java.nio.file.Path) throws java.io.IOException; + } + +} + +package java.security { + + public final class AccessControlContext { + ctor public AccessControlContext(java.security.ProtectionDomain[]); + ctor public AccessControlContext(java.security.AccessControlContext, java.security.DomainCombiner); + method public void checkPermission(java.security.Permission) throws java.security.AccessControlException; + method public java.security.DomainCombiner getDomainCombiner(); + } + + public class AccessControlException extends java.lang.SecurityException { + ctor public AccessControlException(String); + ctor public AccessControlException(String, java.security.Permission); + method public java.security.Permission getPermission(); + } + + public final class AccessController { + method public static void checkPermission(java.security.Permission) throws java.security.AccessControlException; + 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(); + } + + public interface AlgorithmConstraints { + method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, String, java.security.AlgorithmParameters); + method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, java.security.Key); + method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, String, java.security.Key, java.security.AlgorithmParameters); + } + + public class AlgorithmParameterGenerator { + ctor protected AlgorithmParameterGenerator(java.security.AlgorithmParameterGeneratorSpi, java.security.Provider, String); + method public final java.security.AlgorithmParameters generateParameters(); + method public final String getAlgorithm(); + method public static java.security.AlgorithmParameterGenerator getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.AlgorithmParameterGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.AlgorithmParameterGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public final void init(int); + method public final void init(int, java.security.SecureRandom); + method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException; + method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException; + } + + public abstract class AlgorithmParameterGeneratorSpi { + ctor public AlgorithmParameterGeneratorSpi(); + method protected abstract java.security.AlgorithmParameters engineGenerateParameters(); + method protected abstract void engineInit(int, java.security.SecureRandom); + method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException; + } + + public class AlgorithmParameters { + ctor protected AlgorithmParameters(java.security.AlgorithmParametersSpi, java.security.Provider, String); + method public final String getAlgorithm(); + method public final byte[] getEncoded() throws java.io.IOException; + method public final byte[] getEncoded(String) throws java.io.IOException; + method public static java.security.AlgorithmParameters getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.AlgorithmParameters getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.AlgorithmParameters getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final <T extends java.security.spec.AlgorithmParameterSpec> T getParameterSpec(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; + method public final void init(byte[], String) throws java.io.IOException; + method public final String toString(); + } + + public abstract class AlgorithmParametersSpi { + ctor public AlgorithmParametersSpi(); + method protected abstract byte[] engineGetEncoded() throws java.io.IOException; + method protected abstract byte[] engineGetEncoded(String) throws java.io.IOException; + method protected abstract <T extends java.security.spec.AlgorithmParameterSpec> T engineGetParameterSpec(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[], String) throws java.io.IOException; + method protected abstract String engineToString(); + } + + public final class AllPermission extends java.security.Permission { + ctor public AllPermission(); + ctor public AllPermission(String, String); + method public String getActions(); + method public boolean implies(java.security.Permission); + } + + public abstract class AuthProvider extends java.security.Provider { + ctor protected AuthProvider(String, double, String); + method public abstract void login(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler) throws javax.security.auth.login.LoginException; + method public abstract void logout() throws javax.security.auth.login.LoginException; + method public abstract void setCallbackHandler(javax.security.auth.callback.CallbackHandler); + } + + public abstract class BasicPermission extends java.security.Permission implements java.io.Serializable { + ctor public BasicPermission(String); + ctor public BasicPermission(String, String); + method public String getActions(); + method public boolean implies(java.security.Permission); + } + + @Deprecated public interface Certificate { + method @Deprecated public void decode(java.io.InputStream) throws java.io.IOException, java.security.KeyException; + method @Deprecated public void encode(java.io.OutputStream) throws java.io.IOException, java.security.KeyException; + method @Deprecated public String getFormat(); + method @Deprecated public java.security.Principal getGuarantor(); + method @Deprecated public java.security.Principal getPrincipal(); + method @Deprecated public java.security.PublicKey getPublicKey(); + method @Deprecated public String toString(boolean); + } + + public final class CodeSigner implements java.io.Serializable { + ctor public CodeSigner(java.security.cert.CertPath, java.security.Timestamp); + method public java.security.cert.CertPath getSignerCertPath(); + method public java.security.Timestamp getTimestamp(); + } + + public class CodeSource implements java.io.Serializable { + ctor public CodeSource(java.net.URL, java.security.cert.Certificate[]); + ctor public CodeSource(java.net.URL, java.security.CodeSigner[]); + method public final java.security.cert.Certificate[] getCertificates(); + method public final java.security.CodeSigner[] getCodeSigners(); + method public final java.net.URL getLocation(); + method public boolean implies(java.security.CodeSource); + } + + public enum CryptoPrimitive { + enum_constant public static final java.security.CryptoPrimitive BLOCK_CIPHER; + enum_constant public static final java.security.CryptoPrimitive KEY_AGREEMENT; + enum_constant public static final java.security.CryptoPrimitive KEY_ENCAPSULATION; + enum_constant public static final java.security.CryptoPrimitive KEY_WRAP; + enum_constant public static final java.security.CryptoPrimitive MAC; + enum_constant public static final java.security.CryptoPrimitive MESSAGE_DIGEST; + enum_constant public static final java.security.CryptoPrimitive PUBLIC_KEY_ENCRYPTION; + enum_constant public static final java.security.CryptoPrimitive SECURE_RANDOM; + enum_constant public static final java.security.CryptoPrimitive SIGNATURE; + enum_constant public static final java.security.CryptoPrimitive STREAM_CIPHER; + } + + public class DigestException extends java.security.GeneralSecurityException { + ctor public DigestException(); + ctor public DigestException(String); + ctor public DigestException(String, Throwable); + ctor public DigestException(Throwable); + } + + public class DigestInputStream extends java.io.FilterInputStream { + ctor public DigestInputStream(java.io.InputStream, java.security.MessageDigest); + method public java.security.MessageDigest getMessageDigest(); + method public void on(boolean); + method public void setMessageDigest(java.security.MessageDigest); + field protected java.security.MessageDigest digest; + } + + public class DigestOutputStream extends java.io.FilterOutputStream { + ctor public DigestOutputStream(java.io.OutputStream, java.security.MessageDigest); + method public java.security.MessageDigest getMessageDigest(); + method public void on(boolean); + method public void setMessageDigest(java.security.MessageDigest); + field protected java.security.MessageDigest digest; + } + + public interface DomainCombiner { + method public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]); + } + + public final class DomainLoadStoreParameter implements java.security.KeyStore.LoadStoreParameter { + ctor public DomainLoadStoreParameter(java.net.URI, java.util.Map<java.lang.String,java.security.KeyStore.ProtectionParameter>); + method public java.net.URI getConfiguration(); + method public java.security.KeyStore.ProtectionParameter getProtectionParameter(); + method public java.util.Map<java.lang.String,java.security.KeyStore.ProtectionParameter> getProtectionParams(); + } + + public class GeneralSecurityException extends java.lang.Exception { + ctor public GeneralSecurityException(); + ctor public GeneralSecurityException(String); + ctor public GeneralSecurityException(String, Throwable); + ctor public GeneralSecurityException(Throwable); + } + + public interface Guard { + method public void checkGuard(Object) throws java.lang.SecurityException; + } + + public class GuardedObject implements java.io.Serializable { + ctor public GuardedObject(Object, java.security.Guard); + method public Object getObject() throws java.lang.SecurityException; + } + + @Deprecated public abstract class Identity implements java.security.Principal java.io.Serializable { + ctor @Deprecated protected Identity(); + ctor @Deprecated public Identity(String, java.security.IdentityScope) throws java.security.KeyManagementException; + ctor @Deprecated public Identity(String); + method @Deprecated public void addCertificate(java.security.Certificate) throws java.security.KeyManagementException; + method @Deprecated public java.security.Certificate[] certificates(); + method @Deprecated public final boolean equals(Object); + method @Deprecated public String getInfo(); + method @Deprecated public final String getName(); + method @Deprecated public java.security.PublicKey getPublicKey(); + method @Deprecated public final java.security.IdentityScope getScope(); + method @Deprecated protected boolean identityEquals(java.security.Identity); + method @Deprecated public void removeCertificate(java.security.Certificate) throws java.security.KeyManagementException; + method @Deprecated public void setInfo(String); + method @Deprecated public void setPublicKey(java.security.PublicKey) throws java.security.KeyManagementException; + method @Deprecated public String toString(boolean); + } + + @Deprecated public abstract class IdentityScope extends java.security.Identity { + ctor @Deprecated protected IdentityScope(); + ctor @Deprecated public IdentityScope(String); + ctor @Deprecated public IdentityScope(String, java.security.IdentityScope) throws java.security.KeyManagementException; + method @Deprecated public abstract void addIdentity(java.security.Identity) throws java.security.KeyManagementException; + method @Deprecated public abstract java.security.Identity getIdentity(String); + method @Deprecated public java.security.Identity getIdentity(java.security.Principal); + method @Deprecated public abstract java.security.Identity getIdentity(java.security.PublicKey); + method @Deprecated public static java.security.IdentityScope getSystemScope(); + method @Deprecated public abstract java.util.Enumeration<java.security.Identity> identities(); + method @Deprecated public abstract void removeIdentity(java.security.Identity) throws java.security.KeyManagementException; + method @Deprecated protected static void setSystemScope(java.security.IdentityScope); + method @Deprecated public abstract int size(); + } + + public class InvalidAlgorithmParameterException extends java.security.GeneralSecurityException { + ctor public InvalidAlgorithmParameterException(); + ctor public InvalidAlgorithmParameterException(String); + ctor public InvalidAlgorithmParameterException(String, Throwable); + ctor public InvalidAlgorithmParameterException(Throwable); + } + + public class InvalidKeyException extends java.security.KeyException { + ctor public InvalidKeyException(); + ctor public InvalidKeyException(String); + ctor public InvalidKeyException(String, Throwable); + ctor public InvalidKeyException(Throwable); + } + + public class InvalidParameterException extends java.lang.IllegalArgumentException { + ctor public InvalidParameterException(); + ctor public InvalidParameterException(String); + } + + public interface Key extends java.io.Serializable { + method public String getAlgorithm(); + method public byte[] getEncoded(); + method public String getFormat(); + field public static final long serialVersionUID = 6603384152749567654L; // 0x5ba3eee69414eea6L + } + + public class KeyException extends java.security.GeneralSecurityException { + ctor public KeyException(); + ctor public KeyException(String); + ctor public KeyException(String, Throwable); + ctor public KeyException(Throwable); + } + + public class KeyFactory { + ctor protected KeyFactory(java.security.KeyFactorySpi, java.security.Provider, String); + method public final java.security.PrivateKey generatePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException; + method public final java.security.PublicKey generatePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException; + method public final String getAlgorithm(); + method public static java.security.KeyFactory getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.KeyFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.KeyFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final <T extends java.security.spec.KeySpec> T getKeySpec(java.security.Key, 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; + } + + public abstract class KeyFactorySpi { + 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 extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, Class<T>) throws java.security.spec.InvalidKeySpecException; + method protected abstract java.security.Key engineTranslateKey(java.security.Key) throws java.security.InvalidKeyException; + } + + public class KeyManagementException extends java.security.KeyException { + ctor public KeyManagementException(); + ctor public KeyManagementException(String); + ctor public KeyManagementException(String, Throwable); + ctor public KeyManagementException(Throwable); + } + + public final class KeyPair implements java.io.Serializable { + ctor public KeyPair(java.security.PublicKey, java.security.PrivateKey); + method public java.security.PrivateKey getPrivate(); + method public java.security.PublicKey getPublic(); + } + + public abstract class KeyPairGenerator extends java.security.KeyPairGeneratorSpi { + ctor protected KeyPairGenerator(String); + method public final java.security.KeyPair genKeyPair(); + method public java.security.KeyPair generateKeyPair(); + method public String getAlgorithm(); + method public static java.security.KeyPairGenerator getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.KeyPairGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.KeyPairGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public void initialize(int); + method public void initialize(int, java.security.SecureRandom); + method public void initialize(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException; + } + + public abstract class KeyPairGeneratorSpi { + ctor public KeyPairGeneratorSpi(); + method public abstract java.security.KeyPair generateKeyPair(); + method public abstract void initialize(int, java.security.SecureRandom); + method public void initialize(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException; + } + + public class KeyRep implements java.io.Serializable { + ctor public KeyRep(java.security.KeyRep.Type, String, String, byte[]); + method protected Object readResolve() throws java.io.ObjectStreamException; + } + + public enum KeyRep.Type { + enum_constant public static final java.security.KeyRep.Type PRIVATE; + enum_constant public static final java.security.KeyRep.Type PUBLIC; + enum_constant public static final java.security.KeyRep.Type SECRET; + } + + public class KeyStore { + ctor protected KeyStore(java.security.KeyStoreSpi, java.security.Provider, String); + method public final java.util.Enumeration<java.lang.String> aliases() throws java.security.KeyStoreException; + method public final boolean containsAlias(String) throws java.security.KeyStoreException; + method public final void deleteEntry(String) throws java.security.KeyStoreException; + method public final boolean entryInstanceOf(String, Class<? extends java.security.KeyStore.Entry>) throws java.security.KeyStoreException; + method public final java.security.cert.Certificate getCertificate(String) throws java.security.KeyStoreException; + method public final String getCertificateAlias(java.security.cert.Certificate) throws java.security.KeyStoreException; + method public final java.security.cert.Certificate[] getCertificateChain(String) throws java.security.KeyStoreException; + method public final java.util.Date getCreationDate(String) throws java.security.KeyStoreException; + method public static final String getDefaultType(); + method public final java.security.KeyStore.Entry getEntry(String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException; + method public static java.security.KeyStore getInstance(String) throws java.security.KeyStoreException; + method public static java.security.KeyStore getInstance(String, String) throws java.security.KeyStoreException, java.security.NoSuchProviderException; + method public static java.security.KeyStore getInstance(String, java.security.Provider) throws java.security.KeyStoreException; + method public static final java.security.KeyStore getInstance(java.io.File, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException; + method public static final java.security.KeyStore getInstance(java.io.File, java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException; + method public final java.security.Key getKey(String, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException; + method public final java.security.Provider getProvider(); + method public final String getType(); + method public final boolean isCertificateEntry(String) throws java.security.KeyStoreException; + method public final boolean isKeyEntry(String) throws java.security.KeyStoreException; + method public final void load(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException; + method public final void load(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException; + method public final void setCertificateEntry(String, java.security.cert.Certificate) throws java.security.KeyStoreException; + method public final void setEntry(String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException; + method public final void setKeyEntry(String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException; + method public final void setKeyEntry(String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException; + method public final int size() throws java.security.KeyStoreException; + method public final void store(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException; + method public final void store(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException; + } + + public abstract static class KeyStore.Builder { + ctor protected KeyStore.Builder(); + method public abstract java.security.KeyStore getKeyStore() throws java.security.KeyStoreException; + method public abstract java.security.KeyStore.ProtectionParameter getProtectionParameter(String) throws java.security.KeyStoreException; + method public static java.security.KeyStore.Builder newInstance(java.security.KeyStore, java.security.KeyStore.ProtectionParameter); + method public static java.security.KeyStore.Builder newInstance(String, java.security.Provider, java.io.File, java.security.KeyStore.ProtectionParameter); + method public static java.security.KeyStore.Builder newInstance(java.io.File, java.security.KeyStore.ProtectionParameter); + method public static java.security.KeyStore.Builder newInstance(String, java.security.Provider, java.security.KeyStore.ProtectionParameter); + } + + public static class KeyStore.CallbackHandlerProtection implements java.security.KeyStore.ProtectionParameter { + ctor public KeyStore.CallbackHandlerProtection(javax.security.auth.callback.CallbackHandler); + method public javax.security.auth.callback.CallbackHandler getCallbackHandler(); + } + + public static interface KeyStore.Entry { + method public default java.util.Set<java.security.KeyStore.Entry.Attribute> getAttributes(); + } + + public static interface KeyStore.Entry.Attribute { + method public String getName(); + method public String getValue(); + } + + public static interface KeyStore.LoadStoreParameter { + method public java.security.KeyStore.ProtectionParameter getProtectionParameter(); + } + + public static class KeyStore.PasswordProtection implements javax.security.auth.Destroyable java.security.KeyStore.ProtectionParameter { + ctor public KeyStore.PasswordProtection(char[]); + ctor public KeyStore.PasswordProtection(char[], String, java.security.spec.AlgorithmParameterSpec); + method public char[] getPassword(); + method public String getProtectionAlgorithm(); + method public java.security.spec.AlgorithmParameterSpec getProtectionParameters(); + } + + public static final class KeyStore.PrivateKeyEntry implements java.security.KeyStore.Entry { + ctor public KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[]); + ctor public KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[], java.util.Set<java.security.KeyStore.Entry.Attribute>); + method public java.security.cert.Certificate getCertificate(); + method public java.security.cert.Certificate[] getCertificateChain(); + method public java.security.PrivateKey getPrivateKey(); + } + + public static interface KeyStore.ProtectionParameter { + } + + public static final class KeyStore.SecretKeyEntry implements java.security.KeyStore.Entry { + ctor public KeyStore.SecretKeyEntry(javax.crypto.SecretKey); + ctor public KeyStore.SecretKeyEntry(javax.crypto.SecretKey, java.util.Set<java.security.KeyStore.Entry.Attribute>); + method public javax.crypto.SecretKey getSecretKey(); + } + + public static final class KeyStore.TrustedCertificateEntry implements java.security.KeyStore.Entry { + ctor public KeyStore.TrustedCertificateEntry(java.security.cert.Certificate); + ctor public KeyStore.TrustedCertificateEntry(java.security.cert.Certificate, java.util.Set<java.security.KeyStore.Entry.Attribute>); + method public java.security.cert.Certificate getTrustedCertificate(); + } + + public class KeyStoreException extends java.security.GeneralSecurityException { + ctor public KeyStoreException(); + ctor public KeyStoreException(String); + ctor public KeyStoreException(String, Throwable); + ctor public KeyStoreException(Throwable); + } + + public abstract class KeyStoreSpi { + ctor public KeyStoreSpi(); + method public abstract java.util.Enumeration<java.lang.String> engineAliases(); + method public abstract boolean engineContainsAlias(String); + method public abstract void engineDeleteEntry(String) throws java.security.KeyStoreException; + method public boolean engineEntryInstanceOf(String, Class<? extends java.security.KeyStore.Entry>); + method public abstract java.security.cert.Certificate engineGetCertificate(String); + method public abstract String engineGetCertificateAlias(java.security.cert.Certificate); + method public abstract java.security.cert.Certificate[] engineGetCertificateChain(String); + method public abstract java.util.Date engineGetCreationDate(String); + method public java.security.KeyStore.Entry engineGetEntry(String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException; + method public abstract java.security.Key engineGetKey(String, char[]) throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException; + method public abstract boolean engineIsCertificateEntry(String); + method public abstract boolean engineIsKeyEntry(String); + method public abstract void engineLoad(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException; + method public void engineLoad(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException; + method public boolean engineProbe(java.io.InputStream) throws java.io.IOException; + method public abstract void engineSetCertificateEntry(String, java.security.cert.Certificate) throws java.security.KeyStoreException; + method public void engineSetEntry(String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException; + method public abstract void engineSetKeyEntry(String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException; + method public abstract void engineSetKeyEntry(String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException; + method public abstract int engineSize(); + method public abstract void engineStore(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException; + method public void engineStore(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException; + } + + public abstract class MessageDigest extends java.security.MessageDigestSpi { + ctor protected MessageDigest(@NonNull String); + method @NonNull public byte[] digest(); + method public int digest(@NonNull byte[], int, int) throws java.security.DigestException; + method @NonNull public byte[] digest(@NonNull byte[]); + method @NonNull public final String getAlgorithm(); + method public final int getDigestLength(); + method @NonNull public static java.security.MessageDigest getInstance(@NonNull String) throws java.security.NoSuchAlgorithmException; + method @NonNull public static java.security.MessageDigest getInstance(@NonNull String, @NonNull String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method @NonNull public static java.security.MessageDigest getInstance(@NonNull String, @NonNull java.security.Provider) throws java.security.NoSuchAlgorithmException; + method @NonNull public final java.security.Provider getProvider(); + method public static boolean isEqual(@Nullable byte[], @Nullable byte[]); + method public void reset(); + method public void update(byte); + method public void update(@NonNull byte[], int, int); + method public void update(@NonNull byte[]); + method public final void update(@NonNull java.nio.ByteBuffer); + } + + public abstract class MessageDigestSpi { + ctor public MessageDigestSpi(); + method public Object clone() throws java.lang.CloneNotSupportedException; + method protected abstract byte[] engineDigest(); + method protected int engineDigest(byte[], int, int) throws java.security.DigestException; + method protected int engineGetDigestLength(); + method protected abstract void engineReset(); + method protected abstract void engineUpdate(byte); + method protected abstract void engineUpdate(byte[], int, int); + method protected void engineUpdate(java.nio.ByteBuffer); + } + + public class NoSuchAlgorithmException extends java.security.GeneralSecurityException { + ctor public NoSuchAlgorithmException(); + ctor public NoSuchAlgorithmException(String); + ctor public NoSuchAlgorithmException(String, Throwable); + ctor public NoSuchAlgorithmException(Throwable); + } + + public class NoSuchProviderException extends java.security.GeneralSecurityException { + ctor public NoSuchProviderException(); + ctor public NoSuchProviderException(String); + } + + public final class PKCS12Attribute implements java.security.KeyStore.Entry.Attribute { + ctor public PKCS12Attribute(String, String); + ctor public PKCS12Attribute(byte[]); + method public byte[] getEncoded(); + method public String getName(); + method public String getValue(); + } + + public abstract class Permission implements java.security.Guard java.io.Serializable { + ctor public Permission(String); + method public void checkGuard(Object) throws java.lang.SecurityException; + method public abstract String getActions(); + method public final String getName(); + method public abstract boolean implies(java.security.Permission); + method public java.security.PermissionCollection newPermissionCollection(); + } + + public abstract class PermissionCollection implements java.io.Serializable { + ctor public PermissionCollection(); + method public abstract void add(java.security.Permission); + method public abstract java.util.Enumeration<java.security.Permission> elements(); + method public abstract boolean implies(java.security.Permission); + method public boolean isReadOnly(); + method public void setReadOnly(); + } + + public final class Permissions extends java.security.PermissionCollection implements java.io.Serializable { + ctor public Permissions(); + method public void add(java.security.Permission); + method public java.util.Enumeration<java.security.Permission> elements(); + method public boolean implies(java.security.Permission); + } + + public abstract class Policy { + ctor public Policy(); + method public static java.security.Policy getInstance(String, java.security.Policy.Parameters) throws java.security.NoSuchAlgorithmException; + method public static java.security.Policy getInstance(String, java.security.Policy.Parameters, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.Policy getInstance(String, java.security.Policy.Parameters, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public java.security.Policy.Parameters getParameters(); + method public java.security.PermissionCollection getPermissions(java.security.CodeSource); + method public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain); + method public static java.security.Policy getPolicy(); + method public java.security.Provider getProvider(); + method public String getType(); + method public boolean implies(java.security.ProtectionDomain, java.security.Permission); + method public void refresh(); + method public static void setPolicy(java.security.Policy); + field public static final java.security.PermissionCollection UNSUPPORTED_EMPTY_COLLECTION; + } + + public static interface Policy.Parameters { + } + + public abstract class PolicySpi { + ctor public PolicySpi(); + method protected java.security.PermissionCollection engineGetPermissions(java.security.CodeSource); + method protected java.security.PermissionCollection engineGetPermissions(java.security.ProtectionDomain); + method protected abstract boolean engineImplies(java.security.ProtectionDomain, java.security.Permission); + method protected void engineRefresh(); + } + + public interface Principal { + method public boolean equals(Object); + method public String getName(); + method public int hashCode(); + method public default boolean implies(javax.security.auth.Subject); + method public String toString(); + } + + public interface PrivateKey extends java.security.Key javax.security.auth.Destroyable { + field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L + } + + public interface PrivilegedAction<T> { + method public T run(); + } + + public class PrivilegedActionException extends java.lang.Exception { + ctor public PrivilegedActionException(Exception); + method public Exception getException(); + } + + public interface PrivilegedExceptionAction<T> { + method public T run() throws java.lang.Exception; + } + + public class ProtectionDomain { + ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection); + ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection, ClassLoader, java.security.Principal[]); + method public final ClassLoader getClassLoader(); + method public final java.security.CodeSource getCodeSource(); + method public final java.security.PermissionCollection getPermissions(); + method public final java.security.Principal[] getPrincipals(); + method public boolean implies(java.security.Permission); + } + + public abstract class Provider extends java.util.Properties { + ctor protected Provider(String, double, String); + method public Object compute(Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>); + method public Object computeIfAbsent(Object, java.util.function.Function<? super java.lang.Object,?>); + method public Object computeIfPresent(Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>); + method public java.util.Enumeration<java.lang.Object> elements(); + method public java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> entrySet(); + method public void forEach(java.util.function.BiConsumer<? super java.lang.Object,? super java.lang.Object>); + method public Object get(Object); + method public String getInfo(); + method public String getName(); + method public Object getOrDefault(Object, Object); + method public java.security.Provider.Service getService(String, String); + method public java.util.Set<java.security.Provider.Service> getServices(); + method public double getVersion(); + method public java.util.Set<java.lang.Object> keySet(); + method public java.util.Enumeration<java.lang.Object> keys(); + method public Object merge(Object, Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>); + method public Object put(Object, Object); + method public void putAll(java.util.Map<?,?>); + method public Object putIfAbsent(Object, Object); + method protected void putService(java.security.Provider.Service); + method public Object remove(Object); + method protected void removeService(java.security.Provider.Service); + method public boolean replace(Object, Object, Object); + method public Object replace(Object, Object); + method public void replaceAll(java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>); + method public java.util.Collection<java.lang.Object> values(); + } + + public static class Provider.Service { + ctor public Provider.Service(java.security.Provider, String, String, String, java.util.List<java.lang.String>, java.util.Map<java.lang.String,java.lang.String>); + method public final String getAlgorithm(); + method public final String getAttribute(String); + method public final String getClassName(); + method public final java.security.Provider getProvider(); + method public final String getType(); + method public Object newInstance(Object) throws java.security.NoSuchAlgorithmException; + method public boolean supportsParameter(Object); + } + + public class ProviderException extends java.lang.RuntimeException { + ctor public ProviderException(); + ctor public ProviderException(String); + ctor public ProviderException(String, Throwable); + ctor public ProviderException(Throwable); + } + + public interface PublicKey extends java.security.Key { + field public static final long serialVersionUID = 7187392471159151072L; // 0x63bebf5f40c219e0L + } + + public class SecureClassLoader extends java.lang.ClassLoader { + ctor protected SecureClassLoader(ClassLoader); + ctor protected SecureClassLoader(); + method protected final Class<?> defineClass(String, byte[], int, int, java.security.CodeSource); + method protected final Class<?> defineClass(String, java.nio.ByteBuffer, java.security.CodeSource); + method protected java.security.PermissionCollection getPermissions(java.security.CodeSource); + } + + public class SecureRandom extends java.util.Random { + ctor public SecureRandom(); + ctor public SecureRandom(byte[]); + ctor protected SecureRandom(java.security.SecureRandomSpi, java.security.Provider); + method public byte[] generateSeed(int); + method public String getAlgorithm(); + method public static java.security.SecureRandom getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.SecureRandom getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.SecureRandom getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public static java.security.SecureRandom getInstanceStrong() throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public static byte[] getSeed(int); + method protected final int next(int); + method public void setSeed(byte[]); + } + + public abstract class SecureRandomSpi implements java.io.Serializable { + ctor public SecureRandomSpi(); + method protected abstract byte[] engineGenerateSeed(int); + method protected abstract void engineNextBytes(byte[]); + method protected abstract void engineSetSeed(byte[]); + } + + public final class Security { + method public static int addProvider(java.security.Provider); + method @Deprecated public static String getAlgorithmProperty(String, String); + method public static java.util.Set<java.lang.String> getAlgorithms(String); + method public static String getProperty(String); + method public static java.security.Provider getProvider(String); + method public static java.security.Provider[] getProviders(); + method public static java.security.Provider[] getProviders(String); + method public static java.security.Provider[] getProviders(java.util.Map<java.lang.String,java.lang.String>); + method public static int insertProviderAt(java.security.Provider, int); + method public static void removeProvider(String); + method public static void setProperty(String, String); + } + + public final class SecurityPermission extends java.security.BasicPermission { + ctor public SecurityPermission(String); + ctor public SecurityPermission(String, String); + } + + public abstract class Signature extends java.security.SignatureSpi { + ctor protected Signature(String); + method public final String getAlgorithm(); + method public static java.security.Signature getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.Signature getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.Signature getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method @Deprecated public final Object getParameter(String) throws java.security.InvalidParameterException; + method public final java.security.AlgorithmParameters getParameters(); + method public final java.security.Provider getProvider(); + method public final void initSign(java.security.PrivateKey) throws java.security.InvalidKeyException; + method public final void initSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException; + method public final void initVerify(java.security.PublicKey) throws java.security.InvalidKeyException; + method public final void initVerify(java.security.cert.Certificate) throws java.security.InvalidKeyException; + method @Deprecated public final void setParameter(String, Object) throws java.security.InvalidParameterException; + method public final void setParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException; + method public final byte[] sign() throws java.security.SignatureException; + method public final int sign(byte[], int, int) throws java.security.SignatureException; + method public final void update(byte) throws java.security.SignatureException; + method public final void update(byte[]) throws java.security.SignatureException; + method public final void update(byte[], int, int) throws java.security.SignatureException; + method public final void update(java.nio.ByteBuffer) throws java.security.SignatureException; + method public final boolean verify(byte[]) throws java.security.SignatureException; + method public final boolean verify(byte[], int, int) throws java.security.SignatureException; + field protected static final int SIGN = 2; // 0x2 + field protected static final int UNINITIALIZED = 0; // 0x0 + field protected static final int VERIFY = 3; // 0x3 + field protected int state; + } + + public class SignatureException extends java.security.GeneralSecurityException { + ctor public SignatureException(); + ctor public SignatureException(String); + ctor public SignatureException(String, Throwable); + ctor public SignatureException(Throwable); + } + + public abstract class SignatureSpi { + ctor public SignatureSpi(); + method public Object clone() throws java.lang.CloneNotSupportedException; + method @Deprecated protected abstract Object engineGetParameter(String) throws java.security.InvalidParameterException; + method protected java.security.AlgorithmParameters engineGetParameters(); + method protected abstract void engineInitSign(java.security.PrivateKey) throws java.security.InvalidKeyException; + method protected void engineInitSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException; + method protected abstract void engineInitVerify(java.security.PublicKey) throws java.security.InvalidKeyException; + method @Deprecated protected abstract void engineSetParameter(String, Object) throws java.security.InvalidParameterException; + method protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException; + method protected abstract byte[] engineSign() throws java.security.SignatureException; + method protected int engineSign(byte[], int, int) throws java.security.SignatureException; + method protected abstract void engineUpdate(byte) throws java.security.SignatureException; + method protected abstract void engineUpdate(byte[], int, int) throws java.security.SignatureException; + method protected void engineUpdate(java.nio.ByteBuffer); + method protected abstract boolean engineVerify(byte[]) throws java.security.SignatureException; + method protected boolean engineVerify(byte[], int, int) throws java.security.SignatureException; + field protected java.security.SecureRandom appRandom; + } + + public final class SignedObject implements java.io.Serializable { + ctor public SignedObject(java.io.Serializable, java.security.PrivateKey, java.security.Signature) throws java.io.IOException, java.security.InvalidKeyException, java.security.SignatureException; + method public String getAlgorithm(); + method public Object getObject() throws java.lang.ClassNotFoundException, java.io.IOException; + method public byte[] getSignature(); + method public boolean verify(java.security.PublicKey, java.security.Signature) throws java.security.InvalidKeyException, java.security.SignatureException; + } + + @Deprecated public abstract class Signer extends java.security.Identity { + ctor @Deprecated protected Signer(); + ctor @Deprecated public Signer(String); + ctor @Deprecated public Signer(String, java.security.IdentityScope) throws java.security.KeyManagementException; + method @Deprecated public java.security.PrivateKey getPrivateKey(); + method @Deprecated public final void setKeyPair(java.security.KeyPair) throws java.security.InvalidParameterException, java.security.KeyException; + } + + public final class Timestamp implements java.io.Serializable { + ctor public Timestamp(java.util.Date, java.security.cert.CertPath); + method public java.security.cert.CertPath getSignerCertPath(); + method public java.util.Date getTimestamp(); + } + + public class UnrecoverableEntryException extends java.security.GeneralSecurityException { + ctor public UnrecoverableEntryException(); + ctor public UnrecoverableEntryException(String); + } + + public class UnrecoverableKeyException extends java.security.UnrecoverableEntryException { + ctor public UnrecoverableKeyException(); + ctor public UnrecoverableKeyException(String); + } + + public final class UnresolvedPermission extends java.security.Permission implements java.io.Serializable { + ctor public UnresolvedPermission(String, String, String, java.security.cert.Certificate[]); + method public String getActions(); + method public String getUnresolvedActions(); + method public java.security.cert.Certificate[] getUnresolvedCerts(); + method public String getUnresolvedName(); + method public String getUnresolvedType(); + method public boolean implies(java.security.Permission); + } + +} + +package java.security.acl { + + @Deprecated public interface Acl extends java.security.acl.Owner { + method @Deprecated public boolean addEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException; + method @Deprecated public boolean checkPermission(java.security.Principal, java.security.acl.Permission); + method @Deprecated public java.util.Enumeration<java.security.acl.AclEntry> entries(); + method @Deprecated public String getName(); + method @Deprecated public java.util.Enumeration<java.security.acl.Permission> getPermissions(java.security.Principal); + method @Deprecated public boolean removeEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException; + method @Deprecated public void setName(java.security.Principal, String) throws java.security.acl.NotOwnerException; + method @Deprecated public String toString(); + } + + @Deprecated public interface AclEntry extends java.lang.Cloneable { + method @Deprecated public boolean addPermission(java.security.acl.Permission); + method @Deprecated public boolean checkPermission(java.security.acl.Permission); + method @Deprecated public Object clone(); + method @Deprecated public java.security.Principal getPrincipal(); + method @Deprecated public boolean isNegative(); + method @Deprecated public java.util.Enumeration<java.security.acl.Permission> permissions(); + method @Deprecated public boolean removePermission(java.security.acl.Permission); + method @Deprecated public void setNegativePermissions(); + method @Deprecated public boolean setPrincipal(java.security.Principal); + method @Deprecated public String toString(); + } + + @Deprecated public class AclNotFoundException extends java.lang.Exception { + ctor @Deprecated public AclNotFoundException(); + } + + @Deprecated public interface Group extends java.security.Principal { + method @Deprecated public boolean addMember(java.security.Principal); + method @Deprecated public boolean isMember(java.security.Principal); + method @Deprecated public java.util.Enumeration<? extends java.security.Principal> members(); + method @Deprecated public boolean removeMember(java.security.Principal); + } + + @Deprecated public class LastOwnerException extends java.lang.Exception { + ctor @Deprecated public LastOwnerException(); + } + + @Deprecated public class NotOwnerException extends java.lang.Exception { + ctor @Deprecated public NotOwnerException(); + } + + @Deprecated public interface Owner { + method @Deprecated public boolean addOwner(java.security.Principal, java.security.Principal) throws java.security.acl.NotOwnerException; + method @Deprecated public boolean deleteOwner(java.security.Principal, java.security.Principal) throws java.security.acl.LastOwnerException, java.security.acl.NotOwnerException; + method @Deprecated public boolean isOwner(java.security.Principal); + } + + @Deprecated public interface Permission { + } + +} + +package java.security.cert { + + public abstract class CRL { + ctor protected CRL(String); + method public final String getType(); + method public abstract boolean isRevoked(java.security.cert.Certificate); + method public abstract String toString(); + } + + public class CRLException extends java.security.GeneralSecurityException { + ctor public CRLException(); + ctor public CRLException(String); + ctor public CRLException(String, Throwable); + ctor public CRLException(Throwable); + } + + public enum CRLReason { + enum_constant public static final java.security.cert.CRLReason AA_COMPROMISE; + enum_constant public static final java.security.cert.CRLReason AFFILIATION_CHANGED; + enum_constant public static final java.security.cert.CRLReason CA_COMPROMISE; + enum_constant public static final java.security.cert.CRLReason CERTIFICATE_HOLD; + enum_constant public static final java.security.cert.CRLReason CESSATION_OF_OPERATION; + enum_constant public static final java.security.cert.CRLReason KEY_COMPROMISE; + enum_constant public static final java.security.cert.CRLReason PRIVILEGE_WITHDRAWN; + enum_constant public static final java.security.cert.CRLReason REMOVE_FROM_CRL; + enum_constant public static final java.security.cert.CRLReason SUPERSEDED; + enum_constant public static final java.security.cert.CRLReason UNSPECIFIED; + enum_constant public static final java.security.cert.CRLReason UNUSED; + } + + public interface CRLSelector extends java.lang.Cloneable { + method public Object clone(); + method public boolean match(java.security.cert.CRL); + } + + public abstract class CertPath implements java.io.Serializable { + ctor protected CertPath(String); + method public abstract java.util.List<? extends java.security.cert.Certificate> getCertificates(); + method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException; + method public abstract byte[] getEncoded(String) throws java.security.cert.CertificateEncodingException; + method public abstract java.util.Iterator<java.lang.String> getEncodings(); + method public String getType(); + method protected Object writeReplace() throws java.io.ObjectStreamException; + } + + protected static class CertPath.CertPathRep implements java.io.Serializable { + ctor protected CertPath.CertPathRep(String, byte[]); + method protected Object readResolve() throws java.io.ObjectStreamException; + } + + public class CertPathBuilder { + ctor protected CertPathBuilder(java.security.cert.CertPathBuilderSpi, java.security.Provider, String); + method public final java.security.cert.CertPathBuilderResult build(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException; + method public final String getAlgorithm(); + method public static final String getDefaultType(); + method public static java.security.cert.CertPathBuilder getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.cert.CertPathBuilder getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.cert.CertPathBuilder getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public final java.security.cert.CertPathChecker getRevocationChecker(); + } + + public class CertPathBuilderException extends java.security.GeneralSecurityException { + ctor public CertPathBuilderException(); + ctor public CertPathBuilderException(String); + ctor public CertPathBuilderException(Throwable); + ctor public CertPathBuilderException(String, Throwable); + } + + public interface CertPathBuilderResult extends java.lang.Cloneable { + method public Object clone(); + method public java.security.cert.CertPath getCertPath(); + } + + public abstract class CertPathBuilderSpi { + ctor public CertPathBuilderSpi(); + method public abstract java.security.cert.CertPathBuilderResult engineBuild(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException; + method public java.security.cert.CertPathChecker engineGetRevocationChecker(); + } + + public interface CertPathChecker { + method public void check(java.security.cert.Certificate) throws java.security.cert.CertPathValidatorException; + method public void init(boolean) throws java.security.cert.CertPathValidatorException; + method public boolean isForwardCheckingSupported(); + } + + public interface CertPathParameters extends java.lang.Cloneable { + method public Object clone(); + } + + public class CertPathValidator { + ctor protected CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, String); + method public final String getAlgorithm(); + method public static final String getDefaultType(); + method public static java.security.cert.CertPathValidator getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static java.security.cert.CertPathValidator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.cert.CertPathValidator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public final java.security.cert.CertPathChecker getRevocationChecker(); + method public final java.security.cert.CertPathValidatorResult validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException; + } + + public class CertPathValidatorException extends java.security.GeneralSecurityException { + ctor public CertPathValidatorException(); + ctor public CertPathValidatorException(String); + ctor public CertPathValidatorException(Throwable); + ctor public CertPathValidatorException(String, Throwable); + ctor public CertPathValidatorException(String, Throwable, java.security.cert.CertPath, int); + ctor public CertPathValidatorException(String, Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason); + method public java.security.cert.CertPath getCertPath(); + method public int getIndex(); + method public java.security.cert.CertPathValidatorException.Reason getReason(); + } + + public enum CertPathValidatorException.BasicReason implements java.security.cert.CertPathValidatorException.Reason { + enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason ALGORITHM_CONSTRAINED; + enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason EXPIRED; + enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason INVALID_SIGNATURE; + enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason NOT_YET_VALID; + enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason REVOKED; + enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason UNDETERMINED_REVOCATION_STATUS; + enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason UNSPECIFIED; + } + + public static interface CertPathValidatorException.Reason extends java.io.Serializable { + } + + public interface CertPathValidatorResult extends java.lang.Cloneable { + method public Object clone(); + } + + public abstract class CertPathValidatorSpi { + ctor public CertPathValidatorSpi(); + method public java.security.cert.CertPathChecker engineGetRevocationChecker(); + method public abstract java.security.cert.CertPathValidatorResult engineValidate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException; + } + + public interface CertSelector extends java.lang.Cloneable { + method public Object clone(); + method public boolean match(java.security.cert.Certificate); + } + + public class CertStore { + ctor protected CertStore(java.security.cert.CertStoreSpi, java.security.Provider, String, java.security.cert.CertStoreParameters); + method public final java.util.Collection<? extends java.security.cert.CRL> getCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException; + method public final java.security.cert.CertStoreParameters getCertStoreParameters(); + method public final java.util.Collection<? extends java.security.cert.Certificate> getCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException; + method public static final String getDefaultType(); + method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException; + method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters, String) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters, java.security.Provider) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public final String getType(); + } + + public class CertStoreException extends java.security.GeneralSecurityException { + ctor public CertStoreException(); + ctor public CertStoreException(String); + ctor public CertStoreException(Throwable); + ctor public CertStoreException(String, Throwable); + } + + public interface CertStoreParameters extends java.lang.Cloneable { + method public Object clone(); + } + + public abstract class CertStoreSpi { + ctor public CertStoreSpi(java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException; + method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGetCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException; + method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGetCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException; + } + + public abstract class Certificate implements java.io.Serializable { + ctor protected Certificate(String); + method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException; + method public abstract java.security.PublicKey getPublicKey(); + method public final String getType(); + method public abstract String toString(); + method public abstract void verify(java.security.PublicKey) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException; + method public abstract void verify(java.security.PublicKey, String) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException; + method public void verify(java.security.PublicKey, java.security.Provider) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.SignatureException; + method protected Object writeReplace() throws java.io.ObjectStreamException; + } + + protected static class Certificate.CertificateRep implements java.io.Serializable { + ctor protected Certificate.CertificateRep(String, byte[]); + method protected Object readResolve() throws java.io.ObjectStreamException; + } + + public class CertificateEncodingException extends java.security.cert.CertificateException { + ctor public CertificateEncodingException(); + ctor public CertificateEncodingException(String); + ctor public CertificateEncodingException(String, Throwable); + ctor public CertificateEncodingException(Throwable); + } + + public class CertificateException extends java.security.GeneralSecurityException { + ctor public CertificateException(); + ctor public CertificateException(String); + ctor public CertificateException(String, Throwable); + ctor public CertificateException(Throwable); + } + + public class CertificateExpiredException extends java.security.cert.CertificateException { + ctor public CertificateExpiredException(); + ctor public CertificateExpiredException(String); + } + + public class CertificateFactory { + ctor protected CertificateFactory(java.security.cert.CertificateFactorySpi, java.security.Provider, String); + method public final java.security.cert.CRL generateCRL(java.io.InputStream) throws java.security.cert.CRLException; + method public final java.util.Collection<? extends java.security.cert.CRL> generateCRLs(java.io.InputStream) throws java.security.cert.CRLException; + method public final java.security.cert.CertPath generateCertPath(java.io.InputStream) throws java.security.cert.CertificateException; + method public final java.security.cert.CertPath generateCertPath(java.io.InputStream, String) throws java.security.cert.CertificateException; + method public final java.security.cert.CertPath generateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException; + method public final java.security.cert.Certificate generateCertificate(java.io.InputStream) throws java.security.cert.CertificateException; + method public final java.util.Collection<? extends java.security.cert.Certificate> generateCertificates(java.io.InputStream) throws java.security.cert.CertificateException; + method public final java.util.Iterator<java.lang.String> getCertPathEncodings(); + method public static final java.security.cert.CertificateFactory getInstance(String) throws java.security.cert.CertificateException; + method public static final java.security.cert.CertificateFactory getInstance(String, String) throws java.security.cert.CertificateException, java.security.NoSuchProviderException; + method public static final java.security.cert.CertificateFactory getInstance(String, java.security.Provider) throws java.security.cert.CertificateException; + method public final java.security.Provider getProvider(); + method public final String getType(); + } + + public abstract class CertificateFactorySpi { + ctor public CertificateFactorySpi(); + method public abstract java.security.cert.CRL engineGenerateCRL(java.io.InputStream) throws java.security.cert.CRLException; + method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGenerateCRLs(java.io.InputStream) throws java.security.cert.CRLException; + method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream) throws java.security.cert.CertificateException; + method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream, String) throws java.security.cert.CertificateException; + method public java.security.cert.CertPath engineGenerateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException; + method public abstract java.security.cert.Certificate engineGenerateCertificate(java.io.InputStream) throws java.security.cert.CertificateException; + method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGenerateCertificates(java.io.InputStream) throws java.security.cert.CertificateException; + method public java.util.Iterator<java.lang.String> engineGetCertPathEncodings(); + } + + public class CertificateNotYetValidException extends java.security.cert.CertificateException { + ctor public CertificateNotYetValidException(); + ctor public CertificateNotYetValidException(String); + } + + public class CertificateParsingException extends java.security.cert.CertificateException { + ctor public CertificateParsingException(); + ctor public CertificateParsingException(String); + ctor public CertificateParsingException(String, Throwable); + ctor public CertificateParsingException(Throwable); + } + + public class CertificateRevokedException extends java.security.cert.CertificateException { + ctor public CertificateRevokedException(java.util.Date, java.security.cert.CRLReason, javax.security.auth.x500.X500Principal, java.util.Map<java.lang.String,java.security.cert.Extension>); + method public javax.security.auth.x500.X500Principal getAuthorityName(); + method public java.util.Map<java.lang.String,java.security.cert.Extension> getExtensions(); + method public java.util.Date getInvalidityDate(); + method public java.util.Date getRevocationDate(); + method public java.security.cert.CRLReason getRevocationReason(); + } + + public class CollectionCertStoreParameters implements java.security.cert.CertStoreParameters { + ctor public CollectionCertStoreParameters(java.util.Collection<?>); + ctor public CollectionCertStoreParameters(); + method public Object clone(); + method public java.util.Collection<?> getCollection(); + } + + public interface Extension { + method public void encode(java.io.OutputStream) throws java.io.IOException; + method public String getId(); + method public byte[] getValue(); + method public boolean isCritical(); + } + + public class LDAPCertStoreParameters implements java.security.cert.CertStoreParameters { + ctor public LDAPCertStoreParameters(String, int); + ctor public LDAPCertStoreParameters(String); + ctor public LDAPCertStoreParameters(); + method public Object clone(); + method public int getPort(); + method public String getServerName(); + } + + public class PKIXBuilderParameters extends java.security.cert.PKIXParameters { + ctor public PKIXBuilderParameters(java.util.Set<java.security.cert.TrustAnchor>, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException; + ctor public PKIXBuilderParameters(java.security.KeyStore, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException; + method public int getMaxPathLength(); + method public void setMaxPathLength(int); + } + + public class PKIXCertPathBuilderResult extends java.security.cert.PKIXCertPathValidatorResult implements java.security.cert.CertPathBuilderResult { + ctor public PKIXCertPathBuilderResult(java.security.cert.CertPath, java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey); + method public java.security.cert.CertPath getCertPath(); + } + + public abstract class PKIXCertPathChecker implements java.security.cert.CertPathChecker java.lang.Cloneable { + ctor protected PKIXCertPathChecker(); + method public abstract void check(java.security.cert.Certificate, java.util.Collection<java.lang.String>) throws java.security.cert.CertPathValidatorException; + method public void check(java.security.cert.Certificate) throws java.security.cert.CertPathValidatorException; + method public Object clone(); + method public abstract java.util.Set<java.lang.String> getSupportedExtensions(); + } + + public class PKIXCertPathValidatorResult implements java.security.cert.CertPathValidatorResult { + ctor public PKIXCertPathValidatorResult(java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey); + method public Object clone(); + method public java.security.cert.PolicyNode getPolicyTree(); + method public java.security.PublicKey getPublicKey(); + method public java.security.cert.TrustAnchor getTrustAnchor(); + } + + public class PKIXParameters implements java.security.cert.CertPathParameters { + ctor public PKIXParameters(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException; + ctor public PKIXParameters(java.security.KeyStore) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException; + method public void addCertPathChecker(java.security.cert.PKIXCertPathChecker); + method public void addCertStore(java.security.cert.CertStore); + method public Object clone(); + method public java.util.List<java.security.cert.PKIXCertPathChecker> getCertPathCheckers(); + method public java.util.List<java.security.cert.CertStore> getCertStores(); + method public java.util.Date getDate(); + method public java.util.Set<java.lang.String> getInitialPolicies(); + method public boolean getPolicyQualifiersRejected(); + method public String getSigProvider(); + method public java.security.cert.CertSelector getTargetCertConstraints(); + method public java.util.Set<java.security.cert.TrustAnchor> getTrustAnchors(); + method public boolean isAnyPolicyInhibited(); + method public boolean isExplicitPolicyRequired(); + method public boolean isPolicyMappingInhibited(); + method public boolean isRevocationEnabled(); + method public void setAnyPolicyInhibited(boolean); + method public void setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>); + method public void setCertStores(java.util.List<java.security.cert.CertStore>); + method public void setDate(java.util.Date); + method public void setExplicitPolicyRequired(boolean); + method public void setInitialPolicies(java.util.Set<java.lang.String>); + method public void setPolicyMappingInhibited(boolean); + method public void setPolicyQualifiersRejected(boolean); + method public void setRevocationEnabled(boolean); + method public void setSigProvider(String); + method public void setTargetCertConstraints(java.security.cert.CertSelector); + method public void setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException; + } + + public enum PKIXReason implements java.security.cert.CertPathValidatorException.Reason { + enum_constant public static final java.security.cert.PKIXReason INVALID_KEY_USAGE; + enum_constant public static final java.security.cert.PKIXReason INVALID_NAME; + enum_constant public static final java.security.cert.PKIXReason INVALID_POLICY; + enum_constant public static final java.security.cert.PKIXReason NAME_CHAINING; + enum_constant public static final java.security.cert.PKIXReason NOT_CA_CERT; + enum_constant public static final java.security.cert.PKIXReason NO_TRUST_ANCHOR; + enum_constant public static final java.security.cert.PKIXReason PATH_TOO_LONG; + enum_constant public static final java.security.cert.PKIXReason UNRECOGNIZED_CRIT_EXT; + } + + public abstract class PKIXRevocationChecker extends java.security.cert.PKIXCertPathChecker { + ctor protected PKIXRevocationChecker(); + method public java.security.cert.PKIXRevocationChecker clone(); + method public java.util.List<java.security.cert.Extension> getOcspExtensions(); + method public java.net.URI getOcspResponder(); + method public java.security.cert.X509Certificate getOcspResponderCert(); + method public java.util.Map<java.security.cert.X509Certificate,byte[]> getOcspResponses(); + method public java.util.Set<java.security.cert.PKIXRevocationChecker.Option> getOptions(); + method public abstract java.util.List<java.security.cert.CertPathValidatorException> getSoftFailExceptions(); + method public void setOcspExtensions(java.util.List<java.security.cert.Extension>); + method public void setOcspResponder(java.net.URI); + method public void setOcspResponderCert(java.security.cert.X509Certificate); + method public void setOcspResponses(java.util.Map<java.security.cert.X509Certificate,byte[]>); + method public void setOptions(java.util.Set<java.security.cert.PKIXRevocationChecker.Option>); + } + + public enum PKIXRevocationChecker.Option { + enum_constant public static final java.security.cert.PKIXRevocationChecker.Option NO_FALLBACK; + enum_constant public static final java.security.cert.PKIXRevocationChecker.Option ONLY_END_ENTITY; + enum_constant public static final java.security.cert.PKIXRevocationChecker.Option PREFER_CRLS; + enum_constant public static final java.security.cert.PKIXRevocationChecker.Option SOFT_FAIL; + } + + public interface PolicyNode { + method public java.util.Iterator<? extends java.security.cert.PolicyNode> getChildren(); + method public int getDepth(); + method public java.util.Set<java.lang.String> getExpectedPolicies(); + method public java.security.cert.PolicyNode getParent(); + method public java.util.Set<? extends java.security.cert.PolicyQualifierInfo> getPolicyQualifiers(); + method public String getValidPolicy(); + method public boolean isCritical(); + } + + public class PolicyQualifierInfo { + ctor public PolicyQualifierInfo(byte[]) throws java.io.IOException; + method public final byte[] getEncoded(); + method public final byte[] getPolicyQualifier(); + method public final String getPolicyQualifierId(); + } + + public class TrustAnchor { + ctor public TrustAnchor(java.security.cert.X509Certificate, byte[]); + ctor public TrustAnchor(javax.security.auth.x500.X500Principal, java.security.PublicKey, byte[]); + ctor public TrustAnchor(String, java.security.PublicKey, byte[]); + method public final javax.security.auth.x500.X500Principal getCA(); + method public final String getCAName(); + method public final java.security.PublicKey getCAPublicKey(); + method public final byte[] getNameConstraints(); + method public final java.security.cert.X509Certificate getTrustedCert(); + } + + public final class URICertStoreParameters implements java.security.cert.CertStoreParameters { + ctor public URICertStoreParameters(java.net.URI); + method public java.security.cert.URICertStoreParameters clone(); + method public java.net.URI getURI(); + } + + public abstract class X509CRL extends java.security.cert.CRL implements java.security.cert.X509Extension { + ctor protected X509CRL(); + method public abstract byte[] getEncoded() throws java.security.cert.CRLException; + method public abstract java.security.Principal getIssuerDN(); + method public javax.security.auth.x500.X500Principal getIssuerX500Principal(); + method public abstract java.util.Date getNextUpdate(); + method public abstract java.security.cert.X509CRLEntry getRevokedCertificate(java.math.BigInteger); + method public java.security.cert.X509CRLEntry getRevokedCertificate(java.security.cert.X509Certificate); + method public abstract java.util.Set<? extends java.security.cert.X509CRLEntry> getRevokedCertificates(); + method public abstract String getSigAlgName(); + method public abstract String getSigAlgOID(); + method public abstract byte[] getSigAlgParams(); + method public abstract byte[] getSignature(); + method public abstract byte[] getTBSCertList() throws java.security.cert.CRLException; + method public abstract java.util.Date getThisUpdate(); + method public abstract int getVersion(); + method public abstract void verify(java.security.PublicKey) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException; + method public abstract void verify(java.security.PublicKey, String) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException; + method public void verify(java.security.PublicKey, java.security.Provider) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.SignatureException; + } + + public abstract class X509CRLEntry implements java.security.cert.X509Extension { + ctor public X509CRLEntry(); + method public javax.security.auth.x500.X500Principal getCertificateIssuer(); + method public abstract byte[] getEncoded() throws java.security.cert.CRLException; + method public abstract java.util.Date getRevocationDate(); + method public java.security.cert.CRLReason getRevocationReason(); + method public abstract java.math.BigInteger getSerialNumber(); + method public abstract boolean hasExtensions(); + method public abstract String toString(); + } + + public class X509CRLSelector implements java.security.cert.CRLSelector { + ctor public X509CRLSelector(); + method public void addIssuer(javax.security.auth.x500.X500Principal); + method public void addIssuerName(String) throws java.io.IOException; + method public void addIssuerName(byte[]) throws java.io.IOException; + method public Object clone(); + method public java.security.cert.X509Certificate getCertificateChecking(); + method public java.util.Date getDateAndTime(); + method public java.util.Collection<java.lang.Object> getIssuerNames(); + method public java.util.Collection<javax.security.auth.x500.X500Principal> getIssuers(); + method public java.math.BigInteger getMaxCRL(); + method public java.math.BigInteger getMinCRL(); + method public boolean match(java.security.cert.CRL); + method public void setCertificateChecking(java.security.cert.X509Certificate); + method public void setDateAndTime(java.util.Date); + method public void setIssuerNames(java.util.Collection<?>) throws java.io.IOException; + method public void setIssuers(java.util.Collection<javax.security.auth.x500.X500Principal>); + method public void setMaxCRLNumber(java.math.BigInteger); + method public void setMinCRLNumber(java.math.BigInteger); + } + + public class X509CertSelector implements java.security.cert.CertSelector { + ctor public X509CertSelector(); + method public void addPathToName(int, String) throws java.io.IOException; + method public void addPathToName(int, byte[]) throws java.io.IOException; + method public void addSubjectAlternativeName(int, String) throws java.io.IOException; + method public void addSubjectAlternativeName(int, byte[]) throws java.io.IOException; + method public Object clone(); + method public byte[] getAuthorityKeyIdentifier(); + method public int getBasicConstraints(); + method public java.security.cert.X509Certificate getCertificate(); + method public java.util.Date getCertificateValid(); + method public java.util.Set<java.lang.String> getExtendedKeyUsage(); + method public javax.security.auth.x500.X500Principal getIssuer(); + method public byte[] getIssuerAsBytes() throws java.io.IOException; + method public String getIssuerAsString(); + method public boolean[] getKeyUsage(); + method public boolean getMatchAllSubjectAltNames(); + method public byte[] getNameConstraints(); + method public java.util.Collection<java.util.List<?>> getPathToNames(); + method public java.util.Set<java.lang.String> getPolicy(); + method public java.util.Date getPrivateKeyValid(); + method public java.math.BigInteger getSerialNumber(); + method public javax.security.auth.x500.X500Principal getSubject(); + method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames(); + method public byte[] getSubjectAsBytes() throws java.io.IOException; + method public String getSubjectAsString(); + method public byte[] getSubjectKeyIdentifier(); + method public java.security.PublicKey getSubjectPublicKey(); + method public String getSubjectPublicKeyAlgID(); + method public boolean match(java.security.cert.Certificate); + method public void setAuthorityKeyIdentifier(byte[]); + method public void setBasicConstraints(int); + method public void setCertificate(java.security.cert.X509Certificate); + method public void setCertificateValid(java.util.Date); + method public void setExtendedKeyUsage(java.util.Set<java.lang.String>) throws java.io.IOException; + method public void setIssuer(javax.security.auth.x500.X500Principal); + method public void setIssuer(String) throws java.io.IOException; + method public void setIssuer(byte[]) throws java.io.IOException; + method public void setKeyUsage(boolean[]); + method public void setMatchAllSubjectAltNames(boolean); + method public void setNameConstraints(byte[]) throws java.io.IOException; + method public void setPathToNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException; + method public void setPolicy(java.util.Set<java.lang.String>) throws java.io.IOException; + method public void setPrivateKeyValid(java.util.Date); + method public void setSerialNumber(java.math.BigInteger); + method public void setSubject(javax.security.auth.x500.X500Principal); + method public void setSubject(String) throws java.io.IOException; + method public void setSubject(byte[]) throws java.io.IOException; + method public void setSubjectAlternativeNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException; + method public void setSubjectKeyIdentifier(byte[]); + method public void setSubjectPublicKey(java.security.PublicKey); + method public void setSubjectPublicKey(byte[]) throws java.io.IOException; + method public void setSubjectPublicKeyAlgID(String) throws java.io.IOException; + } + + public abstract class X509Certificate extends java.security.cert.Certificate implements java.security.cert.X509Extension { + ctor protected X509Certificate(); + method public abstract void checkValidity() throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException; + method public abstract void checkValidity(java.util.Date) throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException; + method public abstract int getBasicConstraints(); + method public java.util.List<java.lang.String> getExtendedKeyUsage() throws java.security.cert.CertificateParsingException; + method public java.util.Collection<java.util.List<?>> getIssuerAlternativeNames() throws java.security.cert.CertificateParsingException; + method public abstract java.security.Principal getIssuerDN(); + method public abstract boolean[] getIssuerUniqueID(); + method public javax.security.auth.x500.X500Principal getIssuerX500Principal(); + method public abstract boolean[] getKeyUsage(); + method public abstract java.util.Date getNotAfter(); + method public abstract java.util.Date getNotBefore(); + method public abstract java.math.BigInteger getSerialNumber(); + method public abstract String getSigAlgName(); + method public abstract String getSigAlgOID(); + method public abstract byte[] getSigAlgParams(); + method public abstract byte[] getSignature(); + method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames() throws java.security.cert.CertificateParsingException; + method public abstract java.security.Principal getSubjectDN(); + method public abstract boolean[] getSubjectUniqueID(); + method public javax.security.auth.x500.X500Principal getSubjectX500Principal(); + method public abstract byte[] getTBSCertificate() throws java.security.cert.CertificateEncodingException; + method public abstract int getVersion(); + } + + public interface X509Extension { + method public java.util.Set<java.lang.String> getCriticalExtensionOIDs(); + method public byte[] getExtensionValue(String); + method public java.util.Set<java.lang.String> getNonCriticalExtensionOIDs(); + method public boolean hasUnsupportedCriticalExtension(); + } + +} + +package java.security.interfaces { + + public interface DSAKey { + method public java.security.interfaces.DSAParams getParams(); + } + + public interface DSAKeyPairGenerator { + method public void initialize(java.security.interfaces.DSAParams, java.security.SecureRandom) throws java.security.InvalidParameterException; + method public void initialize(int, boolean, java.security.SecureRandom) throws java.security.InvalidParameterException; + } + + public interface DSAParams { + method public java.math.BigInteger getG(); + method public java.math.BigInteger getP(); + method public java.math.BigInteger getQ(); + } + + public interface DSAPrivateKey extends java.security.interfaces.DSAKey java.security.PrivateKey { + method public java.math.BigInteger getX(); + field public static final long serialVersionUID = 7776497482533790279L; // 0x6bebab423b256247L + } + + public interface DSAPublicKey extends java.security.interfaces.DSAKey java.security.PublicKey { + method public java.math.BigInteger getY(); + field public static final long serialVersionUID = 1234526332779022332L; // 0x1121eb28ab28c7fcL + } + + public interface ECKey { + method public java.security.spec.ECParameterSpec getParams(); + } + + public interface ECPrivateKey extends java.security.PrivateKey java.security.interfaces.ECKey { + method public java.math.BigInteger getS(); + field public static final long serialVersionUID = -7896394956925609184L; // 0x926a5e9fa2435b20L + } + + public interface ECPublicKey extends java.security.PublicKey java.security.interfaces.ECKey { + method public java.security.spec.ECPoint getW(); + field public static final long serialVersionUID = -3314988629879632826L; // 0xd1fecb679990cc46L + } + + public interface EdECKey { + method public java.security.spec.NamedParameterSpec getParams(); + } + + public interface EdECPrivateKey extends java.security.interfaces.EdECKey java.security.PrivateKey { + method public java.util.Optional<byte[]> getBytes(); + } + + public interface EdECPublicKey extends java.security.interfaces.EdECKey java.security.PublicKey { + method public java.security.spec.EdECPoint getPoint(); + } + + public interface RSAKey { + method public java.math.BigInteger getModulus(); + } + + public interface RSAMultiPrimePrivateCrtKey extends java.security.interfaces.RSAPrivateKey { + method public java.math.BigInteger getCrtCoefficient(); + method public java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo(); + method public java.math.BigInteger getPrimeExponentP(); + method public java.math.BigInteger getPrimeExponentQ(); + method public java.math.BigInteger getPrimeP(); + method public java.math.BigInteger getPrimeQ(); + method public java.math.BigInteger getPublicExponent(); + field public static final long serialVersionUID = 618058533534628008L; // 0x893c8f62dbaf8a8L + } + + public interface RSAPrivateCrtKey extends java.security.interfaces.RSAPrivateKey { + method public java.math.BigInteger getCrtCoefficient(); + method public java.math.BigInteger getPrimeExponentP(); + method public java.math.BigInteger getPrimeExponentQ(); + method public java.math.BigInteger getPrimeP(); + method public java.math.BigInteger getPrimeQ(); + method public java.math.BigInteger getPublicExponent(); + field public static final long serialVersionUID = -5682214253527700368L; // 0xb124b83df8d1ec70L + } + + public interface RSAPrivateKey extends java.security.PrivateKey java.security.interfaces.RSAKey { + method public java.math.BigInteger getPrivateExponent(); + field public static final long serialVersionUID = 5187144804936595022L; // 0x47fc70b7a8c2364eL + } + + public interface RSAPublicKey extends java.security.PublicKey java.security.interfaces.RSAKey { + method public java.math.BigInteger getPublicExponent(); + field public static final long serialVersionUID = -8727434096241101194L; // 0x86e1ecedeceab676L + } + + public interface XECKey { + method public java.security.spec.AlgorithmParameterSpec getParams(); + } + + public interface XECPrivateKey extends java.security.interfaces.XECKey java.security.PrivateKey { + method public java.util.Optional<byte[]> getScalar(); + } + + public interface XECPublicKey extends java.security.interfaces.XECKey java.security.PublicKey { + method public java.math.BigInteger getU(); + } + +} + +package java.security.spec { + + public interface AlgorithmParameterSpec { + } + + public class DSAParameterSpec implements java.security.spec.AlgorithmParameterSpec java.security.interfaces.DSAParams { + ctor public DSAParameterSpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getG(); + method public java.math.BigInteger getP(); + method public java.math.BigInteger getQ(); + } + + public class DSAPrivateKeySpec implements java.security.spec.KeySpec { + ctor public DSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getG(); + method public java.math.BigInteger getP(); + method public java.math.BigInteger getQ(); + method public java.math.BigInteger getX(); + } + + public class DSAPublicKeySpec implements java.security.spec.KeySpec { + ctor public DSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getG(); + method public java.math.BigInteger getP(); + method public java.math.BigInteger getQ(); + method public java.math.BigInteger getY(); + } + + public interface ECField { + method public int getFieldSize(); + } + + public class ECFieldF2m implements java.security.spec.ECField { + ctor public ECFieldF2m(int); + ctor public ECFieldF2m(int, java.math.BigInteger); + ctor public ECFieldF2m(int, int[]); + method public int getFieldSize(); + method public int getM(); + method public int[] getMidTermsOfReductionPolynomial(); + method public java.math.BigInteger getReductionPolynomial(); + } + + public class ECFieldFp implements java.security.spec.ECField { + ctor public ECFieldFp(java.math.BigInteger); + method public int getFieldSize(); + method public java.math.BigInteger getP(); + } + + public class ECGenParameterSpec extends java.security.spec.NamedParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public ECGenParameterSpec(String); + } + + public class ECParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public ECParameterSpec(java.security.spec.EllipticCurve, java.security.spec.ECPoint, java.math.BigInteger, int); + method public int getCofactor(); + method public java.security.spec.EllipticCurve getCurve(); + method public java.security.spec.ECPoint getGenerator(); + method public java.math.BigInteger getOrder(); + } + + public class ECPoint { + ctor public ECPoint(java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getAffineX(); + method public java.math.BigInteger getAffineY(); + field public static final java.security.spec.ECPoint POINT_INFINITY; + } + + public class ECPrivateKeySpec implements java.security.spec.KeySpec { + ctor public ECPrivateKeySpec(java.math.BigInteger, java.security.spec.ECParameterSpec); + method public java.security.spec.ECParameterSpec getParams(); + method public java.math.BigInteger getS(); + } + + public class ECPublicKeySpec implements java.security.spec.KeySpec { + ctor public ECPublicKeySpec(java.security.spec.ECPoint, java.security.spec.ECParameterSpec); + method public java.security.spec.ECParameterSpec getParams(); + method public java.security.spec.ECPoint getW(); + } + + public final class EdECPoint { + ctor public EdECPoint(boolean, @NonNull java.math.BigInteger); + method @NonNull public java.math.BigInteger getY(); + method public boolean isXOdd(); + } + + public final class EdECPrivateKeySpec implements java.security.spec.KeySpec { + ctor public EdECPrivateKeySpec(@NonNull java.security.spec.NamedParameterSpec, @NonNull byte[]); + method @NonNull public byte[] getBytes(); + method @NonNull public java.security.spec.NamedParameterSpec getParams(); + } + + public final class EdECPublicKeySpec implements java.security.spec.KeySpec { + ctor public EdECPublicKeySpec(@NonNull java.security.spec.NamedParameterSpec, @NonNull java.security.spec.EdECPoint); + method @NonNull public java.security.spec.NamedParameterSpec getParams(); + method @NonNull public java.security.spec.EdECPoint getPoint(); + } + + public class EllipticCurve { + ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger); + ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger, byte[]); + method public java.math.BigInteger getA(); + method public java.math.BigInteger getB(); + method public java.security.spec.ECField getField(); + method public byte[] getSeed(); + } + + public abstract class EncodedKeySpec implements java.security.spec.KeySpec { + ctor public EncodedKeySpec(byte[]); + method public byte[] getEncoded(); + method public abstract String getFormat(); + } + + public class InvalidKeySpecException extends java.security.GeneralSecurityException { + ctor public InvalidKeySpecException(); + ctor public InvalidKeySpecException(String); + ctor public InvalidKeySpecException(String, Throwable); + ctor public InvalidKeySpecException(Throwable); + } + + public class InvalidParameterSpecException extends java.security.GeneralSecurityException { + ctor public InvalidParameterSpecException(); + ctor public InvalidParameterSpecException(String); + } + + public interface KeySpec { + } + + public class MGF1ParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public MGF1ParameterSpec(String); + method public String getDigestAlgorithm(); + field public static final java.security.spec.MGF1ParameterSpec SHA1; + field public static final java.security.spec.MGF1ParameterSpec SHA224; + field public static final java.security.spec.MGF1ParameterSpec SHA256; + field public static final java.security.spec.MGF1ParameterSpec SHA384; + field public static final java.security.spec.MGF1ParameterSpec SHA512; + } + + public class NamedParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public NamedParameterSpec(@NonNull String); + method @NonNull public String getName(); + field public static final java.security.spec.NamedParameterSpec ED25519; + field public static final java.security.spec.NamedParameterSpec ED448; + field public static final java.security.spec.NamedParameterSpec X25519; + field public static final java.security.spec.NamedParameterSpec X448; + } + + public class PKCS8EncodedKeySpec extends java.security.spec.EncodedKeySpec { + ctor public PKCS8EncodedKeySpec(byte[]); + method public final String getFormat(); + } + + public class PSSParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public PSSParameterSpec(String, String, java.security.spec.AlgorithmParameterSpec, int, int); + ctor public PSSParameterSpec(int); + method public String getDigestAlgorithm(); + method public String getMGFAlgorithm(); + method public java.security.spec.AlgorithmParameterSpec getMGFParameters(); + method public int getSaltLength(); + method public int getTrailerField(); + field public static final java.security.spec.PSSParameterSpec DEFAULT; + } + + public class RSAKeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public RSAKeyGenParameterSpec(int, java.math.BigInteger); + method public int getKeysize(); + method public java.math.BigInteger getPublicExponent(); + field public static final java.math.BigInteger F0; + field public static final java.math.BigInteger F4; + } + + public class RSAMultiPrimePrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec { + ctor public RSAMultiPrimePrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.security.spec.RSAOtherPrimeInfo[]); + method public java.math.BigInteger getCrtCoefficient(); + method public java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo(); + method public java.math.BigInteger getPrimeExponentP(); + method public java.math.BigInteger getPrimeExponentQ(); + method public java.math.BigInteger getPrimeP(); + method public java.math.BigInteger getPrimeQ(); + method public java.math.BigInteger getPublicExponent(); + } + + public class RSAOtherPrimeInfo { + ctor public RSAOtherPrimeInfo(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public final java.math.BigInteger getCrtCoefficient(); + method public final java.math.BigInteger getExponent(); + method public final java.math.BigInteger getPrime(); + } + + public class RSAPrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec { + ctor public RSAPrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getCrtCoefficient(); + method public java.math.BigInteger getPrimeExponentP(); + method public java.math.BigInteger getPrimeExponentQ(); + method public java.math.BigInteger getPrimeP(); + method public java.math.BigInteger getPrimeQ(); + method public java.math.BigInteger getPublicExponent(); + } + + public class RSAPrivateKeySpec implements java.security.spec.KeySpec { + ctor public RSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getModulus(); + method public java.math.BigInteger getPrivateExponent(); + } + + public class RSAPublicKeySpec implements java.security.spec.KeySpec { + ctor public RSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getModulus(); + method public java.math.BigInteger getPublicExponent(); + } + + public class X509EncodedKeySpec extends java.security.spec.EncodedKeySpec { + ctor public X509EncodedKeySpec(byte[]); + method public final String getFormat(); + } + + public class XECPrivateKeySpec implements java.security.spec.KeySpec { + ctor public XECPrivateKeySpec(java.security.spec.AlgorithmParameterSpec, byte[]); + method public java.security.spec.AlgorithmParameterSpec getParams(); + method public byte[] getScalar(); + } + + public class XECPublicKeySpec implements java.security.spec.KeySpec { + ctor public XECPublicKeySpec(java.security.spec.AlgorithmParameterSpec, java.math.BigInteger); + method public java.security.spec.AlgorithmParameterSpec getParams(); + method public java.math.BigInteger getU(); + } + +} + +package java.sql { + + public interface Array { + method public void free() throws java.sql.SQLException; + method public Object getArray() throws java.sql.SQLException; + method public Object getArray(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public Object getArray(long, int) throws java.sql.SQLException; + method public Object getArray(long, int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public int getBaseType() throws java.sql.SQLException; + method public String getBaseTypeName() throws java.sql.SQLException; + method public java.sql.ResultSet getResultSet() throws java.sql.SQLException; + method public java.sql.ResultSet getResultSet(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public java.sql.ResultSet getResultSet(long, int) throws java.sql.SQLException; + method public java.sql.ResultSet getResultSet(long, int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + } + + public class BatchUpdateException extends java.sql.SQLException { + ctor public BatchUpdateException(String, String, int, int[]); + ctor public BatchUpdateException(String, String, int[]); + ctor public BatchUpdateException(String, int[]); + ctor public BatchUpdateException(int[]); + ctor public BatchUpdateException(); + ctor public BatchUpdateException(Throwable); + ctor public BatchUpdateException(int[], Throwable); + ctor public BatchUpdateException(String, int[], Throwable); + ctor public BatchUpdateException(String, String, int[], Throwable); + ctor public BatchUpdateException(String, String, int, int[], Throwable); + method public int[] getUpdateCounts(); + } + + public interface Blob { + method public void free() throws java.sql.SQLException; + method public java.io.InputStream getBinaryStream() throws java.sql.SQLException; + method public java.io.InputStream getBinaryStream(long, long) throws java.sql.SQLException; + method public byte[] getBytes(long, int) throws java.sql.SQLException; + method public long length() throws java.sql.SQLException; + method public long position(byte[], long) throws java.sql.SQLException; + method public long position(java.sql.Blob, long) throws java.sql.SQLException; + method public java.io.OutputStream setBinaryStream(long) throws java.sql.SQLException; + method public int setBytes(long, byte[]) throws java.sql.SQLException; + method public int setBytes(long, byte[], int, int) throws java.sql.SQLException; + method public void truncate(long) throws java.sql.SQLException; + } + + public interface CallableStatement extends java.sql.PreparedStatement { + method public java.sql.Array getArray(int) throws java.sql.SQLException; + method public java.sql.Array getArray(String) throws java.sql.SQLException; + method @Deprecated public java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException; + method public java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException; + method public java.math.BigDecimal getBigDecimal(String) throws java.sql.SQLException; + method public java.sql.Blob getBlob(int) throws java.sql.SQLException; + method public java.sql.Blob getBlob(String) throws java.sql.SQLException; + method public boolean getBoolean(int) throws java.sql.SQLException; + method public boolean getBoolean(String) throws java.sql.SQLException; + method public byte getByte(int) throws java.sql.SQLException; + method public byte getByte(String) throws java.sql.SQLException; + method public byte[] getBytes(int) throws java.sql.SQLException; + method public byte[] getBytes(String) throws java.sql.SQLException; + method public java.io.Reader getCharacterStream(int) throws java.sql.SQLException; + method public java.io.Reader getCharacterStream(String) throws java.sql.SQLException; + method public java.sql.Clob getClob(int) throws java.sql.SQLException; + method public java.sql.Clob getClob(String) throws java.sql.SQLException; + method public java.sql.Date getDate(int) throws java.sql.SQLException; + method public java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Date getDate(String) throws java.sql.SQLException; + method public java.sql.Date getDate(String, java.util.Calendar) throws java.sql.SQLException; + method public double getDouble(int) throws java.sql.SQLException; + method public double getDouble(String) throws java.sql.SQLException; + method public float getFloat(int) throws java.sql.SQLException; + method public float getFloat(String) throws java.sql.SQLException; + method public int getInt(int) throws java.sql.SQLException; + method public int getInt(String) throws java.sql.SQLException; + method public long getLong(int) throws java.sql.SQLException; + method public long getLong(String) throws java.sql.SQLException; + method public java.io.Reader getNCharacterStream(int) throws java.sql.SQLException; + method public java.io.Reader getNCharacterStream(String) throws java.sql.SQLException; + method public java.sql.NClob getNClob(int) throws java.sql.SQLException; + method public java.sql.NClob getNClob(String) throws java.sql.SQLException; + method public String getNString(int) throws java.sql.SQLException; + method public String getNString(String) throws java.sql.SQLException; + method public Object getObject(int) throws java.sql.SQLException; + method public Object getObject(int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public Object getObject(String) throws java.sql.SQLException; + method public Object getObject(String, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public java.sql.Ref getRef(int) throws java.sql.SQLException; + method public java.sql.Ref getRef(String) throws java.sql.SQLException; + method public java.sql.RowId getRowId(int) throws java.sql.SQLException; + method public java.sql.RowId getRowId(String) throws java.sql.SQLException; + method public java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException; + method public java.sql.SQLXML getSQLXML(String) throws java.sql.SQLException; + method public short getShort(int) throws java.sql.SQLException; + method public short getShort(String) throws java.sql.SQLException; + method public String getString(int) throws java.sql.SQLException; + method public String getString(String) throws java.sql.SQLException; + method public java.sql.Time getTime(int) throws java.sql.SQLException; + method public java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Time getTime(String) throws java.sql.SQLException; + method public java.sql.Time getTime(String, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(String) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(String, java.util.Calendar) throws java.sql.SQLException; + method public java.net.URL getURL(int) throws java.sql.SQLException; + method public java.net.URL getURL(String) throws java.sql.SQLException; + method public void registerOutParameter(int, int) throws java.sql.SQLException; + method public void registerOutParameter(int, int, int) throws java.sql.SQLException; + method public void registerOutParameter(int, int, String) throws java.sql.SQLException; + method public void registerOutParameter(String, int) throws java.sql.SQLException; + method public void registerOutParameter(String, int, int) throws java.sql.SQLException; + method public void registerOutParameter(String, int, String) throws java.sql.SQLException; + method public void setAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException; + method public void setAsciiStream(String, java.io.InputStream, long) throws java.sql.SQLException; + method public void setAsciiStream(String, java.io.InputStream) throws java.sql.SQLException; + method public void setBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException; + method public void setBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException; + method public void setBinaryStream(String, java.io.InputStream, long) throws java.sql.SQLException; + method public void setBinaryStream(String, java.io.InputStream) throws java.sql.SQLException; + method public void setBlob(String, java.io.InputStream, long) throws java.sql.SQLException; + method public void setBlob(String, java.sql.Blob) throws java.sql.SQLException; + method public void setBlob(String, java.io.InputStream) throws java.sql.SQLException; + method public void setBoolean(String, boolean) throws java.sql.SQLException; + method public void setByte(String, byte) throws java.sql.SQLException; + method public void setBytes(String, byte[]) throws java.sql.SQLException; + method public void setCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException; + method public void setCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException; + method public void setCharacterStream(String, java.io.Reader) throws java.sql.SQLException; + method public void setClob(String, java.io.Reader, long) throws java.sql.SQLException; + method public void setClob(String, java.sql.Clob) throws java.sql.SQLException; + method public void setClob(String, java.io.Reader) throws java.sql.SQLException; + method public void setDate(String, java.sql.Date) throws java.sql.SQLException; + method public void setDate(String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException; + method public void setDouble(String, double) throws java.sql.SQLException; + method public void setFloat(String, float) throws java.sql.SQLException; + method public void setInt(String, int) throws java.sql.SQLException; + method public void setLong(String, long) throws java.sql.SQLException; + method public void setNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException; + method public void setNCharacterStream(String, java.io.Reader) throws java.sql.SQLException; + method public void setNClob(String, java.sql.NClob) throws java.sql.SQLException; + method public void setNClob(String, java.io.Reader, long) throws java.sql.SQLException; + method public void setNClob(String, java.io.Reader) throws java.sql.SQLException; + method public void setNString(String, String) throws java.sql.SQLException; + method public void setNull(String, int) throws java.sql.SQLException; + method public void setNull(String, int, String) throws java.sql.SQLException; + method public void setObject(String, Object, int, int) throws java.sql.SQLException; + method public void setObject(String, Object, int) throws java.sql.SQLException; + method public void setObject(String, Object) throws java.sql.SQLException; + method public void setRowId(String, java.sql.RowId) throws java.sql.SQLException; + method public void setSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException; + method public void setShort(String, short) throws java.sql.SQLException; + method public void setString(String, String) throws java.sql.SQLException; + method public void setTime(String, java.sql.Time) throws java.sql.SQLException; + method public void setTime(String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException; + method public void setTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException; + method public void setTimestamp(String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException; + method public void setURL(String, java.net.URL) throws java.sql.SQLException; + method public boolean wasNull() throws java.sql.SQLException; + } + + public enum ClientInfoStatus { + enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN; + enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN_PROPERTY; + enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_INVALID; + enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_TRUNCATED; + } + + public interface Clob { + method public void free() throws java.sql.SQLException; + method public java.io.InputStream getAsciiStream() throws java.sql.SQLException; + method public java.io.Reader getCharacterStream() throws java.sql.SQLException; + method public java.io.Reader getCharacterStream(long, long) throws java.sql.SQLException; + method public String getSubString(long, int) throws java.sql.SQLException; + method public long length() throws java.sql.SQLException; + method public long position(String, long) throws java.sql.SQLException; + method public long position(java.sql.Clob, long) throws java.sql.SQLException; + method public java.io.OutputStream setAsciiStream(long) throws java.sql.SQLException; + method public java.io.Writer setCharacterStream(long) throws java.sql.SQLException; + method public int setString(long, String) throws java.sql.SQLException; + method public int setString(long, String, int, int) throws java.sql.SQLException; + method public void truncate(long) throws java.sql.SQLException; + } + + public interface Connection extends java.sql.Wrapper java.lang.AutoCloseable { + method public void clearWarnings() throws java.sql.SQLException; + method public void close() throws java.sql.SQLException; + method public void commit() throws java.sql.SQLException; + method public java.sql.Array createArrayOf(String, Object[]) throws java.sql.SQLException; + method public java.sql.Blob createBlob() throws java.sql.SQLException; + method public java.sql.Clob createClob() throws java.sql.SQLException; + method public java.sql.NClob createNClob() throws java.sql.SQLException; + method public java.sql.SQLXML createSQLXML() throws java.sql.SQLException; + method public java.sql.Statement createStatement() throws java.sql.SQLException; + method public java.sql.Statement createStatement(int, int) throws java.sql.SQLException; + method public java.sql.Statement createStatement(int, int, int) throws java.sql.SQLException; + method public java.sql.Struct createStruct(String, Object[]) throws java.sql.SQLException; + method public boolean getAutoCommit() throws java.sql.SQLException; + method public String getCatalog() throws java.sql.SQLException; + method public String getClientInfo(String) throws java.sql.SQLException; + method public java.util.Properties getClientInfo() throws java.sql.SQLException; + method public int getHoldability() throws java.sql.SQLException; + method public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException; + method public int getTransactionIsolation() throws java.sql.SQLException; + method public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException; + method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException; + method public boolean isClosed() throws java.sql.SQLException; + method public boolean isReadOnly() throws java.sql.SQLException; + method public boolean isValid(int) throws java.sql.SQLException; + method public String nativeSQL(String) throws java.sql.SQLException; + method public java.sql.CallableStatement prepareCall(String) throws java.sql.SQLException; + method public java.sql.CallableStatement prepareCall(String, int, int) throws java.sql.SQLException; + method public java.sql.CallableStatement prepareCall(String, int, int, int) throws java.sql.SQLException; + method public java.sql.PreparedStatement prepareStatement(String) throws java.sql.SQLException; + method public java.sql.PreparedStatement prepareStatement(String, int, int) throws java.sql.SQLException; + method public java.sql.PreparedStatement prepareStatement(String, int, int, int) throws java.sql.SQLException; + method public java.sql.PreparedStatement prepareStatement(String, int) throws java.sql.SQLException; + method public java.sql.PreparedStatement prepareStatement(String, int[]) throws java.sql.SQLException; + method public java.sql.PreparedStatement prepareStatement(String, String[]) throws java.sql.SQLException; + method public void releaseSavepoint(java.sql.Savepoint) throws java.sql.SQLException; + method public void rollback() throws java.sql.SQLException; + method public void rollback(java.sql.Savepoint) throws java.sql.SQLException; + method public void setAutoCommit(boolean) throws java.sql.SQLException; + method public void setCatalog(String) throws java.sql.SQLException; + method public void setClientInfo(String, String) throws java.sql.SQLClientInfoException; + method public void setClientInfo(java.util.Properties) throws java.sql.SQLClientInfoException; + method public void setHoldability(int) throws java.sql.SQLException; + method public void setReadOnly(boolean) throws java.sql.SQLException; + method public java.sql.Savepoint setSavepoint() throws java.sql.SQLException; + method public java.sql.Savepoint setSavepoint(String) throws java.sql.SQLException; + method public void setTransactionIsolation(int) throws java.sql.SQLException; + method public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + field public static final int TRANSACTION_NONE = 0; // 0x0 + field public static final int TRANSACTION_READ_COMMITTED = 2; // 0x2 + field public static final int TRANSACTION_READ_UNCOMMITTED = 1; // 0x1 + field public static final int TRANSACTION_REPEATABLE_READ = 4; // 0x4 + field public static final int TRANSACTION_SERIALIZABLE = 8; // 0x8 + } + + public class DataTruncation extends java.sql.SQLWarning { + ctor public DataTruncation(int, boolean, boolean, int, int); + ctor public DataTruncation(int, boolean, boolean, int, int, Throwable); + method public int getDataSize(); + method public int getIndex(); + method public boolean getParameter(); + method public boolean getRead(); + method public int getTransferSize(); + } + + public interface DatabaseMetaData extends java.sql.Wrapper { + method public boolean allProceduresAreCallable() throws java.sql.SQLException; + method public boolean allTablesAreSelectable() throws java.sql.SQLException; + method public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException; + method public boolean dataDefinitionCausesTransactionCommit() throws java.sql.SQLException; + method public boolean dataDefinitionIgnoredInTransactions() throws java.sql.SQLException; + method public boolean deletesAreDetected(int) throws java.sql.SQLException; + method public boolean doesMaxRowSizeIncludeBlobs() throws java.sql.SQLException; + method public java.sql.ResultSet getAttributes(String, String, String, String) throws java.sql.SQLException; + method public java.sql.ResultSet getBestRowIdentifier(String, String, String, int, boolean) throws java.sql.SQLException; + method public String getCatalogSeparator() throws java.sql.SQLException; + method public String getCatalogTerm() throws java.sql.SQLException; + method public java.sql.ResultSet getCatalogs() throws java.sql.SQLException; + method public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException; + method public java.sql.ResultSet getColumnPrivileges(String, String, String, String) throws java.sql.SQLException; + method public java.sql.ResultSet getColumns(String, String, String, String) throws java.sql.SQLException; + method public java.sql.Connection getConnection() throws java.sql.SQLException; + method public java.sql.ResultSet getCrossReference(String, String, String, String, String, String) throws java.sql.SQLException; + method public int getDatabaseMajorVersion() throws java.sql.SQLException; + method public int getDatabaseMinorVersion() throws java.sql.SQLException; + method public String getDatabaseProductName() throws java.sql.SQLException; + method public String getDatabaseProductVersion() throws java.sql.SQLException; + method public int getDefaultTransactionIsolation() throws java.sql.SQLException; + method public int getDriverMajorVersion(); + method public int getDriverMinorVersion(); + method public String getDriverName() throws java.sql.SQLException; + method public String getDriverVersion() throws java.sql.SQLException; + method public java.sql.ResultSet getExportedKeys(String, String, String) throws java.sql.SQLException; + method public String getExtraNameCharacters() throws java.sql.SQLException; + method public java.sql.ResultSet getFunctionColumns(String, String, String, String) throws java.sql.SQLException; + method public java.sql.ResultSet getFunctions(String, String, String) throws java.sql.SQLException; + method public String getIdentifierQuoteString() throws java.sql.SQLException; + method public java.sql.ResultSet getImportedKeys(String, String, String) throws java.sql.SQLException; + method public java.sql.ResultSet getIndexInfo(String, String, String, boolean, boolean) throws java.sql.SQLException; + method public int getJDBCMajorVersion() throws java.sql.SQLException; + method public int getJDBCMinorVersion() throws java.sql.SQLException; + method public int getMaxBinaryLiteralLength() throws java.sql.SQLException; + method public int getMaxCatalogNameLength() throws java.sql.SQLException; + method public int getMaxCharLiteralLength() throws java.sql.SQLException; + method public int getMaxColumnNameLength() throws java.sql.SQLException; + method public int getMaxColumnsInGroupBy() throws java.sql.SQLException; + method public int getMaxColumnsInIndex() throws java.sql.SQLException; + method public int getMaxColumnsInOrderBy() throws java.sql.SQLException; + method public int getMaxColumnsInSelect() throws java.sql.SQLException; + method public int getMaxColumnsInTable() throws java.sql.SQLException; + method public int getMaxConnections() throws java.sql.SQLException; + method public int getMaxCursorNameLength() throws java.sql.SQLException; + method public int getMaxIndexLength() throws java.sql.SQLException; + method public int getMaxProcedureNameLength() throws java.sql.SQLException; + method public int getMaxRowSize() throws java.sql.SQLException; + method public int getMaxSchemaNameLength() throws java.sql.SQLException; + method public int getMaxStatementLength() throws java.sql.SQLException; + method public int getMaxStatements() throws java.sql.SQLException; + method public int getMaxTableNameLength() throws java.sql.SQLException; + method public int getMaxTablesInSelect() throws java.sql.SQLException; + method public int getMaxUserNameLength() throws java.sql.SQLException; + method public String getNumericFunctions() throws java.sql.SQLException; + method public java.sql.ResultSet getPrimaryKeys(String, String, String) throws java.sql.SQLException; + method public java.sql.ResultSet getProcedureColumns(String, String, String, String) throws java.sql.SQLException; + method public String getProcedureTerm() throws java.sql.SQLException; + method public java.sql.ResultSet getProcedures(String, String, String) throws java.sql.SQLException; + method public int getResultSetHoldability() throws java.sql.SQLException; + method public java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException; + method public String getSQLKeywords() throws java.sql.SQLException; + method public int getSQLStateType() throws java.sql.SQLException; + method public String getSchemaTerm() throws java.sql.SQLException; + method public java.sql.ResultSet getSchemas() throws java.sql.SQLException; + method public java.sql.ResultSet getSchemas(String, String) throws java.sql.SQLException; + method public String getSearchStringEscape() throws java.sql.SQLException; + method public String getStringFunctions() throws java.sql.SQLException; + method public java.sql.ResultSet getSuperTables(String, String, String) throws java.sql.SQLException; + method public java.sql.ResultSet getSuperTypes(String, String, String) throws java.sql.SQLException; + method public String getSystemFunctions() throws java.sql.SQLException; + method public java.sql.ResultSet getTablePrivileges(String, String, String) throws java.sql.SQLException; + method public java.sql.ResultSet getTableTypes() throws java.sql.SQLException; + method public java.sql.ResultSet getTables(String, String, String, String[]) throws java.sql.SQLException; + method public String getTimeDateFunctions() throws java.sql.SQLException; + method public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException; + method public java.sql.ResultSet getUDTs(String, String, String, int[]) throws java.sql.SQLException; + method public String getURL() throws java.sql.SQLException; + method public String getUserName() throws java.sql.SQLException; + method public java.sql.ResultSet getVersionColumns(String, String, String) throws java.sql.SQLException; + method public boolean insertsAreDetected(int) throws java.sql.SQLException; + method public boolean isCatalogAtStart() throws java.sql.SQLException; + method public boolean isReadOnly() throws java.sql.SQLException; + method public boolean locatorsUpdateCopy() throws java.sql.SQLException; + method public boolean nullPlusNonNullIsNull() throws java.sql.SQLException; + method public boolean nullsAreSortedAtEnd() throws java.sql.SQLException; + method public boolean nullsAreSortedAtStart() throws java.sql.SQLException; + method public boolean nullsAreSortedHigh() throws java.sql.SQLException; + method public boolean nullsAreSortedLow() throws java.sql.SQLException; + method public boolean othersDeletesAreVisible(int) throws java.sql.SQLException; + method public boolean othersInsertsAreVisible(int) throws java.sql.SQLException; + method public boolean othersUpdatesAreVisible(int) throws java.sql.SQLException; + method public boolean ownDeletesAreVisible(int) throws java.sql.SQLException; + method public boolean ownInsertsAreVisible(int) throws java.sql.SQLException; + method public boolean ownUpdatesAreVisible(int) throws java.sql.SQLException; + method public boolean storesLowerCaseIdentifiers() throws java.sql.SQLException; + method public boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException; + method public boolean storesMixedCaseIdentifiers() throws java.sql.SQLException; + method public boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException; + method public boolean storesUpperCaseIdentifiers() throws java.sql.SQLException; + method public boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException; + method public boolean supportsANSI92EntryLevelSQL() throws java.sql.SQLException; + method public boolean supportsANSI92FullSQL() throws java.sql.SQLException; + method public boolean supportsANSI92IntermediateSQL() throws java.sql.SQLException; + method public boolean supportsAlterTableWithAddColumn() throws java.sql.SQLException; + method public boolean supportsAlterTableWithDropColumn() throws java.sql.SQLException; + method public boolean supportsBatchUpdates() throws java.sql.SQLException; + method public boolean supportsCatalogsInDataManipulation() throws java.sql.SQLException; + method public boolean supportsCatalogsInIndexDefinitions() throws java.sql.SQLException; + method public boolean supportsCatalogsInPrivilegeDefinitions() throws java.sql.SQLException; + method public boolean supportsCatalogsInProcedureCalls() throws java.sql.SQLException; + method public boolean supportsCatalogsInTableDefinitions() throws java.sql.SQLException; + method public boolean supportsColumnAliasing() throws java.sql.SQLException; + method public boolean supportsConvert() throws java.sql.SQLException; + method public boolean supportsConvert(int, int) throws java.sql.SQLException; + method public boolean supportsCoreSQLGrammar() throws java.sql.SQLException; + method public boolean supportsCorrelatedSubqueries() throws java.sql.SQLException; + method public boolean supportsDataDefinitionAndDataManipulationTransactions() throws java.sql.SQLException; + method public boolean supportsDataManipulationTransactionsOnly() throws java.sql.SQLException; + method public boolean supportsDifferentTableCorrelationNames() throws java.sql.SQLException; + method public boolean supportsExpressionsInOrderBy() throws java.sql.SQLException; + method public boolean supportsExtendedSQLGrammar() throws java.sql.SQLException; + method public boolean supportsFullOuterJoins() throws java.sql.SQLException; + method public boolean supportsGetGeneratedKeys() throws java.sql.SQLException; + method public boolean supportsGroupBy() throws java.sql.SQLException; + method public boolean supportsGroupByBeyondSelect() throws java.sql.SQLException; + method public boolean supportsGroupByUnrelated() throws java.sql.SQLException; + method public boolean supportsIntegrityEnhancementFacility() throws java.sql.SQLException; + method public boolean supportsLikeEscapeClause() throws java.sql.SQLException; + method public boolean supportsLimitedOuterJoins() throws java.sql.SQLException; + method public boolean supportsMinimumSQLGrammar() throws java.sql.SQLException; + method public boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException; + method public boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException; + method public boolean supportsMultipleOpenResults() throws java.sql.SQLException; + method public boolean supportsMultipleResultSets() throws java.sql.SQLException; + method public boolean supportsMultipleTransactions() throws java.sql.SQLException; + method public boolean supportsNamedParameters() throws java.sql.SQLException; + method public boolean supportsNonNullableColumns() throws java.sql.SQLException; + method public boolean supportsOpenCursorsAcrossCommit() throws java.sql.SQLException; + method public boolean supportsOpenCursorsAcrossRollback() throws java.sql.SQLException; + method public boolean supportsOpenStatementsAcrossCommit() throws java.sql.SQLException; + method public boolean supportsOpenStatementsAcrossRollback() throws java.sql.SQLException; + method public boolean supportsOrderByUnrelated() throws java.sql.SQLException; + method public boolean supportsOuterJoins() throws java.sql.SQLException; + method public boolean supportsPositionedDelete() throws java.sql.SQLException; + method public boolean supportsPositionedUpdate() throws java.sql.SQLException; + method public boolean supportsResultSetConcurrency(int, int) throws java.sql.SQLException; + method public boolean supportsResultSetHoldability(int) throws java.sql.SQLException; + method public boolean supportsResultSetType(int) throws java.sql.SQLException; + method public boolean supportsSavepoints() throws java.sql.SQLException; + method public boolean supportsSchemasInDataManipulation() throws java.sql.SQLException; + method public boolean supportsSchemasInIndexDefinitions() throws java.sql.SQLException; + method public boolean supportsSchemasInPrivilegeDefinitions() throws java.sql.SQLException; + method public boolean supportsSchemasInProcedureCalls() throws java.sql.SQLException; + method public boolean supportsSchemasInTableDefinitions() throws java.sql.SQLException; + method public boolean supportsSelectForUpdate() throws java.sql.SQLException; + method public boolean supportsStatementPooling() throws java.sql.SQLException; + method public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException; + method public boolean supportsStoredProcedures() throws java.sql.SQLException; + method public boolean supportsSubqueriesInComparisons() throws java.sql.SQLException; + method public boolean supportsSubqueriesInExists() throws java.sql.SQLException; + method public boolean supportsSubqueriesInIns() throws java.sql.SQLException; + method public boolean supportsSubqueriesInQuantifieds() throws java.sql.SQLException; + method public boolean supportsTableCorrelationNames() throws java.sql.SQLException; + method public boolean supportsTransactionIsolationLevel(int) throws java.sql.SQLException; + method public boolean supportsTransactions() throws java.sql.SQLException; + method public boolean supportsUnion() throws java.sql.SQLException; + method public boolean supportsUnionAll() throws java.sql.SQLException; + method public boolean updatesAreDetected(int) throws java.sql.SQLException; + method public boolean usesLocalFilePerTable() throws java.sql.SQLException; + method public boolean usesLocalFiles() throws java.sql.SQLException; + field public static final short attributeNoNulls = 0; // 0x0 + field public static final short attributeNullable = 1; // 0x1 + field public static final short attributeNullableUnknown = 2; // 0x2 + field public static final int bestRowNotPseudo = 1; // 0x1 + field public static final int bestRowPseudo = 2; // 0x2 + field public static final int bestRowSession = 2; // 0x2 + field public static final int bestRowTemporary = 0; // 0x0 + field public static final int bestRowTransaction = 1; // 0x1 + field public static final int bestRowUnknown = 0; // 0x0 + field public static final int columnNoNulls = 0; // 0x0 + field public static final int columnNullable = 1; // 0x1 + field public static final int columnNullableUnknown = 2; // 0x2 + field public static final int functionColumnIn = 1; // 0x1 + field public static final int functionColumnInOut = 2; // 0x2 + field public static final int functionColumnOut = 3; // 0x3 + field public static final int functionColumnResult = 5; // 0x5 + field public static final int functionColumnUnknown = 0; // 0x0 + field public static final int functionNoNulls = 0; // 0x0 + field public static final int functionNoTable = 1; // 0x1 + field public static final int functionNullable = 1; // 0x1 + field public static final int functionNullableUnknown = 2; // 0x2 + field public static final int functionResultUnknown = 0; // 0x0 + field public static final int functionReturn = 4; // 0x4 + field public static final int functionReturnsTable = 2; // 0x2 + field public static final int importedKeyCascade = 0; // 0x0 + field public static final int importedKeyInitiallyDeferred = 5; // 0x5 + field public static final int importedKeyInitiallyImmediate = 6; // 0x6 + field public static final int importedKeyNoAction = 3; // 0x3 + field public static final int importedKeyNotDeferrable = 7; // 0x7 + field public static final int importedKeyRestrict = 1; // 0x1 + field public static final int importedKeySetDefault = 4; // 0x4 + field public static final int importedKeySetNull = 2; // 0x2 + field public static final int procedureColumnIn = 1; // 0x1 + field public static final int procedureColumnInOut = 2; // 0x2 + field public static final int procedureColumnOut = 4; // 0x4 + field public static final int procedureColumnResult = 3; // 0x3 + field public static final int procedureColumnReturn = 5; // 0x5 + field public static final int procedureColumnUnknown = 0; // 0x0 + field public static final int procedureNoNulls = 0; // 0x0 + field public static final int procedureNoResult = 1; // 0x1 + field public static final int procedureNullable = 1; // 0x1 + field public static final int procedureNullableUnknown = 2; // 0x2 + field public static final int procedureResultUnknown = 0; // 0x0 + field public static final int procedureReturnsResult = 2; // 0x2 + field public static final int sqlStateSQL = 2; // 0x2 + field public static final int sqlStateSQL99 = 2; // 0x2 + field public static final int sqlStateXOpen = 1; // 0x1 + field public static final short tableIndexClustered = 1; // 0x1 + field public static final short tableIndexHashed = 2; // 0x2 + field public static final short tableIndexOther = 3; // 0x3 + field public static final short tableIndexStatistic = 0; // 0x0 + field public static final int typeNoNulls = 0; // 0x0 + field public static final int typeNullable = 1; // 0x1 + field public static final int typeNullableUnknown = 2; // 0x2 + field public static final int typePredBasic = 2; // 0x2 + field public static final int typePredChar = 1; // 0x1 + field public static final int typePredNone = 0; // 0x0 + field public static final int typeSearchable = 3; // 0x3 + field public static final int versionColumnNotPseudo = 1; // 0x1 + field public static final int versionColumnPseudo = 2; // 0x2 + field public static final int versionColumnUnknown = 0; // 0x0 + } + + public class Date extends java.util.Date { + ctor @Deprecated public Date(int, int, int); + ctor public Date(long); + method public static java.sql.Date valueOf(String); + } + + public interface Driver { + method public boolean acceptsURL(String) throws java.sql.SQLException; + method public java.sql.Connection connect(String, java.util.Properties) throws java.sql.SQLException; + method public int getMajorVersion(); + method public int getMinorVersion(); + method public java.sql.DriverPropertyInfo[] getPropertyInfo(String, java.util.Properties) throws java.sql.SQLException; + method public boolean jdbcCompliant(); + } + + public class DriverManager { + method public static void deregisterDriver(java.sql.Driver) throws java.sql.SQLException; + method public static java.sql.Connection getConnection(String, java.util.Properties) throws java.sql.SQLException; + method public static java.sql.Connection getConnection(String, String, String) throws java.sql.SQLException; + method public static java.sql.Connection getConnection(String) throws java.sql.SQLException; + method public static java.sql.Driver getDriver(String) throws java.sql.SQLException; + method public static java.util.Enumeration<java.sql.Driver> getDrivers(); + method @Deprecated public static java.io.PrintStream getLogStream(); + method public static java.io.PrintWriter getLogWriter(); + method public static int getLoginTimeout(); + method public static void println(String); + method public static void registerDriver(java.sql.Driver) throws java.sql.SQLException; + method @Deprecated public static void setLogStream(java.io.PrintStream); + method public static void setLogWriter(java.io.PrintWriter); + method public static void setLoginTimeout(int); + } + + public class DriverPropertyInfo { + ctor public DriverPropertyInfo(String, String); + field public String[] choices; + field public String description; + field public String name; + field public boolean required; + field public String value; + } + + public interface NClob extends java.sql.Clob { + } + + public interface ParameterMetaData extends java.sql.Wrapper { + method public String getParameterClassName(int) throws java.sql.SQLException; + method public int getParameterCount() throws java.sql.SQLException; + method public int getParameterMode(int) throws java.sql.SQLException; + method public int getParameterType(int) throws java.sql.SQLException; + method public String getParameterTypeName(int) throws java.sql.SQLException; + method public int getPrecision(int) throws java.sql.SQLException; + method public int getScale(int) throws java.sql.SQLException; + method public int isNullable(int) throws java.sql.SQLException; + method public boolean isSigned(int) throws java.sql.SQLException; + field public static final int parameterModeIn = 1; // 0x1 + field public static final int parameterModeInOut = 2; // 0x2 + field public static final int parameterModeOut = 4; // 0x4 + field public static final int parameterModeUnknown = 0; // 0x0 + field public static final int parameterNoNulls = 0; // 0x0 + field public static final int parameterNullable = 1; // 0x1 + field public static final int parameterNullableUnknown = 2; // 0x2 + } + + public interface PreparedStatement extends java.sql.Statement { + method public void addBatch() throws java.sql.SQLException; + method public void clearParameters() throws java.sql.SQLException; + method public boolean execute() throws java.sql.SQLException; + method public java.sql.ResultSet executeQuery() throws java.sql.SQLException; + method public int executeUpdate() throws java.sql.SQLException; + method public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException; + method public java.sql.ParameterMetaData getParameterMetaData() throws java.sql.SQLException; + method public void setArray(int, java.sql.Array) throws java.sql.SQLException; + method public void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException; + method public void setAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException; + method public void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException; + method public void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException; + method public void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException; + method public void setBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException; + method public void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException; + method public void setBlob(int, java.sql.Blob) throws java.sql.SQLException; + method public void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException; + method public void setBlob(int, java.io.InputStream) throws java.sql.SQLException; + method public void setBoolean(int, boolean) throws java.sql.SQLException; + method public void setByte(int, byte) throws java.sql.SQLException; + method public void setBytes(int, byte[]) throws java.sql.SQLException; + method public void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException; + method public void setCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException; + method public void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException; + method public void setClob(int, java.sql.Clob) throws java.sql.SQLException; + method public void setClob(int, java.io.Reader, long) throws java.sql.SQLException; + method public void setClob(int, java.io.Reader) throws java.sql.SQLException; + method public void setDate(int, java.sql.Date) throws java.sql.SQLException; + method public void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException; + method public void setDouble(int, double) throws java.sql.SQLException; + method public void setFloat(int, float) throws java.sql.SQLException; + method public void setInt(int, int) throws java.sql.SQLException; + method public void setLong(int, long) throws java.sql.SQLException; + method public void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException; + method public void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException; + method public void setNClob(int, java.sql.NClob) throws java.sql.SQLException; + method public void setNClob(int, java.io.Reader, long) throws java.sql.SQLException; + method public void setNClob(int, java.io.Reader) throws java.sql.SQLException; + method public void setNString(int, String) throws java.sql.SQLException; + method public void setNull(int, int) throws java.sql.SQLException; + method public void setNull(int, int, String) throws java.sql.SQLException; + method public void setObject(int, Object, int) throws java.sql.SQLException; + method public void setObject(int, Object) throws java.sql.SQLException; + method public void setObject(int, Object, int, int) throws java.sql.SQLException; + method public void setRef(int, java.sql.Ref) throws java.sql.SQLException; + method public void setRowId(int, java.sql.RowId) throws java.sql.SQLException; + method public void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException; + method public void setShort(int, short) throws java.sql.SQLException; + method public void setString(int, String) throws java.sql.SQLException; + method public void setTime(int, java.sql.Time) throws java.sql.SQLException; + method public void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException; + method public void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException; + method public void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException; + method public void setURL(int, java.net.URL) throws java.sql.SQLException; + method @Deprecated public void setUnicodeStream(int, java.io.InputStream, int) throws java.sql.SQLException; + } + + public interface Ref { + method public String getBaseTypeName() throws java.sql.SQLException; + method public Object getObject(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public Object getObject() throws java.sql.SQLException; + method public void setObject(Object) throws java.sql.SQLException; + } + + public interface ResultSet extends java.sql.Wrapper java.lang.AutoCloseable { + method public boolean absolute(int) throws java.sql.SQLException; + method public void afterLast() throws java.sql.SQLException; + method public void beforeFirst() throws java.sql.SQLException; + method public void cancelRowUpdates() throws java.sql.SQLException; + method public void clearWarnings() throws java.sql.SQLException; + method public void close() throws java.sql.SQLException; + method public void deleteRow() throws java.sql.SQLException; + method public int findColumn(String) throws java.sql.SQLException; + method public boolean first() throws java.sql.SQLException; + method public java.sql.Array getArray(int) throws java.sql.SQLException; + method public java.sql.Array getArray(String) throws java.sql.SQLException; + method public java.io.InputStream getAsciiStream(int) throws java.sql.SQLException; + method public java.io.InputStream getAsciiStream(String) throws java.sql.SQLException; + method @Deprecated public java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException; + method @Deprecated public java.math.BigDecimal getBigDecimal(String, int) throws java.sql.SQLException; + method public java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException; + method public java.math.BigDecimal getBigDecimal(String) throws java.sql.SQLException; + method public java.io.InputStream getBinaryStream(int) throws java.sql.SQLException; + method public java.io.InputStream getBinaryStream(String) throws java.sql.SQLException; + method public java.sql.Blob getBlob(int) throws java.sql.SQLException; + method public java.sql.Blob getBlob(String) throws java.sql.SQLException; + method public boolean getBoolean(int) throws java.sql.SQLException; + method public boolean getBoolean(String) throws java.sql.SQLException; + method public byte getByte(int) throws java.sql.SQLException; + method public byte getByte(String) throws java.sql.SQLException; + method public byte[] getBytes(int) throws java.sql.SQLException; + method public byte[] getBytes(String) throws java.sql.SQLException; + method public java.io.Reader getCharacterStream(int) throws java.sql.SQLException; + method public java.io.Reader getCharacterStream(String) throws java.sql.SQLException; + method public java.sql.Clob getClob(int) throws java.sql.SQLException; + method public java.sql.Clob getClob(String) throws java.sql.SQLException; + method public int getConcurrency() throws java.sql.SQLException; + method public String getCursorName() throws java.sql.SQLException; + method public java.sql.Date getDate(int) throws java.sql.SQLException; + method public java.sql.Date getDate(String) throws java.sql.SQLException; + method public java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Date getDate(String, java.util.Calendar) throws java.sql.SQLException; + method public double getDouble(int) throws java.sql.SQLException; + method public double getDouble(String) throws java.sql.SQLException; + method public int getFetchDirection() throws java.sql.SQLException; + method public int getFetchSize() throws java.sql.SQLException; + method public float getFloat(int) throws java.sql.SQLException; + method public float getFloat(String) throws java.sql.SQLException; + method public int getHoldability() throws java.sql.SQLException; + method public int getInt(int) throws java.sql.SQLException; + method public int getInt(String) throws java.sql.SQLException; + method public long getLong(int) throws java.sql.SQLException; + method public long getLong(String) throws java.sql.SQLException; + method public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException; + method public java.io.Reader getNCharacterStream(int) throws java.sql.SQLException; + method public java.io.Reader getNCharacterStream(String) throws java.sql.SQLException; + method public java.sql.NClob getNClob(int) throws java.sql.SQLException; + method public java.sql.NClob getNClob(String) throws java.sql.SQLException; + method public String getNString(int) throws java.sql.SQLException; + method public String getNString(String) throws java.sql.SQLException; + method public Object getObject(int) throws java.sql.SQLException; + method public Object getObject(String) throws java.sql.SQLException; + method public Object getObject(int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public Object getObject(String, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public java.sql.Ref getRef(int) throws java.sql.SQLException; + method public java.sql.Ref getRef(String) throws java.sql.SQLException; + method public int getRow() throws java.sql.SQLException; + method public java.sql.RowId getRowId(int) throws java.sql.SQLException; + method public java.sql.RowId getRowId(String) throws java.sql.SQLException; + method public java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException; + method public java.sql.SQLXML getSQLXML(String) throws java.sql.SQLException; + method public short getShort(int) throws java.sql.SQLException; + method public short getShort(String) throws java.sql.SQLException; + method public java.sql.Statement getStatement() throws java.sql.SQLException; + method public String getString(int) throws java.sql.SQLException; + method public String getString(String) throws java.sql.SQLException; + method public java.sql.Time getTime(int) throws java.sql.SQLException; + method public java.sql.Time getTime(String) throws java.sql.SQLException; + method public java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Time getTime(String, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(String) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException; + method public java.sql.Timestamp getTimestamp(String, java.util.Calendar) throws java.sql.SQLException; + method public int getType() throws java.sql.SQLException; + method public java.net.URL getURL(int) throws java.sql.SQLException; + method public java.net.URL getURL(String) throws java.sql.SQLException; + method @Deprecated public java.io.InputStream getUnicodeStream(int) throws java.sql.SQLException; + method @Deprecated public java.io.InputStream getUnicodeStream(String) throws java.sql.SQLException; + method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException; + method public void insertRow() throws java.sql.SQLException; + method public boolean isAfterLast() throws java.sql.SQLException; + method public boolean isBeforeFirst() throws java.sql.SQLException; + method public boolean isClosed() throws java.sql.SQLException; + method public boolean isFirst() throws java.sql.SQLException; + method public boolean isLast() throws java.sql.SQLException; + method public boolean last() throws java.sql.SQLException; + method public void moveToCurrentRow() throws java.sql.SQLException; + method public void moveToInsertRow() throws java.sql.SQLException; + method public boolean next() throws java.sql.SQLException; + method public boolean previous() throws java.sql.SQLException; + method public void refreshRow() throws java.sql.SQLException; + method public boolean relative(int) throws java.sql.SQLException; + method public boolean rowDeleted() throws java.sql.SQLException; + method public boolean rowInserted() throws java.sql.SQLException; + method public boolean rowUpdated() throws java.sql.SQLException; + method public void setFetchDirection(int) throws java.sql.SQLException; + method public void setFetchSize(int) throws java.sql.SQLException; + method public void updateArray(int, java.sql.Array) throws java.sql.SQLException; + method public void updateArray(String, java.sql.Array) throws java.sql.SQLException; + method public void updateAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException; + method public void updateAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException; + method public void updateAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException; + method public void updateAsciiStream(String, java.io.InputStream, long) throws java.sql.SQLException; + method public void updateAsciiStream(int, java.io.InputStream) throws java.sql.SQLException; + method public void updateAsciiStream(String, java.io.InputStream) throws java.sql.SQLException; + method public void updateBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException; + method public void updateBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException; + method public void updateBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException; + method public void updateBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException; + method public void updateBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException; + method public void updateBinaryStream(String, java.io.InputStream, long) throws java.sql.SQLException; + method public void updateBinaryStream(int, java.io.InputStream) throws java.sql.SQLException; + method public void updateBinaryStream(String, java.io.InputStream) throws java.sql.SQLException; + method public void updateBlob(int, java.sql.Blob) throws java.sql.SQLException; + method public void updateBlob(String, java.sql.Blob) throws java.sql.SQLException; + method public void updateBlob(int, java.io.InputStream, long) throws java.sql.SQLException; + method public void updateBlob(String, java.io.InputStream, long) throws java.sql.SQLException; + method public void updateBlob(int, java.io.InputStream) throws java.sql.SQLException; + method public void updateBlob(String, java.io.InputStream) throws java.sql.SQLException; + method public void updateBoolean(int, boolean) throws java.sql.SQLException; + method public void updateBoolean(String, boolean) throws java.sql.SQLException; + method public void updateByte(int, byte) throws java.sql.SQLException; + method public void updateByte(String, byte) throws java.sql.SQLException; + method public void updateBytes(int, byte[]) throws java.sql.SQLException; + method public void updateBytes(String, byte[]) throws java.sql.SQLException; + method public void updateCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException; + method public void updateCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException; + method public void updateCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException; + method public void updateCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException; + method public void updateCharacterStream(int, java.io.Reader) throws java.sql.SQLException; + method public void updateCharacterStream(String, java.io.Reader) throws java.sql.SQLException; + method public void updateClob(int, java.sql.Clob) throws java.sql.SQLException; + method public void updateClob(String, java.sql.Clob) throws java.sql.SQLException; + method public void updateClob(int, java.io.Reader, long) throws java.sql.SQLException; + method public void updateClob(String, java.io.Reader, long) throws java.sql.SQLException; + method public void updateClob(int, java.io.Reader) throws java.sql.SQLException; + method public void updateClob(String, java.io.Reader) throws java.sql.SQLException; + method public void updateDate(int, java.sql.Date) throws java.sql.SQLException; + method public void updateDate(String, java.sql.Date) throws java.sql.SQLException; + method public void updateDouble(int, double) throws java.sql.SQLException; + method public void updateDouble(String, double) throws java.sql.SQLException; + method public void updateFloat(int, float) throws java.sql.SQLException; + method public void updateFloat(String, float) throws java.sql.SQLException; + method public void updateInt(int, int) throws java.sql.SQLException; + method public void updateInt(String, int) throws java.sql.SQLException; + method public void updateLong(int, long) throws java.sql.SQLException; + method public void updateLong(String, long) throws java.sql.SQLException; + method public void updateNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException; + method public void updateNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException; + method public void updateNCharacterStream(int, java.io.Reader) throws java.sql.SQLException; + method public void updateNCharacterStream(String, java.io.Reader) throws java.sql.SQLException; + method public void updateNClob(int, java.sql.NClob) throws java.sql.SQLException; + method public void updateNClob(String, java.sql.NClob) throws java.sql.SQLException; + method public void updateNClob(int, java.io.Reader, long) throws java.sql.SQLException; + method public void updateNClob(String, java.io.Reader, long) throws java.sql.SQLException; + method public void updateNClob(int, java.io.Reader) throws java.sql.SQLException; + method public void updateNClob(String, java.io.Reader) throws java.sql.SQLException; + method public void updateNString(int, String) throws java.sql.SQLException; + method public void updateNString(String, String) throws java.sql.SQLException; + method public void updateNull(int) throws java.sql.SQLException; + method public void updateNull(String) throws java.sql.SQLException; + method public void updateObject(int, Object, int) throws java.sql.SQLException; + method public void updateObject(int, Object) throws java.sql.SQLException; + method public void updateObject(String, Object, int) throws java.sql.SQLException; + method public void updateObject(String, Object) throws java.sql.SQLException; + method public void updateRef(int, java.sql.Ref) throws java.sql.SQLException; + method public void updateRef(String, java.sql.Ref) throws java.sql.SQLException; + method public void updateRow() throws java.sql.SQLException; + method public void updateRowId(int, java.sql.RowId) throws java.sql.SQLException; + method public void updateRowId(String, java.sql.RowId) throws java.sql.SQLException; + method public void updateSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException; + method public void updateSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException; + method public void updateShort(int, short) throws java.sql.SQLException; + method public void updateShort(String, short) throws java.sql.SQLException; + method public void updateString(int, String) throws java.sql.SQLException; + method public void updateString(String, String) throws java.sql.SQLException; + method public void updateTime(int, java.sql.Time) throws java.sql.SQLException; + method public void updateTime(String, java.sql.Time) throws java.sql.SQLException; + method public void updateTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException; + method public void updateTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException; + method public boolean wasNull() throws java.sql.SQLException; + field public static final int CLOSE_CURSORS_AT_COMMIT = 2; // 0x2 + field public static final int CONCUR_READ_ONLY = 1007; // 0x3ef + field public static final int CONCUR_UPDATABLE = 1008; // 0x3f0 + field public static final int FETCH_FORWARD = 1000; // 0x3e8 + field public static final int FETCH_REVERSE = 1001; // 0x3e9 + field public static final int FETCH_UNKNOWN = 1002; // 0x3ea + field public static final int HOLD_CURSORS_OVER_COMMIT = 1; // 0x1 + field public static final int TYPE_FORWARD_ONLY = 1003; // 0x3eb + field public static final int TYPE_SCROLL_INSENSITIVE = 1004; // 0x3ec + field public static final int TYPE_SCROLL_SENSITIVE = 1005; // 0x3ed + } + + public interface ResultSetMetaData extends java.sql.Wrapper { + method public String getCatalogName(int) throws java.sql.SQLException; + method public String getColumnClassName(int) throws java.sql.SQLException; + method public int getColumnCount() throws java.sql.SQLException; + method public int getColumnDisplaySize(int) throws java.sql.SQLException; + method public String getColumnLabel(int) throws java.sql.SQLException; + method public String getColumnName(int) throws java.sql.SQLException; + method public int getColumnType(int) throws java.sql.SQLException; + method public String getColumnTypeName(int) throws java.sql.SQLException; + method public int getPrecision(int) throws java.sql.SQLException; + method public int getScale(int) throws java.sql.SQLException; + method public String getSchemaName(int) throws java.sql.SQLException; + method public String getTableName(int) throws java.sql.SQLException; + method public boolean isAutoIncrement(int) throws java.sql.SQLException; + method public boolean isCaseSensitive(int) throws java.sql.SQLException; + method public boolean isCurrency(int) throws java.sql.SQLException; + method public boolean isDefinitelyWritable(int) throws java.sql.SQLException; + method public int isNullable(int) throws java.sql.SQLException; + method public boolean isReadOnly(int) throws java.sql.SQLException; + method public boolean isSearchable(int) throws java.sql.SQLException; + method public boolean isSigned(int) throws java.sql.SQLException; + method public boolean isWritable(int) throws java.sql.SQLException; + field public static final int columnNoNulls = 0; // 0x0 + field public static final int columnNullable = 1; // 0x1 + field public static final int columnNullableUnknown = 2; // 0x2 + } + + public interface RowId { + method public boolean equals(Object); + method public byte[] getBytes(); + method public int hashCode(); + method public String toString(); + } + + public enum RowIdLifetime { + enum_constant public static final java.sql.RowIdLifetime ROWID_UNSUPPORTED; + enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_FOREVER; + enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_OTHER; + enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_SESSION; + enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_TRANSACTION; + } + + public class SQLClientInfoException extends java.sql.SQLException { + ctor public SQLClientInfoException(); + ctor public SQLClientInfoException(java.util.Map<java.lang.String,java.sql.ClientInfoStatus>); + ctor public SQLClientInfoException(java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable); + ctor public SQLClientInfoException(String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>); + ctor public SQLClientInfoException(String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable); + ctor public SQLClientInfoException(String, String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>); + ctor public SQLClientInfoException(String, String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable); + ctor public SQLClientInfoException(String, String, int, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>); + ctor public SQLClientInfoException(String, String, int, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable); + method public java.util.Map<java.lang.String,java.sql.ClientInfoStatus> getFailedProperties(); + } + + public interface SQLData { + method public String getSQLTypeName() throws java.sql.SQLException; + method public void readSQL(java.sql.SQLInput, String) throws java.sql.SQLException; + method public void writeSQL(java.sql.SQLOutput) throws java.sql.SQLException; + } + + public class SQLDataException extends java.sql.SQLNonTransientException { + ctor public SQLDataException(); + ctor public SQLDataException(String); + ctor public SQLDataException(String, String); + ctor public SQLDataException(String, String, int); + ctor public SQLDataException(Throwable); + ctor public SQLDataException(String, Throwable); + ctor public SQLDataException(String, String, Throwable); + ctor public SQLDataException(String, String, int, Throwable); + } + + public class SQLException extends java.lang.Exception implements java.lang.Iterable<java.lang.Throwable> { + ctor public SQLException(String, String, int); + ctor public SQLException(String, String); + ctor public SQLException(String); + ctor public SQLException(); + ctor public SQLException(Throwable); + ctor public SQLException(String, Throwable); + ctor public SQLException(String, String, Throwable); + ctor public SQLException(String, String, int, Throwable); + method public int getErrorCode(); + method public java.sql.SQLException getNextException(); + method public String getSQLState(); + method public java.util.Iterator<java.lang.Throwable> iterator(); + method public void setNextException(java.sql.SQLException); + } + + public class SQLFeatureNotSupportedException extends java.sql.SQLNonTransientException { + ctor public SQLFeatureNotSupportedException(); + ctor public SQLFeatureNotSupportedException(String); + ctor public SQLFeatureNotSupportedException(String, String); + ctor public SQLFeatureNotSupportedException(String, String, int); + ctor public SQLFeatureNotSupportedException(Throwable); + ctor public SQLFeatureNotSupportedException(String, Throwable); + ctor public SQLFeatureNotSupportedException(String, String, Throwable); + ctor public SQLFeatureNotSupportedException(String, String, int, Throwable); + } + + public interface SQLInput { + method public java.sql.Array readArray() throws java.sql.SQLException; + method public java.io.InputStream readAsciiStream() throws java.sql.SQLException; + method public java.math.BigDecimal readBigDecimal() throws java.sql.SQLException; + method public java.io.InputStream readBinaryStream() throws java.sql.SQLException; + method public java.sql.Blob readBlob() throws java.sql.SQLException; + method public boolean readBoolean() throws java.sql.SQLException; + method public byte readByte() throws java.sql.SQLException; + method public byte[] readBytes() throws java.sql.SQLException; + method public java.io.Reader readCharacterStream() throws java.sql.SQLException; + method public java.sql.Clob readClob() throws java.sql.SQLException; + method public java.sql.Date readDate() throws java.sql.SQLException; + method public double readDouble() throws java.sql.SQLException; + method public float readFloat() throws java.sql.SQLException; + method public int readInt() throws java.sql.SQLException; + method public long readLong() throws java.sql.SQLException; + method public java.sql.NClob readNClob() throws java.sql.SQLException; + method public String readNString() throws java.sql.SQLException; + method public Object readObject() throws java.sql.SQLException; + method public java.sql.Ref readRef() throws java.sql.SQLException; + method public java.sql.RowId readRowId() throws java.sql.SQLException; + method public java.sql.SQLXML readSQLXML() throws java.sql.SQLException; + method public short readShort() throws java.sql.SQLException; + method public String readString() throws java.sql.SQLException; + method public java.sql.Time readTime() throws java.sql.SQLException; + method public java.sql.Timestamp readTimestamp() throws java.sql.SQLException; + method public java.net.URL readURL() throws java.sql.SQLException; + method public boolean wasNull() throws java.sql.SQLException; + } + + public class SQLIntegrityConstraintViolationException extends java.sql.SQLNonTransientException { + ctor public SQLIntegrityConstraintViolationException(); + ctor public SQLIntegrityConstraintViolationException(String); + ctor public SQLIntegrityConstraintViolationException(String, String); + ctor public SQLIntegrityConstraintViolationException(String, String, int); + ctor public SQLIntegrityConstraintViolationException(Throwable); + ctor public SQLIntegrityConstraintViolationException(String, Throwable); + ctor public SQLIntegrityConstraintViolationException(String, String, Throwable); + ctor public SQLIntegrityConstraintViolationException(String, String, int, Throwable); + } + + public class SQLInvalidAuthorizationSpecException extends java.sql.SQLNonTransientException { + ctor public SQLInvalidAuthorizationSpecException(); + ctor public SQLInvalidAuthorizationSpecException(String); + ctor public SQLInvalidAuthorizationSpecException(String, String); + ctor public SQLInvalidAuthorizationSpecException(String, String, int); + ctor public SQLInvalidAuthorizationSpecException(Throwable); + ctor public SQLInvalidAuthorizationSpecException(String, Throwable); + ctor public SQLInvalidAuthorizationSpecException(String, String, Throwable); + ctor public SQLInvalidAuthorizationSpecException(String, String, int, Throwable); + } + + public class SQLNonTransientConnectionException extends java.sql.SQLNonTransientException { + ctor public SQLNonTransientConnectionException(); + ctor public SQLNonTransientConnectionException(String); + ctor public SQLNonTransientConnectionException(String, String); + ctor public SQLNonTransientConnectionException(String, String, int); + ctor public SQLNonTransientConnectionException(Throwable); + ctor public SQLNonTransientConnectionException(String, Throwable); + ctor public SQLNonTransientConnectionException(String, String, Throwable); + ctor public SQLNonTransientConnectionException(String, String, int, Throwable); + } + + public class SQLNonTransientException extends java.sql.SQLException { + ctor public SQLNonTransientException(); + ctor public SQLNonTransientException(String); + ctor public SQLNonTransientException(String, String); + ctor public SQLNonTransientException(String, String, int); + ctor public SQLNonTransientException(Throwable); + ctor public SQLNonTransientException(String, Throwable); + ctor public SQLNonTransientException(String, String, Throwable); + ctor public SQLNonTransientException(String, String, int, Throwable); + } + + public interface SQLOutput { + method public void writeArray(java.sql.Array) throws java.sql.SQLException; + method public void writeAsciiStream(java.io.InputStream) throws java.sql.SQLException; + method public void writeBigDecimal(java.math.BigDecimal) throws java.sql.SQLException; + method public void writeBinaryStream(java.io.InputStream) throws java.sql.SQLException; + method public void writeBlob(java.sql.Blob) throws java.sql.SQLException; + method public void writeBoolean(boolean) throws java.sql.SQLException; + method public void writeByte(byte) throws java.sql.SQLException; + method public void writeBytes(byte[]) throws java.sql.SQLException; + method public void writeCharacterStream(java.io.Reader) throws java.sql.SQLException; + method public void writeClob(java.sql.Clob) throws java.sql.SQLException; + method public void writeDate(java.sql.Date) throws java.sql.SQLException; + method public void writeDouble(double) throws java.sql.SQLException; + method public void writeFloat(float) throws java.sql.SQLException; + method public void writeInt(int) throws java.sql.SQLException; + method public void writeLong(long) throws java.sql.SQLException; + method public void writeNClob(java.sql.NClob) throws java.sql.SQLException; + method public void writeNString(String) throws java.sql.SQLException; + method public void writeObject(java.sql.SQLData) throws java.sql.SQLException; + method public void writeRef(java.sql.Ref) throws java.sql.SQLException; + method public void writeRowId(java.sql.RowId) throws java.sql.SQLException; + method public void writeSQLXML(java.sql.SQLXML) throws java.sql.SQLException; + method public void writeShort(short) throws java.sql.SQLException; + method public void writeString(String) throws java.sql.SQLException; + method public void writeStruct(java.sql.Struct) throws java.sql.SQLException; + method public void writeTime(java.sql.Time) throws java.sql.SQLException; + method public void writeTimestamp(java.sql.Timestamp) throws java.sql.SQLException; + method public void writeURL(java.net.URL) throws java.sql.SQLException; + } + + public final class SQLPermission extends java.security.BasicPermission { + ctor public SQLPermission(String); + ctor public SQLPermission(String, String); + } + + public class SQLRecoverableException extends java.sql.SQLException { + ctor public SQLRecoverableException(); + ctor public SQLRecoverableException(String); + ctor public SQLRecoverableException(String, String); + ctor public SQLRecoverableException(String, String, int); + ctor public SQLRecoverableException(Throwable); + ctor public SQLRecoverableException(String, Throwable); + ctor public SQLRecoverableException(String, String, Throwable); + ctor public SQLRecoverableException(String, String, int, Throwable); + } + + public class SQLSyntaxErrorException extends java.sql.SQLNonTransientException { + ctor public SQLSyntaxErrorException(); + ctor public SQLSyntaxErrorException(String); + ctor public SQLSyntaxErrorException(String, String); + ctor public SQLSyntaxErrorException(String, String, int); + ctor public SQLSyntaxErrorException(Throwable); + ctor public SQLSyntaxErrorException(String, Throwable); + ctor public SQLSyntaxErrorException(String, String, Throwable); + ctor public SQLSyntaxErrorException(String, String, int, Throwable); + } + + public class SQLTimeoutException extends java.sql.SQLTransientException { + ctor public SQLTimeoutException(); + ctor public SQLTimeoutException(String); + ctor public SQLTimeoutException(String, String); + ctor public SQLTimeoutException(String, String, int); + ctor public SQLTimeoutException(Throwable); + ctor public SQLTimeoutException(String, Throwable); + ctor public SQLTimeoutException(String, String, Throwable); + ctor public SQLTimeoutException(String, String, int, Throwable); + } + + public class SQLTransactionRollbackException extends java.sql.SQLTransientException { + ctor public SQLTransactionRollbackException(); + ctor public SQLTransactionRollbackException(String); + ctor public SQLTransactionRollbackException(String, String); + ctor public SQLTransactionRollbackException(String, String, int); + ctor public SQLTransactionRollbackException(Throwable); + ctor public SQLTransactionRollbackException(String, Throwable); + ctor public SQLTransactionRollbackException(String, String, Throwable); + ctor public SQLTransactionRollbackException(String, String, int, Throwable); + } + + public class SQLTransientConnectionException extends java.sql.SQLTransientException { + ctor public SQLTransientConnectionException(); + ctor public SQLTransientConnectionException(String); + ctor public SQLTransientConnectionException(String, String); + ctor public SQLTransientConnectionException(String, String, int); + ctor public SQLTransientConnectionException(Throwable); + ctor public SQLTransientConnectionException(String, Throwable); + ctor public SQLTransientConnectionException(String, String, Throwable); + ctor public SQLTransientConnectionException(String, String, int, Throwable); + } + + public class SQLTransientException extends java.sql.SQLException { + ctor public SQLTransientException(); + ctor public SQLTransientException(String); + ctor public SQLTransientException(String, String); + ctor public SQLTransientException(String, String, int); + ctor public SQLTransientException(Throwable); + ctor public SQLTransientException(String, Throwable); + ctor public SQLTransientException(String, String, Throwable); + ctor public SQLTransientException(String, String, int, Throwable); + } + + public class SQLWarning extends java.sql.SQLException { + ctor public SQLWarning(String, String, int); + ctor public SQLWarning(String, String); + ctor public SQLWarning(String); + ctor public SQLWarning(); + ctor public SQLWarning(Throwable); + ctor public SQLWarning(String, Throwable); + ctor public SQLWarning(String, String, Throwable); + ctor public SQLWarning(String, String, int, Throwable); + method public java.sql.SQLWarning getNextWarning(); + method public void setNextWarning(java.sql.SQLWarning); + } + + public interface SQLXML { + method public void free() throws java.sql.SQLException; + method public java.io.InputStream getBinaryStream() throws java.sql.SQLException; + method public java.io.Reader getCharacterStream() throws java.sql.SQLException; + method public <T extends javax.xml.transform.Source> T getSource(Class<T>) throws java.sql.SQLException; + method public String getString() throws java.sql.SQLException; + method public java.io.OutputStream setBinaryStream() throws java.sql.SQLException; + method public java.io.Writer setCharacterStream() throws java.sql.SQLException; + method public <T extends javax.xml.transform.Result> T setResult(Class<T>) throws java.sql.SQLException; + method public void setString(String) throws java.sql.SQLException; + } + + public interface Savepoint { + method public int getSavepointId() throws java.sql.SQLException; + method public String getSavepointName() throws java.sql.SQLException; + } + + public interface Statement extends java.sql.Wrapper java.lang.AutoCloseable { + method public void addBatch(String) throws java.sql.SQLException; + method public void cancel() throws java.sql.SQLException; + method public void clearBatch() throws java.sql.SQLException; + method public void clearWarnings() throws java.sql.SQLException; + method public void close() throws java.sql.SQLException; + method public boolean execute(String) throws java.sql.SQLException; + method public boolean execute(String, int) throws java.sql.SQLException; + method public boolean execute(String, int[]) throws java.sql.SQLException; + method public boolean execute(String, String[]) throws java.sql.SQLException; + method public int[] executeBatch() throws java.sql.SQLException; + method public java.sql.ResultSet executeQuery(String) throws java.sql.SQLException; + method public int executeUpdate(String) throws java.sql.SQLException; + method public int executeUpdate(String, int) throws java.sql.SQLException; + method public int executeUpdate(String, int[]) throws java.sql.SQLException; + method public int executeUpdate(String, String[]) throws java.sql.SQLException; + method public java.sql.Connection getConnection() throws java.sql.SQLException; + method public int getFetchDirection() throws java.sql.SQLException; + method public int getFetchSize() throws java.sql.SQLException; + method public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException; + method public int getMaxFieldSize() throws java.sql.SQLException; + method public int getMaxRows() throws java.sql.SQLException; + method public boolean getMoreResults() throws java.sql.SQLException; + method public boolean getMoreResults(int) throws java.sql.SQLException; + method public int getQueryTimeout() throws java.sql.SQLException; + method public java.sql.ResultSet getResultSet() throws java.sql.SQLException; + method public int getResultSetConcurrency() throws java.sql.SQLException; + method public int getResultSetHoldability() throws java.sql.SQLException; + method public int getResultSetType() throws java.sql.SQLException; + method public int getUpdateCount() throws java.sql.SQLException; + method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException; + method public boolean isClosed() throws java.sql.SQLException; + method public boolean isPoolable() throws java.sql.SQLException; + method public void setCursorName(String) throws java.sql.SQLException; + method public void setEscapeProcessing(boolean) throws java.sql.SQLException; + method public void setFetchDirection(int) throws java.sql.SQLException; + method public void setFetchSize(int) throws java.sql.SQLException; + method public void setMaxFieldSize(int) throws java.sql.SQLException; + method public void setMaxRows(int) throws java.sql.SQLException; + method public void setPoolable(boolean) throws java.sql.SQLException; + method public void setQueryTimeout(int) throws java.sql.SQLException; + field public static final int CLOSE_ALL_RESULTS = 3; // 0x3 + field public static final int CLOSE_CURRENT_RESULT = 1; // 0x1 + field public static final int EXECUTE_FAILED = -3; // 0xfffffffd + field public static final int KEEP_CURRENT_RESULT = 2; // 0x2 + field public static final int NO_GENERATED_KEYS = 2; // 0x2 + field public static final int RETURN_GENERATED_KEYS = 1; // 0x1 + field public static final int SUCCESS_NO_INFO = -2; // 0xfffffffe + } + + public interface Struct { + method public Object[] getAttributes() throws java.sql.SQLException; + method public Object[] getAttributes(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public String getSQLTypeName() throws java.sql.SQLException; + } + + public class Time extends java.util.Date { + ctor @Deprecated public Time(int, int, int); + ctor public Time(long); + method public static java.sql.Time valueOf(String); + } + + public class Timestamp extends java.util.Date { + ctor @Deprecated public Timestamp(int, int, int, int, int, int, int); + ctor public Timestamp(long); + method public boolean after(java.sql.Timestamp); + method public boolean before(java.sql.Timestamp); + method public int compareTo(java.sql.Timestamp); + method public boolean equals(java.sql.Timestamp); + method public int getNanos(); + method public void setNanos(int); + method public static java.sql.Timestamp valueOf(String); + } + + public class Types { + field public static final int ARRAY = 2003; // 0x7d3 + field public static final int BIGINT = -5; // 0xfffffffb + field public static final int BINARY = -2; // 0xfffffffe + field public static final int BIT = -7; // 0xfffffff9 + field public static final int BLOB = 2004; // 0x7d4 + field public static final int BOOLEAN = 16; // 0x10 + field public static final int CHAR = 1; // 0x1 + field public static final int CLOB = 2005; // 0x7d5 + field public static final int DATALINK = 70; // 0x46 + field public static final int DATE = 91; // 0x5b + field public static final int DECIMAL = 3; // 0x3 + field public static final int DISTINCT = 2001; // 0x7d1 + field public static final int DOUBLE = 8; // 0x8 + field public static final int FLOAT = 6; // 0x6 + field public static final int INTEGER = 4; // 0x4 + field public static final int JAVA_OBJECT = 2000; // 0x7d0 + field public static final int LONGNVARCHAR = -16; // 0xfffffff0 + field public static final int LONGVARBINARY = -4; // 0xfffffffc + field public static final int LONGVARCHAR = -1; // 0xffffffff + field public static final int NCHAR = -15; // 0xfffffff1 + field public static final int NCLOB = 2011; // 0x7db + field public static final int NULL = 0; // 0x0 + field public static final int NUMERIC = 2; // 0x2 + field public static final int NVARCHAR = -9; // 0xfffffff7 + field public static final int OTHER = 1111; // 0x457 + field public static final int REAL = 7; // 0x7 + field public static final int REF = 2006; // 0x7d6 + field public static final int ROWID = -8; // 0xfffffff8 + field public static final int SMALLINT = 5; // 0x5 + field public static final int SQLXML = 2009; // 0x7d9 + field public static final int STRUCT = 2002; // 0x7d2 + field public static final int TIME = 92; // 0x5c + field public static final int TIMESTAMP = 93; // 0x5d + field public static final int TINYINT = -6; // 0xfffffffa + field public static final int VARBINARY = -3; // 0xfffffffd + field public static final int VARCHAR = 12; // 0xc + } + + public interface Wrapper { + method public boolean isWrapperFor(Class<?>) throws java.sql.SQLException; + method public <T> T unwrap(Class<T>) throws java.sql.SQLException; + } + +} + +package java.text { + + public class Annotation { + ctor public Annotation(Object); + method public Object getValue(); + } + + public interface AttributedCharacterIterator extends java.text.CharacterIterator { + method public java.util.Set<java.text.AttributedCharacterIterator.Attribute> getAllAttributeKeys(); + method public Object getAttribute(java.text.AttributedCharacterIterator.Attribute); + method public java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> getAttributes(); + method public int getRunLimit(); + method public int getRunLimit(java.text.AttributedCharacterIterator.Attribute); + method public int getRunLimit(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>); + method public int getRunStart(); + method public int getRunStart(java.text.AttributedCharacterIterator.Attribute); + method public int getRunStart(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>); + } + + public static class AttributedCharacterIterator.Attribute implements java.io.Serializable { + ctor protected AttributedCharacterIterator.Attribute(String); + method public final boolean equals(Object); + method protected String getName(); + method public final int hashCode(); + method protected Object readResolve() throws java.io.InvalidObjectException; + field public static final java.text.AttributedCharacterIterator.Attribute INPUT_METHOD_SEGMENT; + field public static final java.text.AttributedCharacterIterator.Attribute LANGUAGE; + field public static final java.text.AttributedCharacterIterator.Attribute READING; + } + + public class AttributedString { + ctor public AttributedString(String); + ctor public AttributedString(String, java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute,?>); + ctor public AttributedString(java.text.AttributedCharacterIterator); + ctor public AttributedString(java.text.AttributedCharacterIterator, int, int); + ctor public AttributedString(java.text.AttributedCharacterIterator, int, int, java.text.AttributedCharacterIterator.Attribute[]); + method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, Object); + method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, Object, int, int); + method public void addAttributes(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute,?>, int, int); + method public java.text.AttributedCharacterIterator getIterator(); + method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[]); + method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[], int, int); + } + + public final class Bidi { + ctor public Bidi(String, int); + ctor public Bidi(java.text.AttributedCharacterIterator); + ctor public Bidi(char[], int, byte[], int, int, int); + method public boolean baseIsLeftToRight(); + method public java.text.Bidi createLineBidi(int, int); + method public int getBaseLevel(); + method public int getLength(); + method public int getLevelAt(int); + method public int getRunCount(); + method public int getRunLevel(int); + method public int getRunLimit(int); + method public int getRunStart(int); + method public boolean isLeftToRight(); + method public boolean isMixed(); + method public boolean isRightToLeft(); + method public static void reorderVisually(byte[], int, Object[], int, int); + method public static boolean requiresBidi(char[], int, int); + field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = -2; // 0xfffffffe + field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = -1; // 0xffffffff + field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0 + field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1 + } + + public abstract class BreakIterator implements java.lang.Cloneable { + ctor protected BreakIterator(); + method public Object clone(); + method public abstract int current(); + method public abstract int first(); + method public abstract int following(int); + method public static java.util.Locale[] getAvailableLocales(); + method public static java.text.BreakIterator getCharacterInstance(); + method public static java.text.BreakIterator getCharacterInstance(java.util.Locale); + method public static java.text.BreakIterator getLineInstance(); + method public static java.text.BreakIterator getLineInstance(java.util.Locale); + method public static java.text.BreakIterator getSentenceInstance(); + method public static java.text.BreakIterator getSentenceInstance(java.util.Locale); + method public abstract java.text.CharacterIterator getText(); + method public static java.text.BreakIterator getWordInstance(); + method public static java.text.BreakIterator getWordInstance(java.util.Locale); + method public boolean isBoundary(int); + method public abstract int last(); + method public abstract int next(int); + method public abstract int next(); + method public int preceding(int); + method public abstract int previous(); + method public void setText(String); + method public abstract void setText(java.text.CharacterIterator); + field public static final int DONE = -1; // 0xffffffff + } + + public interface CharacterIterator extends java.lang.Cloneable { + method public Object clone(); + method public char current(); + method public char first(); + method public int getBeginIndex(); + method public int getEndIndex(); + method public int getIndex(); + method public char last(); + method public char next(); + method public char previous(); + method public char setIndex(int); + field public static final char DONE = 65535; // 0xffff '\uffff' + } + + public class ChoiceFormat extends java.text.NumberFormat { + ctor public ChoiceFormat(String); + ctor public ChoiceFormat(double[], String[]); + method public void applyPattern(String); + method public StringBuffer format(long, StringBuffer, java.text.FieldPosition); + method public StringBuffer format(double, StringBuffer, java.text.FieldPosition); + method public Object[] getFormats(); + method public double[] getLimits(); + method public static final double nextDouble(double); + method public static double nextDouble(double, boolean); + method public Number parse(String, java.text.ParsePosition); + method public static final double previousDouble(double); + method public void setChoices(double[], String[]); + method public String toPattern(); + } + + public final class CollationElementIterator { + method public int getMaxExpansion(int); + method public int getOffset(); + method public int next(); + method public int previous(); + method public static int primaryOrder(int); + method public void reset(); + method public static short secondaryOrder(int); + method public void setOffset(int); + method public void setText(String); + method public void setText(java.text.CharacterIterator); + method public static short tertiaryOrder(int); + field public static final int NULLORDER = -1; // 0xffffffff + } + + public abstract class CollationKey implements java.lang.Comparable<java.text.CollationKey> { + ctor protected CollationKey(String); + method public abstract int compareTo(java.text.CollationKey); + method public String getSourceString(); + method public abstract byte[] toByteArray(); + } + + public abstract class Collator implements java.lang.Cloneable java.util.Comparator<java.lang.Object> { + ctor protected Collator(); + method public Object clone(); + method public abstract int compare(String, String); + method public int compare(Object, Object); + method public boolean equals(String, String); + method public static java.util.Locale[] getAvailableLocales(); + method public abstract java.text.CollationKey getCollationKey(String); + method public int getDecomposition(); + method public static java.text.Collator getInstance(); + method public static java.text.Collator getInstance(java.util.Locale); + method public int getStrength(); + method public abstract int hashCode(); + method public void setDecomposition(int); + method public void setStrength(int); + field public static final int CANONICAL_DECOMPOSITION = 1; // 0x1 + field public static final int FULL_DECOMPOSITION = 2; // 0x2 + field public static final int IDENTICAL = 3; // 0x3 + field public static final int NO_DECOMPOSITION = 0; // 0x0 + field public static final int PRIMARY = 0; // 0x0 + field public static final int SECONDARY = 1; // 0x1 + field public static final int TERTIARY = 2; // 0x2 + } + + public abstract class DateFormat extends java.text.Format { + ctor protected DateFormat(); + method @NonNull public final StringBuffer format(@NonNull Object, @NonNull StringBuffer, @NonNull java.text.FieldPosition); + method @NonNull public abstract StringBuffer format(@NonNull java.util.Date, @NonNull StringBuffer, @NonNull java.text.FieldPosition); + method @NonNull public final String format(@NonNull java.util.Date); + method @NonNull public static java.util.Locale[] getAvailableLocales(); + method @NonNull public java.util.Calendar getCalendar(); + method @NonNull public static final java.text.DateFormat getDateInstance(); + method @NonNull public static final java.text.DateFormat getDateInstance(int); + method @NonNull public static final java.text.DateFormat getDateInstance(int, @NonNull java.util.Locale); + method @NonNull public static final java.text.DateFormat getDateTimeInstance(); + method @NonNull public static final java.text.DateFormat getDateTimeInstance(int, int); + method @NonNull public static final java.text.DateFormat getDateTimeInstance(int, int, @NonNull java.util.Locale); + method @NonNull public static final java.text.DateFormat getInstance(); + method @NonNull public java.text.NumberFormat getNumberFormat(); + method @NonNull public static final java.text.DateFormat getTimeInstance(); + method @NonNull public static final java.text.DateFormat getTimeInstance(int); + method @NonNull public static final java.text.DateFormat getTimeInstance(int, @NonNull java.util.Locale); + method @NonNull public java.util.TimeZone getTimeZone(); + method public boolean isLenient(); + method @Nullable public java.util.Date parse(@NonNull String) throws java.text.ParseException; + method @Nullable public abstract java.util.Date parse(@NonNull String, @NonNull java.text.ParsePosition); + method @Nullable public Object parseObject(@NonNull String, @NonNull java.text.ParsePosition); + method public void setCalendar(@NonNull java.util.Calendar); + method public void setLenient(boolean); + method public void setNumberFormat(@NonNull java.text.NumberFormat); + method public void setTimeZone(@NonNull java.util.TimeZone); + field public static final int AM_PM_FIELD = 14; // 0xe + field public static final int DATE_FIELD = 3; // 0x3 + field public static final int DAY_OF_WEEK_FIELD = 9; // 0x9 + field public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11; // 0xb + field public static final int DAY_OF_YEAR_FIELD = 10; // 0xa + field public static final int DEFAULT = 2; // 0x2 + field public static final int ERA_FIELD = 0; // 0x0 + field public static final int FULL = 0; // 0x0 + field public static final int HOUR0_FIELD = 16; // 0x10 + field public static final int HOUR1_FIELD = 15; // 0xf + field public static final int HOUR_OF_DAY0_FIELD = 5; // 0x5 + field public static final int HOUR_OF_DAY1_FIELD = 4; // 0x4 + field public static final int LONG = 1; // 0x1 + field public static final int MEDIUM = 2; // 0x2 + field public static final int MILLISECOND_FIELD = 8; // 0x8 + field public static final int MINUTE_FIELD = 6; // 0x6 + field public static final int MONTH_FIELD = 2; // 0x2 + field public static final int SECOND_FIELD = 7; // 0x7 + field public static final int SHORT = 3; // 0x3 + field public static final int TIMEZONE_FIELD = 17; // 0x11 + field public static final int WEEK_OF_MONTH_FIELD = 13; // 0xd + field public static final int WEEK_OF_YEAR_FIELD = 12; // 0xc + field public static final int YEAR_FIELD = 1; // 0x1 + field @NonNull protected java.util.Calendar calendar; + field @NonNull protected java.text.NumberFormat numberFormat; + } + + public static class DateFormat.Field extends java.text.Format.Field { + ctor protected DateFormat.Field(@NonNull String, int); + method public int getCalendarField(); + method @NonNull public static java.text.DateFormat.Field ofCalendarField(int); + field @NonNull public static final java.text.DateFormat.Field AM_PM; + field @NonNull public static final java.text.DateFormat.Field DAY_OF_MONTH; + field @NonNull public static final java.text.DateFormat.Field DAY_OF_WEEK; + field @NonNull public static final java.text.DateFormat.Field DAY_OF_WEEK_IN_MONTH; + field @NonNull public static final java.text.DateFormat.Field DAY_OF_YEAR; + field @NonNull public static final java.text.DateFormat.Field ERA; + field @NonNull public static final java.text.DateFormat.Field HOUR0; + field @NonNull public static final java.text.DateFormat.Field HOUR1; + field @NonNull public static final java.text.DateFormat.Field HOUR_OF_DAY0; + field @NonNull public static final java.text.DateFormat.Field HOUR_OF_DAY1; + field @NonNull public static final java.text.DateFormat.Field MILLISECOND; + field @NonNull public static final java.text.DateFormat.Field MINUTE; + field @NonNull public static final java.text.DateFormat.Field MONTH; + field @NonNull public static final java.text.DateFormat.Field SECOND; + field @NonNull public static final java.text.DateFormat.Field TIME_ZONE; + field @NonNull public static final java.text.DateFormat.Field WEEK_OF_MONTH; + field @NonNull public static final java.text.DateFormat.Field WEEK_OF_YEAR; + field @NonNull public static final java.text.DateFormat.Field YEAR; + } + + public class DateFormatSymbols implements java.lang.Cloneable java.io.Serializable { + ctor public DateFormatSymbols(); + ctor public DateFormatSymbols(java.util.Locale); + method public Object clone(); + method public String[] getAmPmStrings(); + method public static java.util.Locale[] getAvailableLocales(); + method public String[] getEras(); + method public static final java.text.DateFormatSymbols getInstance(); + method public static final java.text.DateFormatSymbols getInstance(java.util.Locale); + method public String getLocalPatternChars(); + method public String[] getMonths(); + method public String[] getShortMonths(); + method public String[] getShortWeekdays(); + method public String[] getWeekdays(); + method public String[][] getZoneStrings(); + method public void setAmPmStrings(String[]); + method public void setEras(String[]); + method public void setLocalPatternChars(String); + method public void setMonths(String[]); + method public void setShortMonths(String[]); + method public void setShortWeekdays(String[]); + method public void setWeekdays(String[]); + method public void setZoneStrings(String[][]); + } + + public class DecimalFormat extends java.text.NumberFormat { + ctor public DecimalFormat(); + ctor public DecimalFormat(String); + ctor public DecimalFormat(String, java.text.DecimalFormatSymbols); + method public void applyLocalizedPattern(String); + method public void applyPattern(String); + method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition); + method public StringBuffer format(double, StringBuffer, java.text.FieldPosition); + method public StringBuffer format(long, StringBuffer, java.text.FieldPosition); + method public java.text.DecimalFormatSymbols getDecimalFormatSymbols(); + method public int getGroupingSize(); + method public int getMultiplier(); + method public String getNegativePrefix(); + method public String getNegativeSuffix(); + method public String getPositivePrefix(); + method public String getPositiveSuffix(); + method public boolean isDecimalSeparatorAlwaysShown(); + method public boolean isParseBigDecimal(); + method public Number parse(String, java.text.ParsePosition); + method public void setDecimalFormatSymbols(java.text.DecimalFormatSymbols); + method public void setDecimalSeparatorAlwaysShown(boolean); + method public void setGroupingSize(int); + method public void setMultiplier(int); + method public void setNegativePrefix(String); + method public void setNegativeSuffix(String); + method public void setParseBigDecimal(boolean); + method public void setPositivePrefix(String); + method public void setPositiveSuffix(String); + method public String toLocalizedPattern(); + method public String toPattern(); + } + + public class DecimalFormatSymbols implements java.lang.Cloneable java.io.Serializable { + ctor public DecimalFormatSymbols(); + ctor public DecimalFormatSymbols(java.util.Locale); + method public Object clone(); + method public static java.util.Locale[] getAvailableLocales(); + method public java.util.Currency getCurrency(); + method public String getCurrencySymbol(); + method public char getDecimalSeparator(); + method public char getDigit(); + method public String getExponentSeparator(); + method public char getGroupingSeparator(); + method public String getInfinity(); + method public static final java.text.DecimalFormatSymbols getInstance(); + method public static final java.text.DecimalFormatSymbols getInstance(java.util.Locale); + method public String getInternationalCurrencySymbol(); + method public char getMinusSign(); + method public char getMonetaryDecimalSeparator(); + method public String getNaN(); + method public char getPatternSeparator(); + method public char getPerMill(); + method public char getPercent(); + method public char getZeroDigit(); + method public void setCurrency(java.util.Currency); + method public void setCurrencySymbol(String); + method public void setDecimalSeparator(char); + method public void setDigit(char); + method public void setExponentSeparator(String); + method public void setGroupingSeparator(char); + method public void setInfinity(String); + method public void setInternationalCurrencySymbol(String); + method public void setMinusSign(char); + method public void setMonetaryDecimalSeparator(char); + method public void setNaN(String); + method public void setPatternSeparator(char); + method public void setPerMill(char); + method public void setPercent(char); + method public void setZeroDigit(char); + } + + public class FieldPosition { + ctor public FieldPosition(int); + ctor public FieldPosition(java.text.Format.Field); + ctor public FieldPosition(java.text.Format.Field, int); + method public int getBeginIndex(); + method public int getEndIndex(); + method public int getField(); + method public java.text.Format.Field getFieldAttribute(); + method public void setBeginIndex(int); + method public void setEndIndex(int); + } + + public abstract class Format implements java.lang.Cloneable java.io.Serializable { + ctor protected Format(); + method public Object clone(); + method public final String format(Object); + method public abstract StringBuffer format(Object, StringBuffer, java.text.FieldPosition); + method public java.text.AttributedCharacterIterator formatToCharacterIterator(Object); + method public abstract Object parseObject(String, java.text.ParsePosition); + method public Object parseObject(String) throws java.text.ParseException; + } + + public static class Format.Field extends java.text.AttributedCharacterIterator.Attribute { + ctor protected Format.Field(String); + } + + public class MessageFormat extends java.text.Format { + ctor public MessageFormat(String); + ctor public MessageFormat(String, java.util.Locale); + method public void applyPattern(String); + method public final StringBuffer format(Object[], StringBuffer, java.text.FieldPosition); + method public static String format(String, java.lang.Object...); + method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition); + method public java.text.Format[] getFormats(); + method public java.text.Format[] getFormatsByArgumentIndex(); + method public java.util.Locale getLocale(); + method public Object[] parse(String, java.text.ParsePosition); + method public Object[] parse(String) throws java.text.ParseException; + method public Object parseObject(String, java.text.ParsePosition); + method public void setFormat(int, java.text.Format); + method public void setFormatByArgumentIndex(int, java.text.Format); + method public void setFormats(java.text.Format[]); + method public void setFormatsByArgumentIndex(java.text.Format[]); + method public void setLocale(java.util.Locale); + method public String toPattern(); + } + + public static class MessageFormat.Field extends java.text.Format.Field { + ctor protected MessageFormat.Field(String); + field public static final java.text.MessageFormat.Field ARGUMENT; + } + + public final class Normalizer { + method public static boolean isNormalized(CharSequence, java.text.Normalizer.Form); + method public static String normalize(CharSequence, java.text.Normalizer.Form); + } + + public enum Normalizer.Form { + enum_constant public static final java.text.Normalizer.Form NFC; + enum_constant public static final java.text.Normalizer.Form NFD; + enum_constant public static final java.text.Normalizer.Form NFKC; + enum_constant public static final java.text.Normalizer.Form NFKD; + } + + public abstract class NumberFormat extends java.text.Format { + ctor protected NumberFormat(); + method @NonNull public StringBuffer format(@NonNull Object, @NonNull StringBuffer, @NonNull java.text.FieldPosition); + method @NonNull public final String format(double); + method @NonNull public final String format(long); + method @NonNull public abstract StringBuffer format(double, @NonNull StringBuffer, @NonNull java.text.FieldPosition); + method @NonNull public abstract StringBuffer format(long, @NonNull StringBuffer, @NonNull java.text.FieldPosition); + method @NonNull public static java.util.Locale[] getAvailableLocales(); + method @Nullable public java.util.Currency getCurrency(); + method @NonNull public static final java.text.NumberFormat getCurrencyInstance(); + method @NonNull public static java.text.NumberFormat getCurrencyInstance(@NonNull java.util.Locale); + method @NonNull public static final java.text.NumberFormat getInstance(); + method @NonNull public static java.text.NumberFormat getInstance(@NonNull java.util.Locale); + method @NonNull public static final java.text.NumberFormat getIntegerInstance(); + method @NonNull public static java.text.NumberFormat getIntegerInstance(@NonNull java.util.Locale); + method public int getMaximumFractionDigits(); + method public int getMaximumIntegerDigits(); + method public int getMinimumFractionDigits(); + method public int getMinimumIntegerDigits(); + method @NonNull public static final java.text.NumberFormat getNumberInstance(); + method @NonNull public static java.text.NumberFormat getNumberInstance(@NonNull java.util.Locale); + method @NonNull public static final java.text.NumberFormat getPercentInstance(); + method @NonNull public static java.text.NumberFormat getPercentInstance(@NonNull java.util.Locale); + method @NonNull public java.math.RoundingMode getRoundingMode(); + method public boolean isGroupingUsed(); + method public boolean isParseIntegerOnly(); + method @Nullable public abstract Number parse(@NonNull String, @NonNull java.text.ParsePosition); + method @Nullable public Number parse(@NonNull String) throws java.text.ParseException; + method @Nullable public final Object parseObject(@NonNull String, @NonNull java.text.ParsePosition); + method public void setCurrency(@NonNull java.util.Currency); + method public void setGroupingUsed(boolean); + method public void setMaximumFractionDigits(int); + method public void setMaximumIntegerDigits(int); + method public void setMinimumFractionDigits(int); + method public void setMinimumIntegerDigits(int); + method public void setParseIntegerOnly(boolean); + method public void setRoundingMode(@Nullable java.math.RoundingMode); + field public static final int FRACTION_FIELD = 1; // 0x1 + field public static final int INTEGER_FIELD = 0; // 0x0 + } + + public static class NumberFormat.Field extends java.text.Format.Field { + ctor protected NumberFormat.Field(@NonNull String); + field @NonNull public static final java.text.NumberFormat.Field CURRENCY; + field @NonNull public static final java.text.NumberFormat.Field DECIMAL_SEPARATOR; + field @NonNull public static final java.text.NumberFormat.Field EXPONENT; + field @NonNull public static final java.text.NumberFormat.Field EXPONENT_SIGN; + field @NonNull public static final java.text.NumberFormat.Field EXPONENT_SYMBOL; + field @NonNull public static final java.text.NumberFormat.Field FRACTION; + field @NonNull public static final java.text.NumberFormat.Field GROUPING_SEPARATOR; + field @NonNull public static final java.text.NumberFormat.Field INTEGER; + field @NonNull public static final java.text.NumberFormat.Field PERCENT; + field @NonNull public static final java.text.NumberFormat.Field PERMILLE; + field @NonNull public static final java.text.NumberFormat.Field SIGN; + } + + public class ParseException extends java.lang.Exception { + ctor public ParseException(String, int); + method public int getErrorOffset(); + } + + public class ParsePosition { + ctor public ParsePosition(int); + method public int getErrorIndex(); + method public int getIndex(); + method public void setErrorIndex(int); + method public void setIndex(int); + } + + public class RuleBasedCollator extends java.text.Collator { + ctor public RuleBasedCollator(String) throws java.text.ParseException; + method public int compare(String, String); + method public java.text.CollationElementIterator getCollationElementIterator(String); + method public java.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator); + method public java.text.CollationKey getCollationKey(String); + method public String getRules(); + } + + public class SimpleDateFormat extends java.text.DateFormat { + ctor public SimpleDateFormat(); + ctor public SimpleDateFormat(String); + ctor public SimpleDateFormat(String, java.util.Locale); + ctor public SimpleDateFormat(String, java.text.DateFormatSymbols); + method public void applyLocalizedPattern(String); + method public void applyPattern(String); + method public StringBuffer format(java.util.Date, StringBuffer, java.text.FieldPosition); + method public java.util.Date get2DigitYearStart(); + method public java.text.DateFormatSymbols getDateFormatSymbols(); + method public java.util.Date parse(String, java.text.ParsePosition); + method public void set2DigitYearStart(java.util.Date); + method public void setDateFormatSymbols(java.text.DateFormatSymbols); + method public String toLocalizedPattern(); + method public String toPattern(); + } + + public final class StringCharacterIterator implements java.text.CharacterIterator { + ctor public StringCharacterIterator(String); + ctor public StringCharacterIterator(String, int); + ctor public StringCharacterIterator(String, int, int, int); + method public Object clone(); + method public char current(); + method public char first(); + method public int getBeginIndex(); + method public int getEndIndex(); + method public int getIndex(); + method public char last(); + method public char next(); + method public char previous(); + method public char setIndex(int); + method public void setText(String); + } + +} + +package java.time { + + public abstract class Clock { + ctor protected Clock(); + method public static java.time.Clock fixed(java.time.Instant, java.time.ZoneId); + method public abstract java.time.ZoneId getZone(); + method public abstract java.time.Instant instant(); + method public long millis(); + method public static java.time.Clock offset(java.time.Clock, java.time.Duration); + method public static java.time.Clock system(java.time.ZoneId); + method public static java.time.Clock systemDefaultZone(); + method public static java.time.Clock systemUTC(); + method public static java.time.Clock tick(java.time.Clock, java.time.Duration); + method public static java.time.Clock tickMinutes(java.time.ZoneId); + method public static java.time.Clock tickSeconds(java.time.ZoneId); + method public abstract java.time.Clock withZone(java.time.ZoneId); + } + + public class DateTimeException extends java.lang.RuntimeException { + ctor public DateTimeException(String); + ctor public DateTimeException(String, Throwable); + } + + public enum DayOfWeek implements java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public static java.time.DayOfWeek from(java.time.temporal.TemporalAccessor); + method public String getDisplayName(java.time.format.TextStyle, java.util.Locale); + method public long getLong(java.time.temporal.TemporalField); + method public int getValue(); + method public boolean isSupported(java.time.temporal.TemporalField); + method public java.time.DayOfWeek minus(long); + method public static java.time.DayOfWeek of(int); + method public java.time.DayOfWeek plus(long); + enum_constant public static final java.time.DayOfWeek FRIDAY; + enum_constant public static final java.time.DayOfWeek MONDAY; + enum_constant public static final java.time.DayOfWeek SATURDAY; + enum_constant public static final java.time.DayOfWeek SUNDAY; + enum_constant public static final java.time.DayOfWeek THURSDAY; + enum_constant public static final java.time.DayOfWeek TUESDAY; + enum_constant public static final java.time.DayOfWeek WEDNESDAY; + } + + public final class Duration implements java.lang.Comparable<java.time.Duration> java.io.Serializable java.time.temporal.TemporalAmount { + method public java.time.Duration abs(); + method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal); + method public static java.time.Duration between(java.time.temporal.Temporal, java.time.temporal.Temporal); + method public int compareTo(java.time.Duration); + method public java.time.Duration dividedBy(long); + method public long dividedBy(java.time.Duration); + method public static java.time.Duration from(java.time.temporal.TemporalAmount); + method public long get(java.time.temporal.TemporalUnit); + method public int getNano(); + method public long getSeconds(); + method public java.util.List<java.time.temporal.TemporalUnit> getUnits(); + method public boolean isNegative(); + method public boolean isZero(); + method public java.time.Duration minus(java.time.Duration); + method public java.time.Duration minus(long, java.time.temporal.TemporalUnit); + method public java.time.Duration minusDays(long); + method public java.time.Duration minusHours(long); + method public java.time.Duration minusMillis(long); + method public java.time.Duration minusMinutes(long); + method public java.time.Duration minusNanos(long); + method public java.time.Duration minusSeconds(long); + method public java.time.Duration multipliedBy(long); + method public java.time.Duration negated(); + method public static java.time.Duration of(long, java.time.temporal.TemporalUnit); + method public static java.time.Duration ofDays(long); + method public static java.time.Duration ofHours(long); + method public static java.time.Duration ofMillis(long); + method public static java.time.Duration ofMinutes(long); + method public static java.time.Duration ofNanos(long); + method public static java.time.Duration ofSeconds(long); + method public static java.time.Duration ofSeconds(long, long); + method public static java.time.Duration parse(CharSequence); + method public java.time.Duration plus(java.time.Duration); + method public java.time.Duration plus(long, java.time.temporal.TemporalUnit); + method public java.time.Duration plusDays(long); + method public java.time.Duration plusHours(long); + method public java.time.Duration plusMillis(long); + method public java.time.Duration plusMinutes(long); + method public java.time.Duration plusNanos(long); + method public java.time.Duration plusSeconds(long); + method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal); + method public long toDays(); + method public long toDaysPart(); + method public long toHours(); + method public int toHoursPart(); + method public long toMillis(); + method public int toMillisPart(); + method public long toMinutes(); + method public int toMinutesPart(); + method public long toNanos(); + method public int toNanosPart(); + method public long toSeconds(); + method public int toSecondsPart(); + method public java.time.Duration truncatedTo(java.time.temporal.TemporalUnit); + method public java.time.Duration withNanos(int); + method public java.time.Duration withSeconds(long); + field public static final java.time.Duration ZERO; + } + + public final class Instant implements java.lang.Comparable<java.time.Instant> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.OffsetDateTime atOffset(java.time.ZoneOffset); + method public java.time.ZonedDateTime atZone(java.time.ZoneId); + method public int compareTo(java.time.Instant); + method public static java.time.Instant from(java.time.temporal.TemporalAccessor); + method public long getEpochSecond(); + method public long getLong(java.time.temporal.TemporalField); + method public int getNano(); + method public boolean isAfter(java.time.Instant); + method public boolean isBefore(java.time.Instant); + method public boolean isSupported(java.time.temporal.TemporalField); + method public boolean isSupported(java.time.temporal.TemporalUnit); + method public java.time.Instant minus(java.time.temporal.TemporalAmount); + method public java.time.Instant minus(long, java.time.temporal.TemporalUnit); + method public java.time.Instant minusMillis(long); + method public java.time.Instant minusNanos(long); + method public java.time.Instant minusSeconds(long); + method public static java.time.Instant now(); + method public static java.time.Instant now(java.time.Clock); + method public static java.time.Instant ofEpochMilli(long); + method public static java.time.Instant ofEpochSecond(long); + method public static java.time.Instant ofEpochSecond(long, long); + method public static java.time.Instant parse(CharSequence); + method public java.time.Instant plus(java.time.temporal.TemporalAmount); + method public java.time.Instant plus(long, java.time.temporal.TemporalUnit); + method public java.time.Instant plusMillis(long); + method public java.time.Instant plusNanos(long); + method public java.time.Instant plusSeconds(long); + method public long toEpochMilli(); + method public java.time.Instant truncatedTo(java.time.temporal.TemporalUnit); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.Instant with(java.time.temporal.TemporalAdjuster); + method public java.time.Instant with(java.time.temporal.TemporalField, long); + field public static final java.time.Instant EPOCH; + field public static final java.time.Instant MAX; + field public static final java.time.Instant MIN; + } + + public final class LocalDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.LocalDateTime atStartOfDay(); + method public java.time.ZonedDateTime atStartOfDay(java.time.ZoneId); + method public java.time.LocalDateTime atTime(java.time.LocalTime); + method public java.time.LocalDateTime atTime(int, int); + method public java.time.LocalDateTime atTime(int, int, int); + method public java.time.LocalDateTime atTime(int, int, int, int); + method public java.time.OffsetDateTime atTime(java.time.OffsetTime); + method public static java.time.LocalDate from(java.time.temporal.TemporalAccessor); + method public java.time.chrono.IsoChronology getChronology(); + method public int getDayOfMonth(); + method public java.time.DayOfWeek getDayOfWeek(); + method public int getDayOfYear(); + method public long getLong(java.time.temporal.TemporalField); + method public java.time.Month getMonth(); + method public int getMonthValue(); + method public int getYear(); + method public int lengthOfMonth(); + method public java.time.LocalDate minus(java.time.temporal.TemporalAmount); + method public java.time.LocalDate minus(long, java.time.temporal.TemporalUnit); + method public java.time.LocalDate minusDays(long); + method public java.time.LocalDate minusMonths(long); + method public java.time.LocalDate minusWeeks(long); + method public java.time.LocalDate minusYears(long); + method public static java.time.LocalDate now(); + method public static java.time.LocalDate now(java.time.ZoneId); + method public static java.time.LocalDate now(java.time.Clock); + method public static java.time.LocalDate of(int, java.time.Month, int); + method public static java.time.LocalDate of(int, int, int); + method public static java.time.LocalDate ofEpochDay(long); + method public static java.time.LocalDate ofYearDay(int, int); + method public static java.time.LocalDate parse(CharSequence); + method public static java.time.LocalDate parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.LocalDate plus(java.time.temporal.TemporalAmount); + method public java.time.LocalDate plus(long, java.time.temporal.TemporalUnit); + method public java.time.LocalDate plusDays(long); + method public java.time.LocalDate plusMonths(long); + method public java.time.LocalDate plusWeeks(long); + method public java.time.LocalDate plusYears(long); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.Period until(java.time.chrono.ChronoLocalDate); + method public java.time.LocalDate with(java.time.temporal.TemporalAdjuster); + method public java.time.LocalDate with(java.time.temporal.TemporalField, long); + method public java.time.LocalDate withDayOfMonth(int); + method public java.time.LocalDate withDayOfYear(int); + method public java.time.LocalDate withMonth(int); + method public java.time.LocalDate withYear(int); + field public static final java.time.LocalDate MAX; + field public static final java.time.LocalDate MIN; + } + + public final class LocalDateTime implements java.time.chrono.ChronoLocalDateTime<java.time.LocalDate> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.OffsetDateTime atOffset(java.time.ZoneOffset); + method public java.time.ZonedDateTime atZone(java.time.ZoneId); + method public static java.time.LocalDateTime from(java.time.temporal.TemporalAccessor); + method public int getDayOfMonth(); + method public java.time.DayOfWeek getDayOfWeek(); + method public int getDayOfYear(); + method public int getHour(); + method public long getLong(java.time.temporal.TemporalField); + method public int getMinute(); + method public java.time.Month getMonth(); + method public int getMonthValue(); + method public int getNano(); + method public int getSecond(); + method public int getYear(); + method public boolean isSupported(java.time.temporal.TemporalField); + method public java.time.LocalDateTime minus(java.time.temporal.TemporalAmount); + method public java.time.LocalDateTime minus(long, java.time.temporal.TemporalUnit); + method public java.time.LocalDateTime minusDays(long); + method public java.time.LocalDateTime minusHours(long); + method public java.time.LocalDateTime minusMinutes(long); + method public java.time.LocalDateTime minusMonths(long); + method public java.time.LocalDateTime minusNanos(long); + method public java.time.LocalDateTime minusSeconds(long); + method public java.time.LocalDateTime minusWeeks(long); + method public java.time.LocalDateTime minusYears(long); + method public static java.time.LocalDateTime now(); + method public static java.time.LocalDateTime now(java.time.ZoneId); + method public static java.time.LocalDateTime now(java.time.Clock); + method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int); + method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int); + method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int, int); + method public static java.time.LocalDateTime of(int, int, int, int, int); + method public static java.time.LocalDateTime of(int, int, int, int, int, int); + method public static java.time.LocalDateTime of(int, int, int, int, int, int, int); + method public static java.time.LocalDateTime of(java.time.LocalDate, java.time.LocalTime); + method public static java.time.LocalDateTime ofEpochSecond(long, int, java.time.ZoneOffset); + method public static java.time.LocalDateTime ofInstant(java.time.Instant, java.time.ZoneId); + method public static java.time.LocalDateTime parse(CharSequence); + method public static java.time.LocalDateTime parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.LocalDateTime plus(java.time.temporal.TemporalAmount); + method public java.time.LocalDateTime plus(long, java.time.temporal.TemporalUnit); + method public java.time.LocalDateTime plusDays(long); + method public java.time.LocalDateTime plusHours(long); + method public java.time.LocalDateTime plusMinutes(long); + method public java.time.LocalDateTime plusMonths(long); + method public java.time.LocalDateTime plusNanos(long); + method public java.time.LocalDateTime plusSeconds(long); + method public java.time.LocalDateTime plusWeeks(long); + method public java.time.LocalDateTime plusYears(long); + method public java.time.LocalDate toLocalDate(); + method public java.time.LocalTime toLocalTime(); + method public java.time.LocalDateTime truncatedTo(java.time.temporal.TemporalUnit); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.LocalDateTime with(java.time.temporal.TemporalAdjuster); + method public java.time.LocalDateTime with(java.time.temporal.TemporalField, long); + method public java.time.LocalDateTime withDayOfMonth(int); + method public java.time.LocalDateTime withDayOfYear(int); + method public java.time.LocalDateTime withHour(int); + method public java.time.LocalDateTime withMinute(int); + method public java.time.LocalDateTime withMonth(int); + method public java.time.LocalDateTime withNano(int); + method public java.time.LocalDateTime withSecond(int); + method public java.time.LocalDateTime withYear(int); + field public static final java.time.LocalDateTime MAX; + field public static final java.time.LocalDateTime MIN; + } + + public final class LocalTime implements java.lang.Comparable<java.time.LocalTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.LocalDateTime atDate(java.time.LocalDate); + method public java.time.OffsetTime atOffset(java.time.ZoneOffset); + method public int compareTo(java.time.LocalTime); + method public String format(java.time.format.DateTimeFormatter); + method public static java.time.LocalTime from(java.time.temporal.TemporalAccessor); + method public int getHour(); + method public long getLong(java.time.temporal.TemporalField); + method public int getMinute(); + method public int getNano(); + method public int getSecond(); + method public boolean isAfter(java.time.LocalTime); + method public boolean isBefore(java.time.LocalTime); + method public boolean isSupported(java.time.temporal.TemporalField); + method public boolean isSupported(java.time.temporal.TemporalUnit); + method public java.time.LocalTime minus(java.time.temporal.TemporalAmount); + method public java.time.LocalTime minus(long, java.time.temporal.TemporalUnit); + method public java.time.LocalTime minusHours(long); + method public java.time.LocalTime minusMinutes(long); + method public java.time.LocalTime minusNanos(long); + method public java.time.LocalTime minusSeconds(long); + method public static java.time.LocalTime now(); + method public static java.time.LocalTime now(java.time.ZoneId); + method public static java.time.LocalTime now(java.time.Clock); + method public static java.time.LocalTime of(int, int); + method public static java.time.LocalTime of(int, int, int); + method public static java.time.LocalTime of(int, int, int, int); + method public static java.time.LocalTime ofInstant(java.time.Instant, java.time.ZoneId); + method public static java.time.LocalTime ofNanoOfDay(long); + method public static java.time.LocalTime ofSecondOfDay(long); + method public static java.time.LocalTime parse(CharSequence); + method public static java.time.LocalTime parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.LocalTime plus(java.time.temporal.TemporalAmount); + method public java.time.LocalTime plus(long, java.time.temporal.TemporalUnit); + method public java.time.LocalTime plusHours(long); + method public java.time.LocalTime plusMinutes(long); + method public java.time.LocalTime plusNanos(long); + method public java.time.LocalTime plusSeconds(long); + method public long toEpochSecond(java.time.LocalDate, java.time.ZoneOffset); + method public long toNanoOfDay(); + method public int toSecondOfDay(); + method public java.time.LocalTime truncatedTo(java.time.temporal.TemporalUnit); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.LocalTime with(java.time.temporal.TemporalAdjuster); + method public java.time.LocalTime with(java.time.temporal.TemporalField, long); + method public java.time.LocalTime withHour(int); + method public java.time.LocalTime withMinute(int); + method public java.time.LocalTime withNano(int); + method public java.time.LocalTime withSecond(int); + field public static final java.time.LocalTime MAX; + field public static final java.time.LocalTime MIDNIGHT; + field public static final java.time.LocalTime MIN; + field public static final java.time.LocalTime NOON; + } + + public enum Month implements java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public int firstDayOfYear(boolean); + method public java.time.Month firstMonthOfQuarter(); + method public static java.time.Month from(java.time.temporal.TemporalAccessor); + method public String getDisplayName(java.time.format.TextStyle, java.util.Locale); + method public long getLong(java.time.temporal.TemporalField); + method public int getValue(); + method public boolean isSupported(java.time.temporal.TemporalField); + method public int length(boolean); + method public int maxLength(); + method public int minLength(); + method public java.time.Month minus(long); + method public static java.time.Month of(int); + method public java.time.Month plus(long); + enum_constant public static final java.time.Month APRIL; + enum_constant public static final java.time.Month AUGUST; + enum_constant public static final java.time.Month DECEMBER; + enum_constant public static final java.time.Month FEBRUARY; + enum_constant public static final java.time.Month JANUARY; + enum_constant public static final java.time.Month JULY; + enum_constant public static final java.time.Month JUNE; + enum_constant public static final java.time.Month MARCH; + enum_constant public static final java.time.Month MAY; + enum_constant public static final java.time.Month NOVEMBER; + enum_constant public static final java.time.Month OCTOBER; + enum_constant public static final java.time.Month SEPTEMBER; + } + + public final class MonthDay implements java.lang.Comparable<java.time.MonthDay> java.io.Serializable java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.LocalDate atYear(int); + method public int compareTo(java.time.MonthDay); + method public String format(java.time.format.DateTimeFormatter); + method public static java.time.MonthDay from(java.time.temporal.TemporalAccessor); + method public int getDayOfMonth(); + method public long getLong(java.time.temporal.TemporalField); + method public java.time.Month getMonth(); + method public int getMonthValue(); + method public boolean isAfter(java.time.MonthDay); + method public boolean isBefore(java.time.MonthDay); + method public boolean isSupported(java.time.temporal.TemporalField); + method public boolean isValidYear(int); + method public static java.time.MonthDay now(); + method public static java.time.MonthDay now(java.time.ZoneId); + method public static java.time.MonthDay now(java.time.Clock); + method public static java.time.MonthDay of(java.time.Month, int); + method public static java.time.MonthDay of(int, int); + method public static java.time.MonthDay parse(CharSequence); + method public static java.time.MonthDay parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.MonthDay with(java.time.Month); + method public java.time.MonthDay withDayOfMonth(int); + method public java.time.MonthDay withMonth(int); + } + + public final class OffsetDateTime implements java.lang.Comparable<java.time.OffsetDateTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.ZonedDateTime atZoneSameInstant(java.time.ZoneId); + method public java.time.ZonedDateTime atZoneSimilarLocal(java.time.ZoneId); + method public int compareTo(java.time.OffsetDateTime); + method public String format(java.time.format.DateTimeFormatter); + method public static java.time.OffsetDateTime from(java.time.temporal.TemporalAccessor); + method public int getDayOfMonth(); + method public java.time.DayOfWeek getDayOfWeek(); + method public int getDayOfYear(); + method public int getHour(); + method public long getLong(java.time.temporal.TemporalField); + method public int getMinute(); + method public java.time.Month getMonth(); + method public int getMonthValue(); + method public int getNano(); + method public java.time.ZoneOffset getOffset(); + method public int getSecond(); + method public int getYear(); + method public boolean isAfter(java.time.OffsetDateTime); + method public boolean isBefore(java.time.OffsetDateTime); + method public boolean isEqual(java.time.OffsetDateTime); + method public boolean isSupported(java.time.temporal.TemporalField); + method public boolean isSupported(java.time.temporal.TemporalUnit); + method public java.time.OffsetDateTime minus(java.time.temporal.TemporalAmount); + method public java.time.OffsetDateTime minus(long, java.time.temporal.TemporalUnit); + method public java.time.OffsetDateTime minusDays(long); + method public java.time.OffsetDateTime minusHours(long); + method public java.time.OffsetDateTime minusMinutes(long); + method public java.time.OffsetDateTime minusMonths(long); + method public java.time.OffsetDateTime minusNanos(long); + method public java.time.OffsetDateTime minusSeconds(long); + method public java.time.OffsetDateTime minusWeeks(long); + method public java.time.OffsetDateTime minusYears(long); + method public static java.time.OffsetDateTime now(); + method public static java.time.OffsetDateTime now(java.time.ZoneId); + method public static java.time.OffsetDateTime now(java.time.Clock); + method public static java.time.OffsetDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneOffset); + method public static java.time.OffsetDateTime of(java.time.LocalDateTime, java.time.ZoneOffset); + method public static java.time.OffsetDateTime of(int, int, int, int, int, int, int, java.time.ZoneOffset); + method public static java.time.OffsetDateTime ofInstant(java.time.Instant, java.time.ZoneId); + method public static java.time.OffsetDateTime parse(CharSequence); + method public static java.time.OffsetDateTime parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.OffsetDateTime plus(java.time.temporal.TemporalAmount); + method public java.time.OffsetDateTime plus(long, java.time.temporal.TemporalUnit); + method public java.time.OffsetDateTime plusDays(long); + method public java.time.OffsetDateTime plusHours(long); + method public java.time.OffsetDateTime plusMinutes(long); + method public java.time.OffsetDateTime plusMonths(long); + method public java.time.OffsetDateTime plusNanos(long); + method public java.time.OffsetDateTime plusSeconds(long); + method public java.time.OffsetDateTime plusWeeks(long); + method public java.time.OffsetDateTime plusYears(long); + method public static java.util.Comparator<java.time.OffsetDateTime> timeLineOrder(); + method public long toEpochSecond(); + method public java.time.Instant toInstant(); + method public java.time.LocalDate toLocalDate(); + method public java.time.LocalDateTime toLocalDateTime(); + method public java.time.LocalTime toLocalTime(); + method public java.time.OffsetTime toOffsetTime(); + method public java.time.ZonedDateTime toZonedDateTime(); + method public java.time.OffsetDateTime truncatedTo(java.time.temporal.TemporalUnit); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.OffsetDateTime with(java.time.temporal.TemporalAdjuster); + method public java.time.OffsetDateTime with(java.time.temporal.TemporalField, long); + method public java.time.OffsetDateTime withDayOfMonth(int); + method public java.time.OffsetDateTime withDayOfYear(int); + method public java.time.OffsetDateTime withHour(int); + method public java.time.OffsetDateTime withMinute(int); + method public java.time.OffsetDateTime withMonth(int); + method public java.time.OffsetDateTime withNano(int); + method public java.time.OffsetDateTime withOffsetSameInstant(java.time.ZoneOffset); + method public java.time.OffsetDateTime withOffsetSameLocal(java.time.ZoneOffset); + method public java.time.OffsetDateTime withSecond(int); + method public java.time.OffsetDateTime withYear(int); + field public static final java.time.OffsetDateTime MAX; + field public static final java.time.OffsetDateTime MIN; + } + + public final class OffsetTime implements java.lang.Comparable<java.time.OffsetTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.OffsetDateTime atDate(java.time.LocalDate); + method public int compareTo(java.time.OffsetTime); + method public String format(java.time.format.DateTimeFormatter); + method public static java.time.OffsetTime from(java.time.temporal.TemporalAccessor); + method public int getHour(); + method public long getLong(java.time.temporal.TemporalField); + method public int getMinute(); + method public int getNano(); + method public java.time.ZoneOffset getOffset(); + method public int getSecond(); + method public boolean isAfter(java.time.OffsetTime); + method public boolean isBefore(java.time.OffsetTime); + method public boolean isEqual(java.time.OffsetTime); + method public boolean isSupported(java.time.temporal.TemporalField); + method public boolean isSupported(java.time.temporal.TemporalUnit); + method public java.time.OffsetTime minus(java.time.temporal.TemporalAmount); + method public java.time.OffsetTime minus(long, java.time.temporal.TemporalUnit); + method public java.time.OffsetTime minusHours(long); + method public java.time.OffsetTime minusMinutes(long); + method public java.time.OffsetTime minusNanos(long); + method public java.time.OffsetTime minusSeconds(long); + method public static java.time.OffsetTime now(); + method public static java.time.OffsetTime now(java.time.ZoneId); + method public static java.time.OffsetTime now(java.time.Clock); + method public static java.time.OffsetTime of(java.time.LocalTime, java.time.ZoneOffset); + method public static java.time.OffsetTime of(int, int, int, int, java.time.ZoneOffset); + method public static java.time.OffsetTime ofInstant(java.time.Instant, java.time.ZoneId); + method public static java.time.OffsetTime parse(CharSequence); + method public static java.time.OffsetTime parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.OffsetTime plus(java.time.temporal.TemporalAmount); + method public java.time.OffsetTime plus(long, java.time.temporal.TemporalUnit); + method public java.time.OffsetTime plusHours(long); + method public java.time.OffsetTime plusMinutes(long); + method public java.time.OffsetTime plusNanos(long); + method public java.time.OffsetTime plusSeconds(long); + method public java.time.LocalTime toLocalTime(); + method public java.time.OffsetTime truncatedTo(java.time.temporal.TemporalUnit); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.OffsetTime with(java.time.temporal.TemporalAdjuster); + method public java.time.OffsetTime with(java.time.temporal.TemporalField, long); + method public java.time.OffsetTime withHour(int); + method public java.time.OffsetTime withMinute(int); + method public java.time.OffsetTime withNano(int); + method public java.time.OffsetTime withOffsetSameInstant(java.time.ZoneOffset); + method public java.time.OffsetTime withOffsetSameLocal(java.time.ZoneOffset); + method public java.time.OffsetTime withSecond(int); + field public static final java.time.OffsetTime MAX; + field public static final java.time.OffsetTime MIN; + } + + public final class Period implements java.time.chrono.ChronoPeriod java.io.Serializable { + method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal); + method public static java.time.Period between(java.time.LocalDate, java.time.LocalDate); + method public static java.time.Period from(java.time.temporal.TemporalAmount); + method public long get(java.time.temporal.TemporalUnit); + method public java.time.chrono.IsoChronology getChronology(); + method public int getDays(); + method public int getMonths(); + method public java.util.List<java.time.temporal.TemporalUnit> getUnits(); + method public int getYears(); + method public java.time.Period minus(java.time.temporal.TemporalAmount); + method public java.time.Period minusDays(long); + method public java.time.Period minusMonths(long); + method public java.time.Period minusYears(long); + method public java.time.Period multipliedBy(int); + method public java.time.Period negated(); + method public java.time.Period normalized(); + method public static java.time.Period of(int, int, int); + method public static java.time.Period ofDays(int); + method public static java.time.Period ofMonths(int); + method public static java.time.Period ofWeeks(int); + method public static java.time.Period ofYears(int); + method public static java.time.Period parse(CharSequence); + method public java.time.Period plus(java.time.temporal.TemporalAmount); + method public java.time.Period plusDays(long); + method public java.time.Period plusMonths(long); + method public java.time.Period plusYears(long); + method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal); + method public long toTotalMonths(); + method public java.time.Period withDays(int); + method public java.time.Period withMonths(int); + method public java.time.Period withYears(int); + field public static final java.time.Period ZERO; + } + + public final class Year implements java.lang.Comparable<java.time.Year> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.LocalDate atDay(int); + method public java.time.YearMonth atMonth(java.time.Month); + method public java.time.YearMonth atMonth(int); + method public java.time.LocalDate atMonthDay(java.time.MonthDay); + method public int compareTo(java.time.Year); + method public String format(java.time.format.DateTimeFormatter); + method public static java.time.Year from(java.time.temporal.TemporalAccessor); + method public long getLong(java.time.temporal.TemporalField); + method public int getValue(); + method public boolean isAfter(java.time.Year); + method public boolean isBefore(java.time.Year); + method public static boolean isLeap(long); + method public boolean isLeap(); + method public boolean isSupported(java.time.temporal.TemporalField); + method public boolean isSupported(java.time.temporal.TemporalUnit); + method public boolean isValidMonthDay(java.time.MonthDay); + method public int length(); + method public java.time.Year minus(java.time.temporal.TemporalAmount); + method public java.time.Year minus(long, java.time.temporal.TemporalUnit); + method public java.time.Year minusYears(long); + method public static java.time.Year now(); + method public static java.time.Year now(java.time.ZoneId); + method public static java.time.Year now(java.time.Clock); + method public static java.time.Year of(int); + method public static java.time.Year parse(CharSequence); + method public static java.time.Year parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.Year plus(java.time.temporal.TemporalAmount); + method public java.time.Year plus(long, java.time.temporal.TemporalUnit); + method public java.time.Year plusYears(long); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.Year with(java.time.temporal.TemporalAdjuster); + method public java.time.Year with(java.time.temporal.TemporalField, long); + field public static final int MAX_VALUE = 999999999; // 0x3b9ac9ff + field public static final int MIN_VALUE = -999999999; // 0xc4653601 + } + + public final class YearMonth implements java.lang.Comparable<java.time.YearMonth> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.LocalDate atDay(int); + method public java.time.LocalDate atEndOfMonth(); + method public int compareTo(java.time.YearMonth); + method public String format(java.time.format.DateTimeFormatter); + method public static java.time.YearMonth from(java.time.temporal.TemporalAccessor); + method public long getLong(java.time.temporal.TemporalField); + method public java.time.Month getMonth(); + method public int getMonthValue(); + method public int getYear(); + method public boolean isAfter(java.time.YearMonth); + method public boolean isBefore(java.time.YearMonth); + method public boolean isLeapYear(); + method public boolean isSupported(java.time.temporal.TemporalField); + method public boolean isSupported(java.time.temporal.TemporalUnit); + method public boolean isValidDay(int); + method public int lengthOfMonth(); + method public int lengthOfYear(); + method public java.time.YearMonth minus(java.time.temporal.TemporalAmount); + method public java.time.YearMonth minus(long, java.time.temporal.TemporalUnit); + method public java.time.YearMonth minusMonths(long); + method public java.time.YearMonth minusYears(long); + method public static java.time.YearMonth now(); + method public static java.time.YearMonth now(java.time.ZoneId); + method public static java.time.YearMonth now(java.time.Clock); + method public static java.time.YearMonth of(int, java.time.Month); + method public static java.time.YearMonth of(int, int); + method public static java.time.YearMonth parse(CharSequence); + method public static java.time.YearMonth parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.YearMonth plus(java.time.temporal.TemporalAmount); + method public java.time.YearMonth plus(long, java.time.temporal.TemporalUnit); + method public java.time.YearMonth plusMonths(long); + method public java.time.YearMonth plusYears(long); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.YearMonth with(java.time.temporal.TemporalAdjuster); + method public java.time.YearMonth with(java.time.temporal.TemporalField, long); + method public java.time.YearMonth withMonth(int); + method public java.time.YearMonth withYear(int); + } + + public abstract class ZoneId implements java.io.Serializable { + method public static java.time.ZoneId from(java.time.temporal.TemporalAccessor); + method public static java.util.Set<java.lang.String> getAvailableZoneIds(); + method public String getDisplayName(java.time.format.TextStyle, java.util.Locale); + method public abstract String getId(); + method public abstract java.time.zone.ZoneRules getRules(); + method public java.time.ZoneId normalized(); + method public static java.time.ZoneId of(String, java.util.Map<java.lang.String,java.lang.String>); + method public static java.time.ZoneId of(String); + method public static java.time.ZoneId ofOffset(String, java.time.ZoneOffset); + method public static java.time.ZoneId systemDefault(); + field public static final java.util.Map<java.lang.String,java.lang.String> SHORT_IDS; + } + + public final class ZoneOffset extends java.time.ZoneId implements java.lang.Comparable<java.time.ZoneOffset> java.io.Serializable java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public int compareTo(java.time.ZoneOffset); + method public static java.time.ZoneOffset from(java.time.temporal.TemporalAccessor); + method public String getId(); + method public long getLong(java.time.temporal.TemporalField); + method public java.time.zone.ZoneRules getRules(); + method public int getTotalSeconds(); + method public boolean isSupported(java.time.temporal.TemporalField); + method public static java.time.ZoneOffset of(String); + method public static java.time.ZoneOffset ofHours(int); + method public static java.time.ZoneOffset ofHoursMinutes(int, int); + method public static java.time.ZoneOffset ofHoursMinutesSeconds(int, int, int); + method public static java.time.ZoneOffset ofTotalSeconds(int); + field public static final java.time.ZoneOffset MAX; + field public static final java.time.ZoneOffset MIN; + field public static final java.time.ZoneOffset UTC; + } + + public final class ZonedDateTime implements java.time.chrono.ChronoZonedDateTime<java.time.LocalDate> java.io.Serializable java.time.temporal.Temporal { + method public static java.time.ZonedDateTime from(java.time.temporal.TemporalAccessor); + method public int getDayOfMonth(); + method public java.time.DayOfWeek getDayOfWeek(); + method public int getDayOfYear(); + method public int getHour(); + method public int getMinute(); + method public java.time.Month getMonth(); + method public int getMonthValue(); + method public int getNano(); + method public java.time.ZoneOffset getOffset(); + method public int getSecond(); + method public int getYear(); + method public java.time.ZoneId getZone(); + method public boolean isSupported(java.time.temporal.TemporalField); + method public java.time.ZonedDateTime minus(java.time.temporal.TemporalAmount); + method public java.time.ZonedDateTime minus(long, java.time.temporal.TemporalUnit); + method public java.time.ZonedDateTime minusDays(long); + method public java.time.ZonedDateTime minusHours(long); + method public java.time.ZonedDateTime minusMinutes(long); + method public java.time.ZonedDateTime minusMonths(long); + method public java.time.ZonedDateTime minusNanos(long); + method public java.time.ZonedDateTime minusSeconds(long); + method public java.time.ZonedDateTime minusWeeks(long); + method public java.time.ZonedDateTime minusYears(long); + method public static java.time.ZonedDateTime now(); + method public static java.time.ZonedDateTime now(java.time.ZoneId); + method public static java.time.ZonedDateTime now(java.time.Clock); + method public static java.time.ZonedDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneId); + method public static java.time.ZonedDateTime of(java.time.LocalDateTime, java.time.ZoneId); + method public static java.time.ZonedDateTime of(int, int, int, int, int, int, int, java.time.ZoneId); + method public static java.time.ZonedDateTime ofInstant(java.time.Instant, java.time.ZoneId); + method public static java.time.ZonedDateTime ofInstant(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId); + method public static java.time.ZonedDateTime ofLocal(java.time.LocalDateTime, java.time.ZoneId, java.time.ZoneOffset); + method public static java.time.ZonedDateTime ofStrict(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId); + method public static java.time.ZonedDateTime parse(CharSequence); + method public static java.time.ZonedDateTime parse(CharSequence, java.time.format.DateTimeFormatter); + method public java.time.ZonedDateTime plus(java.time.temporal.TemporalAmount); + method public java.time.ZonedDateTime plus(long, java.time.temporal.TemporalUnit); + method public java.time.ZonedDateTime plusDays(long); + method public java.time.ZonedDateTime plusHours(long); + method public java.time.ZonedDateTime plusMinutes(long); + method public java.time.ZonedDateTime plusMonths(long); + method public java.time.ZonedDateTime plusNanos(long); + method public java.time.ZonedDateTime plusSeconds(long); + method public java.time.ZonedDateTime plusWeeks(long); + method public java.time.ZonedDateTime plusYears(long); + method public java.time.LocalDate toLocalDate(); + method public java.time.LocalDateTime toLocalDateTime(); + method public java.time.OffsetDateTime toOffsetDateTime(); + method public java.time.ZonedDateTime truncatedTo(java.time.temporal.TemporalUnit); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.ZonedDateTime with(java.time.temporal.TemporalAdjuster); + method public java.time.ZonedDateTime with(java.time.temporal.TemporalField, long); + method public java.time.ZonedDateTime withDayOfMonth(int); + method public java.time.ZonedDateTime withDayOfYear(int); + method public java.time.ZonedDateTime withEarlierOffsetAtOverlap(); + method public java.time.ZonedDateTime withFixedOffsetZone(); + method public java.time.ZonedDateTime withHour(int); + method public java.time.ZonedDateTime withLaterOffsetAtOverlap(); + method public java.time.ZonedDateTime withMinute(int); + method public java.time.ZonedDateTime withMonth(int); + method public java.time.ZonedDateTime withNano(int); + method public java.time.ZonedDateTime withSecond(int); + method public java.time.ZonedDateTime withYear(int); + method public java.time.ZonedDateTime withZoneSameInstant(java.time.ZoneId); + method public java.time.ZonedDateTime withZoneSameLocal(java.time.ZoneId); + } + +} + +package java.time.chrono { + + public abstract class AbstractChronology implements java.time.chrono.Chronology { + ctor protected AbstractChronology(); + method public int compareTo(java.time.chrono.Chronology); + method public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle); + } + + public interface ChronoLocalDate extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoLocalDate> java.time.temporal.TemporalAdjuster { + method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public default java.time.chrono.ChronoLocalDateTime<?> atTime(java.time.LocalTime); + method public default int compareTo(java.time.chrono.ChronoLocalDate); + method public boolean equals(Object); + method public default String format(java.time.format.DateTimeFormatter); + method public static java.time.chrono.ChronoLocalDate from(java.time.temporal.TemporalAccessor); + method public java.time.chrono.Chronology getChronology(); + method public default java.time.chrono.Era getEra(); + method public int hashCode(); + method public default boolean isAfter(java.time.chrono.ChronoLocalDate); + method public default boolean isBefore(java.time.chrono.ChronoLocalDate); + method public default boolean isEqual(java.time.chrono.ChronoLocalDate); + method public default boolean isLeapYear(); + method public default boolean isSupported(java.time.temporal.TemporalField); + method public default boolean isSupported(java.time.temporal.TemporalUnit); + method public int lengthOfMonth(); + method public default int lengthOfYear(); + method public default java.time.chrono.ChronoLocalDate minus(java.time.temporal.TemporalAmount); + method public default java.time.chrono.ChronoLocalDate minus(long, java.time.temporal.TemporalUnit); + method public default java.time.chrono.ChronoLocalDate plus(java.time.temporal.TemporalAmount); + method public default java.time.chrono.ChronoLocalDate plus(long, java.time.temporal.TemporalUnit); + method public static java.util.Comparator<java.time.chrono.ChronoLocalDate> timeLineOrder(); + method public default long toEpochDay(); + method public String toString(); + method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate); + method public default java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalAdjuster); + method public default java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalField, long); + } + + public interface ChronoLocalDateTime<D extends java.time.chrono.ChronoLocalDate> extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoLocalDateTime<?>> java.time.temporal.TemporalAdjuster { + method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public java.time.chrono.ChronoZonedDateTime<D> atZone(java.time.ZoneId); + method public default int compareTo(java.time.chrono.ChronoLocalDateTime<?>); + method public boolean equals(Object); + method public default String format(java.time.format.DateTimeFormatter); + method public static java.time.chrono.ChronoLocalDateTime<?> from(java.time.temporal.TemporalAccessor); + method public default java.time.chrono.Chronology getChronology(); + method public int hashCode(); + method public default boolean isAfter(java.time.chrono.ChronoLocalDateTime<?>); + method public default boolean isBefore(java.time.chrono.ChronoLocalDateTime<?>); + method public default boolean isEqual(java.time.chrono.ChronoLocalDateTime<?>); + method public default boolean isSupported(java.time.temporal.TemporalUnit); + method public default java.time.chrono.ChronoLocalDateTime<D> minus(java.time.temporal.TemporalAmount); + method public default java.time.chrono.ChronoLocalDateTime<D> minus(long, java.time.temporal.TemporalUnit); + method public default java.time.chrono.ChronoLocalDateTime<D> plus(java.time.temporal.TemporalAmount); + method public java.time.chrono.ChronoLocalDateTime<D> plus(long, java.time.temporal.TemporalUnit); + method public static java.util.Comparator<java.time.chrono.ChronoLocalDateTime<?>> timeLineOrder(); + method public default long toEpochSecond(java.time.ZoneOffset); + method public default java.time.Instant toInstant(java.time.ZoneOffset); + method public D toLocalDate(); + method public java.time.LocalTime toLocalTime(); + method public String toString(); + method public default java.time.chrono.ChronoLocalDateTime<D> with(java.time.temporal.TemporalAdjuster); + method public java.time.chrono.ChronoLocalDateTime<D> with(java.time.temporal.TemporalField, long); + } + + public interface ChronoPeriod extends java.time.temporal.TemporalAmount { + method public static java.time.chrono.ChronoPeriod between(java.time.chrono.ChronoLocalDate, java.time.chrono.ChronoLocalDate); + method public boolean equals(Object); + method public java.time.chrono.Chronology getChronology(); + method public int hashCode(); + method public default boolean isNegative(); + method public default boolean isZero(); + method public java.time.chrono.ChronoPeriod minus(java.time.temporal.TemporalAmount); + method public java.time.chrono.ChronoPeriod multipliedBy(int); + method public default java.time.chrono.ChronoPeriod negated(); + method public java.time.chrono.ChronoPeriod normalized(); + method public java.time.chrono.ChronoPeriod plus(java.time.temporal.TemporalAmount); + method public String toString(); + } + + public interface ChronoZonedDateTime<D extends java.time.chrono.ChronoLocalDate> extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoZonedDateTime<?>> { + method public default int compareTo(java.time.chrono.ChronoZonedDateTime<?>); + method public boolean equals(Object); + method public default String format(java.time.format.DateTimeFormatter); + method public static java.time.chrono.ChronoZonedDateTime<?> from(java.time.temporal.TemporalAccessor); + method public default java.time.chrono.Chronology getChronology(); + method public default long getLong(java.time.temporal.TemporalField); + method public java.time.ZoneOffset getOffset(); + method public java.time.ZoneId getZone(); + method public int hashCode(); + method public default boolean isAfter(java.time.chrono.ChronoZonedDateTime<?>); + method public default boolean isBefore(java.time.chrono.ChronoZonedDateTime<?>); + method public default boolean isEqual(java.time.chrono.ChronoZonedDateTime<?>); + method public default boolean isSupported(java.time.temporal.TemporalUnit); + method public default java.time.chrono.ChronoZonedDateTime<D> minus(java.time.temporal.TemporalAmount); + method public default java.time.chrono.ChronoZonedDateTime<D> minus(long, java.time.temporal.TemporalUnit); + method public default java.time.chrono.ChronoZonedDateTime<D> plus(java.time.temporal.TemporalAmount); + method public java.time.chrono.ChronoZonedDateTime<D> plus(long, java.time.temporal.TemporalUnit); + method public static java.util.Comparator<java.time.chrono.ChronoZonedDateTime<?>> timeLineOrder(); + method public default long toEpochSecond(); + method public default java.time.Instant toInstant(); + method public default D toLocalDate(); + method public java.time.chrono.ChronoLocalDateTime<D> toLocalDateTime(); + method public default java.time.LocalTime toLocalTime(); + method public String toString(); + method public default java.time.chrono.ChronoZonedDateTime<D> with(java.time.temporal.TemporalAdjuster); + method public java.time.chrono.ChronoZonedDateTime<D> with(java.time.temporal.TemporalField, long); + method public java.time.chrono.ChronoZonedDateTime<D> withEarlierOffsetAtOverlap(); + method public java.time.chrono.ChronoZonedDateTime<D> withLaterOffsetAtOverlap(); + method public java.time.chrono.ChronoZonedDateTime<D> withZoneSameInstant(java.time.ZoneId); + method public java.time.chrono.ChronoZonedDateTime<D> withZoneSameLocal(java.time.ZoneId); + } + + public interface Chronology extends java.lang.Comparable<java.time.chrono.Chronology> { + method public int compareTo(java.time.chrono.Chronology); + method public default java.time.chrono.ChronoLocalDate date(java.time.chrono.Era, int, int, int); + method public java.time.chrono.ChronoLocalDate date(int, int, int); + method public java.time.chrono.ChronoLocalDate date(java.time.temporal.TemporalAccessor); + method public java.time.chrono.ChronoLocalDate dateEpochDay(long); + method public default java.time.chrono.ChronoLocalDate dateNow(); + method public default java.time.chrono.ChronoLocalDate dateNow(java.time.ZoneId); + method public default java.time.chrono.ChronoLocalDate dateNow(java.time.Clock); + method public default java.time.chrono.ChronoLocalDate dateYearDay(java.time.chrono.Era, int, int); + method public java.time.chrono.ChronoLocalDate dateYearDay(int, int); + method public boolean equals(Object); + method public java.time.chrono.Era eraOf(int); + method public java.util.List<java.time.chrono.Era> eras(); + method public static java.time.chrono.Chronology from(java.time.temporal.TemporalAccessor); + method public static java.util.Set<java.time.chrono.Chronology> getAvailableChronologies(); + method public String getCalendarType(); + method public default String getDisplayName(java.time.format.TextStyle, java.util.Locale); + method public String getId(); + method public int hashCode(); + method public boolean isLeapYear(long); + method public default java.time.chrono.ChronoLocalDateTime<? extends java.time.chrono.ChronoLocalDate> localDateTime(java.time.temporal.TemporalAccessor); + method public static java.time.chrono.Chronology of(String); + method public static java.time.chrono.Chronology ofLocale(java.util.Locale); + method public default java.time.chrono.ChronoPeriod period(int, int, int); + method public int prolepticYear(java.time.chrono.Era, int); + method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField); + method public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle); + method public String toString(); + method public default java.time.chrono.ChronoZonedDateTime<? extends java.time.chrono.ChronoLocalDate> zonedDateTime(java.time.temporal.TemporalAccessor); + method public default java.time.chrono.ChronoZonedDateTime<? extends java.time.chrono.ChronoLocalDate> zonedDateTime(java.time.Instant, java.time.ZoneId); + } + + public interface Era extends java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster { + method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + method public default String getDisplayName(java.time.format.TextStyle, java.util.Locale); + method public default long getLong(java.time.temporal.TemporalField); + method public int getValue(); + method public default boolean isSupported(java.time.temporal.TemporalField); + } + + public final class HijrahChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable { + method public java.time.chrono.HijrahDate date(java.time.chrono.Era, int, int, int); + method public java.time.chrono.HijrahDate date(int, int, int); + method public java.time.chrono.HijrahDate date(java.time.temporal.TemporalAccessor); + method public java.time.chrono.HijrahDate dateEpochDay(long); + method public java.time.chrono.HijrahDate dateNow(); + method public java.time.chrono.HijrahDate dateNow(java.time.ZoneId); + method public java.time.chrono.HijrahDate dateNow(java.time.Clock); + method public java.time.chrono.HijrahDate dateYearDay(java.time.chrono.Era, int, int); + method public java.time.chrono.HijrahDate dateYearDay(int, int); + method public java.time.chrono.HijrahEra eraOf(int); + method public java.util.List<java.time.chrono.Era> eras(); + method public String getCalendarType(); + method public String getId(); + method public boolean isLeapYear(long); + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate> localDateTime(java.time.temporal.TemporalAccessor); + method public int prolepticYear(java.time.chrono.Era, int); + method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField); + method public java.time.chrono.HijrahDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate> zonedDateTime(java.time.temporal.TemporalAccessor); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate> zonedDateTime(java.time.Instant, java.time.ZoneId); + field public static final java.time.chrono.HijrahChronology INSTANCE; + } + + public final class HijrahDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate> atTime(java.time.LocalTime); + method public static java.time.chrono.HijrahDate from(java.time.temporal.TemporalAccessor); + method public java.time.chrono.HijrahChronology getChronology(); + method public java.time.chrono.HijrahEra getEra(); + method public long getLong(java.time.temporal.TemporalField); + method public int lengthOfMonth(); + method public java.time.chrono.HijrahDate minus(java.time.temporal.TemporalAmount); + method public java.time.chrono.HijrahDate minus(long, java.time.temporal.TemporalUnit); + method public static java.time.chrono.HijrahDate now(); + method public static java.time.chrono.HijrahDate now(java.time.ZoneId); + method public static java.time.chrono.HijrahDate now(java.time.Clock); + method public static java.time.chrono.HijrahDate of(int, int, int); + method public java.time.chrono.HijrahDate plus(java.time.temporal.TemporalAmount); + method public java.time.chrono.HijrahDate plus(long, java.time.temporal.TemporalUnit); + method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.chrono.HijrahDate with(java.time.temporal.TemporalField, long); + method public java.time.chrono.HijrahDate with(java.time.temporal.TemporalAdjuster); + method public java.time.chrono.HijrahDate withVariant(java.time.chrono.HijrahChronology); + } + + public enum HijrahEra implements java.time.chrono.Era { + method public int getValue(); + method public static java.time.chrono.HijrahEra of(int); + enum_constant public static final java.time.chrono.HijrahEra AH; + } + + public final class IsoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable { + method public java.time.LocalDate date(java.time.chrono.Era, int, int, int); + method public java.time.LocalDate date(int, int, int); + method public java.time.LocalDate date(java.time.temporal.TemporalAccessor); + method public java.time.LocalDate dateEpochDay(long); + method public java.time.LocalDate dateNow(); + method public java.time.LocalDate dateNow(java.time.ZoneId); + method public java.time.LocalDate dateNow(java.time.Clock); + method public java.time.LocalDate dateYearDay(java.time.chrono.Era, int, int); + method public java.time.LocalDate dateYearDay(int, int); + method public java.time.chrono.IsoEra eraOf(int); + method public java.util.List<java.time.chrono.Era> eras(); + method public String getCalendarType(); + method public String getId(); + method public boolean isLeapYear(long); + method public java.time.LocalDateTime localDateTime(java.time.temporal.TemporalAccessor); + method public java.time.Period period(int, int, int); + method public int prolepticYear(java.time.chrono.Era, int); + method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField); + method public java.time.LocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle); + method public java.time.ZonedDateTime zonedDateTime(java.time.temporal.TemporalAccessor); + method public java.time.ZonedDateTime zonedDateTime(java.time.Instant, java.time.ZoneId); + field public static final java.time.chrono.IsoChronology INSTANCE; + } + + public enum IsoEra implements java.time.chrono.Era { + method public int getValue(); + method public static java.time.chrono.IsoEra of(int); + enum_constant public static final java.time.chrono.IsoEra BCE; + enum_constant public static final java.time.chrono.IsoEra CE; + } + + public final class JapaneseChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable { + method public java.time.chrono.JapaneseDate date(java.time.chrono.Era, int, int, int); + method public java.time.chrono.JapaneseDate date(int, int, int); + method public java.time.chrono.JapaneseDate date(java.time.temporal.TemporalAccessor); + method public java.time.chrono.JapaneseDate dateEpochDay(long); + method public java.time.chrono.JapaneseDate dateNow(); + method public java.time.chrono.JapaneseDate dateNow(java.time.ZoneId); + method public java.time.chrono.JapaneseDate dateNow(java.time.Clock); + method public java.time.chrono.JapaneseDate dateYearDay(java.time.chrono.Era, int, int); + method public java.time.chrono.JapaneseDate dateYearDay(int, int); + method public java.time.chrono.JapaneseEra eraOf(int); + method public java.util.List<java.time.chrono.Era> eras(); + method public String getCalendarType(); + method public String getId(); + method public boolean isLeapYear(long); + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate> localDateTime(java.time.temporal.TemporalAccessor); + method public int prolepticYear(java.time.chrono.Era, int); + method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField); + method public java.time.chrono.JapaneseDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate> zonedDateTime(java.time.temporal.TemporalAccessor); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate> zonedDateTime(java.time.Instant, java.time.ZoneId); + field public static final java.time.chrono.JapaneseChronology INSTANCE; + } + + public final class JapaneseDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate> atTime(java.time.LocalTime); + method public static java.time.chrono.JapaneseDate from(java.time.temporal.TemporalAccessor); + method public java.time.chrono.JapaneseChronology getChronology(); + method public java.time.chrono.JapaneseEra getEra(); + method public long getLong(java.time.temporal.TemporalField); + method public int lengthOfMonth(); + method public java.time.chrono.JapaneseDate minus(java.time.temporal.TemporalAmount); + method public java.time.chrono.JapaneseDate minus(long, java.time.temporal.TemporalUnit); + method public static java.time.chrono.JapaneseDate now(); + method public static java.time.chrono.JapaneseDate now(java.time.ZoneId); + method public static java.time.chrono.JapaneseDate now(java.time.Clock); + method public static java.time.chrono.JapaneseDate of(java.time.chrono.JapaneseEra, int, int, int); + method public static java.time.chrono.JapaneseDate of(int, int, int); + method public java.time.chrono.JapaneseDate plus(java.time.temporal.TemporalAmount); + method public java.time.chrono.JapaneseDate plus(long, java.time.temporal.TemporalUnit); + method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.chrono.JapaneseDate with(java.time.temporal.TemporalField, long); + method public java.time.chrono.JapaneseDate with(java.time.temporal.TemporalAdjuster); + } + + public final class JapaneseEra implements java.time.chrono.Era java.io.Serializable { + method public int getValue(); + method public static java.time.chrono.JapaneseEra of(int); + method public static java.time.chrono.JapaneseEra valueOf(String); + method public static java.time.chrono.JapaneseEra[] values(); + field public static final java.time.chrono.JapaneseEra HEISEI; + field public static final java.time.chrono.JapaneseEra MEIJI; + field public static final java.time.chrono.JapaneseEra REIWA; + field public static final java.time.chrono.JapaneseEra SHOWA; + field public static final java.time.chrono.JapaneseEra TAISHO; + } + + public final class MinguoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable { + method public java.time.chrono.MinguoDate date(java.time.chrono.Era, int, int, int); + method public java.time.chrono.MinguoDate date(int, int, int); + method public java.time.chrono.MinguoDate date(java.time.temporal.TemporalAccessor); + method public java.time.chrono.MinguoDate dateEpochDay(long); + method public java.time.chrono.MinguoDate dateNow(); + method public java.time.chrono.MinguoDate dateNow(java.time.ZoneId); + method public java.time.chrono.MinguoDate dateNow(java.time.Clock); + method public java.time.chrono.MinguoDate dateYearDay(java.time.chrono.Era, int, int); + method public java.time.chrono.MinguoDate dateYearDay(int, int); + method public java.time.chrono.MinguoEra eraOf(int); + method public java.util.List<java.time.chrono.Era> eras(); + method public String getCalendarType(); + method public String getId(); + method public boolean isLeapYear(long); + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate> localDateTime(java.time.temporal.TemporalAccessor); + method public int prolepticYear(java.time.chrono.Era, int); + method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField); + method public java.time.chrono.MinguoDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate> zonedDateTime(java.time.temporal.TemporalAccessor); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate> zonedDateTime(java.time.Instant, java.time.ZoneId); + field public static final java.time.chrono.MinguoChronology INSTANCE; + } + + public final class MinguoDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate> atTime(java.time.LocalTime); + method public static java.time.chrono.MinguoDate from(java.time.temporal.TemporalAccessor); + method public java.time.chrono.MinguoChronology getChronology(); + method public java.time.chrono.MinguoEra getEra(); + method public long getLong(java.time.temporal.TemporalField); + method public int lengthOfMonth(); + method public java.time.chrono.MinguoDate minus(java.time.temporal.TemporalAmount); + method public java.time.chrono.MinguoDate minus(long, java.time.temporal.TemporalUnit); + method public static java.time.chrono.MinguoDate now(); + method public static java.time.chrono.MinguoDate now(java.time.ZoneId); + method public static java.time.chrono.MinguoDate now(java.time.Clock); + method public static java.time.chrono.MinguoDate of(int, int, int); + method public java.time.chrono.MinguoDate plus(java.time.temporal.TemporalAmount); + method public java.time.chrono.MinguoDate plus(long, java.time.temporal.TemporalUnit); + method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.chrono.MinguoDate with(java.time.temporal.TemporalField, long); + method public java.time.chrono.MinguoDate with(java.time.temporal.TemporalAdjuster); + } + + public enum MinguoEra implements java.time.chrono.Era { + method public int getValue(); + method public static java.time.chrono.MinguoEra of(int); + enum_constant public static final java.time.chrono.MinguoEra BEFORE_ROC; + enum_constant public static final java.time.chrono.MinguoEra ROC; + } + + public final class ThaiBuddhistChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable { + method public java.time.chrono.ThaiBuddhistDate date(java.time.chrono.Era, int, int, int); + method public java.time.chrono.ThaiBuddhistDate date(int, int, int); + method public java.time.chrono.ThaiBuddhistDate date(java.time.temporal.TemporalAccessor); + method public java.time.chrono.ThaiBuddhistDate dateEpochDay(long); + method public java.time.chrono.ThaiBuddhistDate dateNow(); + method public java.time.chrono.ThaiBuddhistDate dateNow(java.time.ZoneId); + method public java.time.chrono.ThaiBuddhistDate dateNow(java.time.Clock); + method public java.time.chrono.ThaiBuddhistDate dateYearDay(java.time.chrono.Era, int, int); + method public java.time.chrono.ThaiBuddhistDate dateYearDay(int, int); + method public java.time.chrono.ThaiBuddhistEra eraOf(int); + method public java.util.List<java.time.chrono.Era> eras(); + method public String getCalendarType(); + method public String getId(); + method public boolean isLeapYear(long); + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate> localDateTime(java.time.temporal.TemporalAccessor); + method public int prolepticYear(java.time.chrono.Era, int); + method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField); + method public java.time.chrono.ThaiBuddhistDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate> zonedDateTime(java.time.temporal.TemporalAccessor); + method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate> zonedDateTime(java.time.Instant, java.time.ZoneId); + field public static final java.time.chrono.ThaiBuddhistChronology INSTANCE; + } + + public final class ThaiBuddhistDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster { + method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate> atTime(java.time.LocalTime); + method public static java.time.chrono.ThaiBuddhistDate from(java.time.temporal.TemporalAccessor); + method public java.time.chrono.ThaiBuddhistChronology getChronology(); + method public java.time.chrono.ThaiBuddhistEra getEra(); + method public long getLong(java.time.temporal.TemporalField); + method public int lengthOfMonth(); + method public java.time.chrono.ThaiBuddhistDate minus(java.time.temporal.TemporalAmount); + method public java.time.chrono.ThaiBuddhistDate minus(long, java.time.temporal.TemporalUnit); + method public static java.time.chrono.ThaiBuddhistDate now(); + method public static java.time.chrono.ThaiBuddhistDate now(java.time.ZoneId); + method public static java.time.chrono.ThaiBuddhistDate now(java.time.Clock); + method public static java.time.chrono.ThaiBuddhistDate of(int, int, int); + method public java.time.chrono.ThaiBuddhistDate plus(java.time.temporal.TemporalAmount); + method public java.time.chrono.ThaiBuddhistDate plus(long, java.time.temporal.TemporalUnit); + method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public java.time.chrono.ThaiBuddhistDate with(java.time.temporal.TemporalField, long); + method public java.time.chrono.ThaiBuddhistDate with(java.time.temporal.TemporalAdjuster); + } + + public enum ThaiBuddhistEra implements java.time.chrono.Era { + method public int getValue(); + method public static java.time.chrono.ThaiBuddhistEra of(int); + enum_constant public static final java.time.chrono.ThaiBuddhistEra BE; + enum_constant public static final java.time.chrono.ThaiBuddhistEra BEFORE_BE; + } + +} + +package java.time.format { + + public final class DateTimeFormatter { + method public String format(java.time.temporal.TemporalAccessor); + method public void formatTo(java.time.temporal.TemporalAccessor, Appendable); + method public java.time.chrono.Chronology getChronology(); + method public java.time.format.DecimalStyle getDecimalStyle(); + method public java.util.Locale getLocale(); + method public java.util.Set<java.time.temporal.TemporalField> getResolverFields(); + method public java.time.format.ResolverStyle getResolverStyle(); + method public java.time.ZoneId getZone(); + method public static java.time.format.DateTimeFormatter ofLocalizedDate(java.time.format.FormatStyle); + method public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle); + method public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle, java.time.format.FormatStyle); + method public static java.time.format.DateTimeFormatter ofLocalizedTime(java.time.format.FormatStyle); + method public static java.time.format.DateTimeFormatter ofPattern(String); + method public static java.time.format.DateTimeFormatter ofPattern(String, java.util.Locale); + method public java.time.temporal.TemporalAccessor parse(CharSequence); + method public java.time.temporal.TemporalAccessor parse(CharSequence, java.text.ParsePosition); + method public <T> T parse(CharSequence, java.time.temporal.TemporalQuery<T>); + method public java.time.temporal.TemporalAccessor parseBest(CharSequence, java.time.temporal.TemporalQuery<?>...); + method public java.time.temporal.TemporalAccessor parseUnresolved(CharSequence, java.text.ParsePosition); + method public static java.time.temporal.TemporalQuery<java.time.Period> parsedExcessDays(); + method public static java.time.temporal.TemporalQuery<java.lang.Boolean> parsedLeapSecond(); + method public java.text.Format toFormat(); + method public java.text.Format toFormat(java.time.temporal.TemporalQuery<?>); + method public java.time.format.DateTimeFormatter withChronology(java.time.chrono.Chronology); + method public java.time.format.DateTimeFormatter withDecimalStyle(java.time.format.DecimalStyle); + method public java.time.format.DateTimeFormatter withLocale(java.util.Locale); + method public java.time.format.DateTimeFormatter withResolverFields(java.time.temporal.TemporalField...); + method public java.time.format.DateTimeFormatter withResolverFields(java.util.Set<java.time.temporal.TemporalField>); + method public java.time.format.DateTimeFormatter withResolverStyle(java.time.format.ResolverStyle); + method public java.time.format.DateTimeFormatter withZone(java.time.ZoneId); + field public static final java.time.format.DateTimeFormatter BASIC_ISO_DATE; + field public static final java.time.format.DateTimeFormatter ISO_DATE; + field public static final java.time.format.DateTimeFormatter ISO_DATE_TIME; + field public static final java.time.format.DateTimeFormatter ISO_INSTANT; + field public static final java.time.format.DateTimeFormatter ISO_LOCAL_DATE; + field public static final java.time.format.DateTimeFormatter ISO_LOCAL_DATE_TIME; + field public static final java.time.format.DateTimeFormatter ISO_LOCAL_TIME; + field public static final java.time.format.DateTimeFormatter ISO_OFFSET_DATE; + field public static final java.time.format.DateTimeFormatter ISO_OFFSET_DATE_TIME; + field public static final java.time.format.DateTimeFormatter ISO_OFFSET_TIME; + field public static final java.time.format.DateTimeFormatter ISO_ORDINAL_DATE; + field public static final java.time.format.DateTimeFormatter ISO_TIME; + field public static final java.time.format.DateTimeFormatter ISO_WEEK_DATE; + field public static final java.time.format.DateTimeFormatter ISO_ZONED_DATE_TIME; + field public static final java.time.format.DateTimeFormatter RFC_1123_DATE_TIME; + } + + public final class DateTimeFormatterBuilder { + ctor public DateTimeFormatterBuilder(); + method public java.time.format.DateTimeFormatterBuilder append(java.time.format.DateTimeFormatter); + method public java.time.format.DateTimeFormatterBuilder appendChronologyId(); + method public java.time.format.DateTimeFormatterBuilder appendChronologyText(java.time.format.TextStyle); + method public java.time.format.DateTimeFormatterBuilder appendFraction(java.time.temporal.TemporalField, int, int, boolean); + method public java.time.format.DateTimeFormatterBuilder appendInstant(); + method public java.time.format.DateTimeFormatterBuilder appendInstant(int); + method public java.time.format.DateTimeFormatterBuilder appendLiteral(char); + method public java.time.format.DateTimeFormatterBuilder appendLiteral(String); + method public java.time.format.DateTimeFormatterBuilder appendLocalized(java.time.format.FormatStyle, java.time.format.FormatStyle); + method public java.time.format.DateTimeFormatterBuilder appendLocalizedOffset(java.time.format.TextStyle); + method public java.time.format.DateTimeFormatterBuilder appendOffset(String, String); + method public java.time.format.DateTimeFormatterBuilder appendOffsetId(); + method public java.time.format.DateTimeFormatterBuilder appendOptional(java.time.format.DateTimeFormatter); + method public java.time.format.DateTimeFormatterBuilder appendPattern(String); + method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField); + method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField, java.time.format.TextStyle); + method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField, java.util.Map<java.lang.Long,java.lang.String>); + method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField); + method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField, int); + method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField, int, int, java.time.format.SignStyle); + method public java.time.format.DateTimeFormatterBuilder appendValueReduced(java.time.temporal.TemporalField, int, int, int); + method public java.time.format.DateTimeFormatterBuilder appendValueReduced(java.time.temporal.TemporalField, int, int, java.time.chrono.ChronoLocalDate); + method public java.time.format.DateTimeFormatterBuilder appendZoneId(); + method public java.time.format.DateTimeFormatterBuilder appendZoneOrOffsetId(); + method public java.time.format.DateTimeFormatterBuilder appendZoneRegionId(); + method public java.time.format.DateTimeFormatterBuilder appendZoneText(java.time.format.TextStyle); + method public java.time.format.DateTimeFormatterBuilder appendZoneText(java.time.format.TextStyle, java.util.Set<java.time.ZoneId>); + method public static String getLocalizedDateTimePattern(java.time.format.FormatStyle, java.time.format.FormatStyle, java.time.chrono.Chronology, java.util.Locale); + method public java.time.format.DateTimeFormatterBuilder optionalEnd(); + method public java.time.format.DateTimeFormatterBuilder optionalStart(); + method public java.time.format.DateTimeFormatterBuilder padNext(int); + method public java.time.format.DateTimeFormatterBuilder padNext(int, char); + method public java.time.format.DateTimeFormatterBuilder parseCaseInsensitive(); + method public java.time.format.DateTimeFormatterBuilder parseCaseSensitive(); + method public java.time.format.DateTimeFormatterBuilder parseDefaulting(java.time.temporal.TemporalField, long); + method public java.time.format.DateTimeFormatterBuilder parseLenient(); + method public java.time.format.DateTimeFormatterBuilder parseStrict(); + method public java.time.format.DateTimeFormatter toFormatter(); + method public java.time.format.DateTimeFormatter toFormatter(java.util.Locale); + } + + public class DateTimeParseException extends java.time.DateTimeException { + ctor public DateTimeParseException(String, CharSequence, int); + ctor public DateTimeParseException(String, CharSequence, int, Throwable); + method public int getErrorIndex(); + method public String getParsedString(); + } + + public final class DecimalStyle { + method public static java.util.Set<java.util.Locale> getAvailableLocales(); + method public char getDecimalSeparator(); + method public char getNegativeSign(); + method public char getPositiveSign(); + method public char getZeroDigit(); + method public static java.time.format.DecimalStyle of(java.util.Locale); + method public static java.time.format.DecimalStyle ofDefaultLocale(); + method public java.time.format.DecimalStyle withDecimalSeparator(char); + method public java.time.format.DecimalStyle withNegativeSign(char); + method public java.time.format.DecimalStyle withPositiveSign(char); + method public java.time.format.DecimalStyle withZeroDigit(char); + field public static final java.time.format.DecimalStyle STANDARD; + } + + public enum FormatStyle { + enum_constant public static final java.time.format.FormatStyle FULL; + enum_constant public static final java.time.format.FormatStyle LONG; + enum_constant public static final java.time.format.FormatStyle MEDIUM; + enum_constant public static final java.time.format.FormatStyle SHORT; + } + + public enum ResolverStyle { + enum_constant public static final java.time.format.ResolverStyle LENIENT; + enum_constant public static final java.time.format.ResolverStyle SMART; + enum_constant public static final java.time.format.ResolverStyle STRICT; + } + + public enum SignStyle { + enum_constant public static final java.time.format.SignStyle ALWAYS; + enum_constant public static final java.time.format.SignStyle EXCEEDS_PAD; + enum_constant public static final java.time.format.SignStyle NEVER; + enum_constant public static final java.time.format.SignStyle NORMAL; + enum_constant public static final java.time.format.SignStyle NOT_NEGATIVE; + } + + public enum TextStyle { + method public java.time.format.TextStyle asNormal(); + method public java.time.format.TextStyle asStandalone(); + method public boolean isStandalone(); + enum_constant public static final java.time.format.TextStyle FULL; + enum_constant public static final java.time.format.TextStyle FULL_STANDALONE; + enum_constant public static final java.time.format.TextStyle NARROW; + enum_constant public static final java.time.format.TextStyle NARROW_STANDALONE; + enum_constant public static final java.time.format.TextStyle SHORT; + enum_constant public static final java.time.format.TextStyle SHORT_STANDALONE; + } + +} + +package java.time.temporal { + + public enum ChronoField implements java.time.temporal.TemporalField { + method public <R extends java.time.temporal.Temporal> R adjustInto(R, long); + method public int checkValidIntValue(long); + method public long checkValidValue(long); + method public java.time.temporal.TemporalUnit getBaseUnit(); + method public long getFrom(java.time.temporal.TemporalAccessor); + method public java.time.temporal.TemporalUnit getRangeUnit(); + method public boolean isDateBased(); + method public boolean isSupportedBy(java.time.temporal.TemporalAccessor); + method public boolean isTimeBased(); + method public java.time.temporal.ValueRange range(); + method public java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor); + enum_constant public static final java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH; + enum_constant public static final java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR; + enum_constant public static final java.time.temporal.ChronoField ALIGNED_WEEK_OF_MONTH; + enum_constant public static final java.time.temporal.ChronoField ALIGNED_WEEK_OF_YEAR; + enum_constant public static final java.time.temporal.ChronoField AMPM_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField CLOCK_HOUR_OF_AMPM; + enum_constant public static final java.time.temporal.ChronoField CLOCK_HOUR_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField DAY_OF_MONTH; + enum_constant public static final java.time.temporal.ChronoField DAY_OF_WEEK; + enum_constant public static final java.time.temporal.ChronoField DAY_OF_YEAR; + enum_constant public static final java.time.temporal.ChronoField EPOCH_DAY; + enum_constant public static final java.time.temporal.ChronoField ERA; + enum_constant public static final java.time.temporal.ChronoField HOUR_OF_AMPM; + enum_constant public static final java.time.temporal.ChronoField HOUR_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField INSTANT_SECONDS; + enum_constant public static final java.time.temporal.ChronoField MICRO_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField MICRO_OF_SECOND; + enum_constant public static final java.time.temporal.ChronoField MILLI_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField MILLI_OF_SECOND; + enum_constant public static final java.time.temporal.ChronoField MINUTE_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField MINUTE_OF_HOUR; + enum_constant public static final java.time.temporal.ChronoField MONTH_OF_YEAR; + enum_constant public static final java.time.temporal.ChronoField NANO_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField NANO_OF_SECOND; + enum_constant public static final java.time.temporal.ChronoField OFFSET_SECONDS; + enum_constant public static final java.time.temporal.ChronoField PROLEPTIC_MONTH; + enum_constant public static final java.time.temporal.ChronoField SECOND_OF_DAY; + enum_constant public static final java.time.temporal.ChronoField SECOND_OF_MINUTE; + enum_constant public static final java.time.temporal.ChronoField YEAR; + enum_constant public static final java.time.temporal.ChronoField YEAR_OF_ERA; + } + + public enum ChronoUnit implements java.time.temporal.TemporalUnit { + method public <R extends java.time.temporal.Temporal> R addTo(R, long); + method public long between(java.time.temporal.Temporal, java.time.temporal.Temporal); + method public java.time.Duration getDuration(); + method public boolean isDateBased(); + method public boolean isDurationEstimated(); + method public boolean isTimeBased(); + enum_constant public static final java.time.temporal.ChronoUnit CENTURIES; + enum_constant public static final java.time.temporal.ChronoUnit DAYS; + enum_constant public static final java.time.temporal.ChronoUnit DECADES; + enum_constant public static final java.time.temporal.ChronoUnit ERAS; + enum_constant public static final java.time.temporal.ChronoUnit FOREVER; + enum_constant public static final java.time.temporal.ChronoUnit HALF_DAYS; + enum_constant public static final java.time.temporal.ChronoUnit HOURS; + enum_constant public static final java.time.temporal.ChronoUnit MICROS; + enum_constant public static final java.time.temporal.ChronoUnit MILLENNIA; + enum_constant public static final java.time.temporal.ChronoUnit MILLIS; + enum_constant public static final java.time.temporal.ChronoUnit MINUTES; + enum_constant public static final java.time.temporal.ChronoUnit MONTHS; + enum_constant public static final java.time.temporal.ChronoUnit NANOS; + enum_constant public static final java.time.temporal.ChronoUnit SECONDS; + enum_constant public static final java.time.temporal.ChronoUnit WEEKS; + enum_constant public static final java.time.temporal.ChronoUnit YEARS; + } + + public final class IsoFields { + field public static final java.time.temporal.TemporalField DAY_OF_QUARTER; + field public static final java.time.temporal.TemporalField QUARTER_OF_YEAR; + field public static final java.time.temporal.TemporalUnit QUARTER_YEARS; + field public static final java.time.temporal.TemporalField WEEK_BASED_YEAR; + field public static final java.time.temporal.TemporalUnit WEEK_BASED_YEARS; + field public static final java.time.temporal.TemporalField WEEK_OF_WEEK_BASED_YEAR; + } + + public final class JulianFields { + field public static final java.time.temporal.TemporalField JULIAN_DAY; + field public static final java.time.temporal.TemporalField MODIFIED_JULIAN_DAY; + field public static final java.time.temporal.TemporalField RATA_DIE; + } + + public interface Temporal extends java.time.temporal.TemporalAccessor { + method public boolean isSupported(java.time.temporal.TemporalUnit); + method public default java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount); + method public default java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit); + method public default java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount); + method public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit); + method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit); + method public default java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster); + method public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long); + } + + public interface TemporalAccessor { + method public default int get(java.time.temporal.TemporalField); + method public long getLong(java.time.temporal.TemporalField); + method public boolean isSupported(java.time.temporal.TemporalField); + method public default <R> R query(java.time.temporal.TemporalQuery<R>); + method public default java.time.temporal.ValueRange range(java.time.temporal.TemporalField); + } + + @java.lang.FunctionalInterface public interface TemporalAdjuster { + method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal); + } + + public final class TemporalAdjusters { + method public static java.time.temporal.TemporalAdjuster dayOfWeekInMonth(int, java.time.DayOfWeek); + method public static java.time.temporal.TemporalAdjuster firstDayOfMonth(); + method public static java.time.temporal.TemporalAdjuster firstDayOfNextMonth(); + method public static java.time.temporal.TemporalAdjuster firstDayOfNextYear(); + method public static java.time.temporal.TemporalAdjuster firstDayOfYear(); + method public static java.time.temporal.TemporalAdjuster firstInMonth(java.time.DayOfWeek); + method public static java.time.temporal.TemporalAdjuster lastDayOfMonth(); + method public static java.time.temporal.TemporalAdjuster lastDayOfYear(); + method public static java.time.temporal.TemporalAdjuster lastInMonth(java.time.DayOfWeek); + method public static java.time.temporal.TemporalAdjuster next(java.time.DayOfWeek); + method public static java.time.temporal.TemporalAdjuster nextOrSame(java.time.DayOfWeek); + method public static java.time.temporal.TemporalAdjuster ofDateAdjuster(java.util.function.UnaryOperator<java.time.LocalDate>); + method public static java.time.temporal.TemporalAdjuster previous(java.time.DayOfWeek); + method public static java.time.temporal.TemporalAdjuster previousOrSame(java.time.DayOfWeek); + } + + public interface TemporalAmount { + method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal); + method public long get(java.time.temporal.TemporalUnit); + method public java.util.List<java.time.temporal.TemporalUnit> getUnits(); + method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal); + } + + public interface TemporalField { + method public <R extends java.time.temporal.Temporal> R adjustInto(R, long); + method public java.time.temporal.TemporalUnit getBaseUnit(); + method public default String getDisplayName(java.util.Locale); + method public long getFrom(java.time.temporal.TemporalAccessor); + method public java.time.temporal.TemporalUnit getRangeUnit(); + method public boolean isDateBased(); + method public boolean isSupportedBy(java.time.temporal.TemporalAccessor); + method public boolean isTimeBased(); + method public java.time.temporal.ValueRange range(); + method public java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor); + method public default java.time.temporal.TemporalAccessor resolve(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.temporal.TemporalAccessor, java.time.format.ResolverStyle); + method public String toString(); + } + + public final class TemporalQueries { + method public static java.time.temporal.TemporalQuery<java.time.chrono.Chronology> chronology(); + method public static java.time.temporal.TemporalQuery<java.time.LocalDate> localDate(); + method public static java.time.temporal.TemporalQuery<java.time.LocalTime> localTime(); + method public static java.time.temporal.TemporalQuery<java.time.ZoneOffset> offset(); + method public static java.time.temporal.TemporalQuery<java.time.temporal.TemporalUnit> precision(); + method public static java.time.temporal.TemporalQuery<java.time.ZoneId> zone(); + method public static java.time.temporal.TemporalQuery<java.time.ZoneId> zoneId(); + } + + @java.lang.FunctionalInterface public interface TemporalQuery<R> { + method public R queryFrom(java.time.temporal.TemporalAccessor); + } + + public interface TemporalUnit { + method public <R extends java.time.temporal.Temporal> R addTo(R, long); + method public long between(java.time.temporal.Temporal, java.time.temporal.Temporal); + method public java.time.Duration getDuration(); + method public boolean isDateBased(); + method public boolean isDurationEstimated(); + method public default boolean isSupportedBy(java.time.temporal.Temporal); + method public boolean isTimeBased(); + method public String toString(); + } + + public class UnsupportedTemporalTypeException extends java.time.DateTimeException { + ctor public UnsupportedTemporalTypeException(String); + ctor public UnsupportedTemporalTypeException(String, Throwable); + } + + public final class ValueRange implements java.io.Serializable { + method public int checkValidIntValue(long, java.time.temporal.TemporalField); + method public long checkValidValue(long, java.time.temporal.TemporalField); + method public long getLargestMinimum(); + method public long getMaximum(); + method public long getMinimum(); + method public long getSmallestMaximum(); + method public boolean isFixed(); + method public boolean isIntValue(); + method public boolean isValidIntValue(long); + method public boolean isValidValue(long); + method public static java.time.temporal.ValueRange of(long, long); + method public static java.time.temporal.ValueRange of(long, long, long); + method public static java.time.temporal.ValueRange of(long, long, long, long); + } + + public final class WeekFields implements java.io.Serializable { + method public java.time.temporal.TemporalField dayOfWeek(); + method public java.time.DayOfWeek getFirstDayOfWeek(); + method public int getMinimalDaysInFirstWeek(); + method public static java.time.temporal.WeekFields of(java.util.Locale); + method public static java.time.temporal.WeekFields of(java.time.DayOfWeek, int); + method public java.time.temporal.TemporalField weekBasedYear(); + method public java.time.temporal.TemporalField weekOfMonth(); + method public java.time.temporal.TemporalField weekOfWeekBasedYear(); + method public java.time.temporal.TemporalField weekOfYear(); + field public static final java.time.temporal.WeekFields ISO; + field public static final java.time.temporal.WeekFields SUNDAY_START; + field public static final java.time.temporal.TemporalUnit WEEK_BASED_YEARS; + } + +} + +package java.time.zone { + + public final class ZoneOffsetTransition implements java.lang.Comparable<java.time.zone.ZoneOffsetTransition> java.io.Serializable { + method public int compareTo(java.time.zone.ZoneOffsetTransition); + method public java.time.LocalDateTime getDateTimeAfter(); + method public java.time.LocalDateTime getDateTimeBefore(); + method public java.time.Duration getDuration(); + method public java.time.Instant getInstant(); + method public java.time.ZoneOffset getOffsetAfter(); + method public java.time.ZoneOffset getOffsetBefore(); + method public boolean isGap(); + method public boolean isOverlap(); + method public boolean isValidOffset(java.time.ZoneOffset); + method public static java.time.zone.ZoneOffsetTransition of(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset); + method public long toEpochSecond(); + } + + public final class ZoneOffsetTransitionRule implements java.io.Serializable { + method public java.time.zone.ZoneOffsetTransition createTransition(int); + method public int getDayOfMonthIndicator(); + method public java.time.DayOfWeek getDayOfWeek(); + method public java.time.LocalTime getLocalTime(); + method public java.time.Month getMonth(); + method public java.time.ZoneOffset getOffsetAfter(); + method public java.time.ZoneOffset getOffsetBefore(); + method public java.time.ZoneOffset getStandardOffset(); + method public java.time.zone.ZoneOffsetTransitionRule.TimeDefinition getTimeDefinition(); + method public boolean isMidnightEndOfDay(); + method public static java.time.zone.ZoneOffsetTransitionRule of(java.time.Month, int, java.time.DayOfWeek, java.time.LocalTime, boolean, java.time.zone.ZoneOffsetTransitionRule.TimeDefinition, java.time.ZoneOffset, java.time.ZoneOffset, java.time.ZoneOffset); + } + + public enum ZoneOffsetTransitionRule.TimeDefinition { + method public java.time.LocalDateTime createDateTime(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset); + enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition STANDARD; + enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition UTC; + enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition WALL; + } + + public final class ZoneRules implements java.io.Serializable { + method public java.time.Duration getDaylightSavings(java.time.Instant); + method public java.time.ZoneOffset getOffset(java.time.Instant); + method public java.time.ZoneOffset getOffset(java.time.LocalDateTime); + method public java.time.ZoneOffset getStandardOffset(java.time.Instant); + method public java.time.zone.ZoneOffsetTransition getTransition(java.time.LocalDateTime); + method public java.util.List<java.time.zone.ZoneOffsetTransitionRule> getTransitionRules(); + method public java.util.List<java.time.zone.ZoneOffsetTransition> getTransitions(); + method public java.util.List<java.time.ZoneOffset> getValidOffsets(java.time.LocalDateTime); + method public boolean isDaylightSavings(java.time.Instant); + method public boolean isFixedOffset(); + method public boolean isValidOffset(java.time.LocalDateTime, java.time.ZoneOffset); + method public java.time.zone.ZoneOffsetTransition nextTransition(java.time.Instant); + method public static java.time.zone.ZoneRules of(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransitionRule>); + method public static java.time.zone.ZoneRules of(java.time.ZoneOffset); + method public java.time.zone.ZoneOffsetTransition previousTransition(java.time.Instant); + } + + public class ZoneRulesException extends java.time.DateTimeException { + ctor public ZoneRulesException(String); + ctor public ZoneRulesException(String, Throwable); + } + +} + +package java.util { + + public abstract class AbstractCollection<E> implements java.util.Collection<E> { + ctor protected AbstractCollection(); + method public boolean add(E); + method public boolean addAll(@NonNull java.util.Collection<? extends E>); + method public void clear(); + method public boolean contains(@Nullable Object); + method public boolean containsAll(@NonNull java.util.Collection<?>); + method public boolean isEmpty(); + method public boolean remove(@Nullable Object); + method public boolean removeAll(@NonNull java.util.Collection<?>); + method public boolean retainAll(@NonNull java.util.Collection<?>); + method @NonNull public Object[] toArray(); + method @NonNull public <T> T[] toArray(@NonNull T[]); + } + + public abstract class AbstractList<E> extends java.util.AbstractCollection<E> implements java.util.List<E> { + ctor protected AbstractList(); + method public void add(int, E); + method public boolean addAll(int, @NonNull java.util.Collection<? extends E>); + method public int indexOf(@Nullable Object); + method @NonNull public java.util.Iterator<E> iterator(); + method public int lastIndexOf(@Nullable Object); + method @NonNull public java.util.ListIterator<E> listIterator(); + method @NonNull public java.util.ListIterator<E> listIterator(int); + method public E remove(int); + method protected void removeRange(int, int); + method public E set(int, E); + method @NonNull public java.util.List<E> subList(int, int); + field protected transient int modCount; + } + + public abstract class AbstractMap<K, V> implements java.util.Map<K,V> { + ctor protected AbstractMap(); + method public void clear(); + method public boolean containsKey(@Nullable Object); + method public boolean containsValue(@Nullable Object); + method @Nullable public V get(@Nullable Object); + method public boolean isEmpty(); + method @NonNull public java.util.Set<K> keySet(); + method @Nullable public V put(K, V); + method public void putAll(@NonNull java.util.Map<? extends K,? extends V>); + method @Nullable public V remove(@Nullable Object); + method public int size(); + method @NonNull public java.util.Collection<V> values(); + } + + public static class AbstractMap.SimpleEntry<K, V> implements java.util.Map.Entry<K,V> java.io.Serializable { + ctor public AbstractMap.SimpleEntry(K, V); + ctor public AbstractMap.SimpleEntry(@NonNull java.util.Map.Entry<? extends K,? extends V>); + method public K getKey(); + method public V getValue(); + method public V setValue(V); + } + + public static class AbstractMap.SimpleImmutableEntry<K, V> implements java.util.Map.Entry<K,V> java.io.Serializable { + ctor public AbstractMap.SimpleImmutableEntry(K, V); + ctor public AbstractMap.SimpleImmutableEntry(@NonNull java.util.Map.Entry<? extends K,? extends V>); + method public K getKey(); + method public V getValue(); + method public V setValue(V); + } + + public abstract class AbstractQueue<E> extends java.util.AbstractCollection<E> implements java.util.Queue<E> { + ctor protected AbstractQueue(); + method public E element(); + method public E remove(); + } + + public abstract class AbstractSequentialList<E> extends java.util.AbstractList<E> { + ctor protected AbstractSequentialList(); + method public E get(int); + } + + public abstract class AbstractSet<E> extends java.util.AbstractCollection<E> implements java.util.Set<E> { + ctor protected AbstractSet(); + } + + public class ArrayDeque<E> extends java.util.AbstractCollection<E> implements java.lang.Cloneable java.util.Deque<E> java.io.Serializable { + ctor public ArrayDeque(); + ctor public ArrayDeque(int); + ctor public ArrayDeque(@NonNull java.util.Collection<? extends E>); + method public void addFirst(E); + method public void addLast(E); + method @NonNull public java.util.ArrayDeque<E> clone(); + method @NonNull public java.util.Iterator<E> descendingIterator(); + method public E element(); + method public E getFirst(); + method public E getLast(); + method @NonNull public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public boolean offerFirst(E); + method public boolean offerLast(E); + method @Nullable public E peek(); + method @Nullable public E peekFirst(); + method @Nullable public E peekLast(); + method @Nullable public E poll(); + method @Nullable public E pollFirst(); + method @Nullable public E pollLast(); + method public E pop(); + method public void push(E); + method public E remove(); + method public E removeFirst(); + method public boolean removeFirstOccurrence(@Nullable Object); + method public E removeLast(); + method public boolean removeLastOccurrence(@Nullable Object); + method public int size(); + } + + public class ArrayList<E> extends java.util.AbstractList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable { + ctor public ArrayList(int); + ctor public ArrayList(); + ctor public ArrayList(@NonNull java.util.Collection<? extends E>); + method @NonNull public Object clone(); + method public void ensureCapacity(int); + method public void forEach(@NonNull java.util.function.Consumer<? super E>); + method public E get(int); + method public int size(); + method public void trimToSize(); + } + + public class Arrays { + method @NonNull @java.lang.SafeVarargs public static <T> java.util.List<T> asList(@NonNull T...); + method public static int binarySearch(@NonNull long[], long); + method public static int binarySearch(@NonNull long[], int, int, long); + method public static int binarySearch(@NonNull int[], int); + method public static int binarySearch(@NonNull int[], int, int, int); + method public static int binarySearch(@NonNull short[], short); + method public static int binarySearch(@NonNull short[], int, int, short); + method public static int binarySearch(@NonNull char[], char); + method public static int binarySearch(@NonNull char[], int, int, char); + method public static int binarySearch(@NonNull byte[], byte); + method public static int binarySearch(@NonNull byte[], int, int, byte); + method public static int binarySearch(@NonNull double[], double); + method public static int binarySearch(@NonNull double[], int, int, double); + method public static int binarySearch(@NonNull float[], float); + method public static int binarySearch(@NonNull float[], int, int, float); + method public static int binarySearch(@NonNull Object[], @NonNull Object); + method public static int binarySearch(@NonNull Object[], int, int, @NonNull Object); + method public static <T> int binarySearch(@NonNull T[], T, @Nullable java.util.Comparator<? super T>); + method public static <T> int binarySearch(@NonNull T[], int, int, T, @Nullable java.util.Comparator<? super T>); + method public static int compare(@Nullable boolean[], @Nullable boolean[]); + method public static int compare(@NonNull boolean[], int, int, @NonNull boolean[], int, int); + method public static int compare(@Nullable byte[], @Nullable byte[]); + method public static int compare(@NonNull byte[], int, int, @NonNull byte[], int, int); + method public static int compare(@Nullable short[], @Nullable short[]); + method public static int compare(@NonNull short[], int, int, @NonNull short[], int, int); + method public static int compare(@Nullable char[], @Nullable char[]); + method public static int compare(@NonNull char[], int, int, @NonNull char[], int, int); + method public static int compare(@Nullable int[], @Nullable int[]); + method public static int compare(@NonNull int[], int, int, @NonNull int[], int, int); + method public static int compare(@Nullable long[], @Nullable long[]); + method public static int compare(@NonNull long[], int, int, @NonNull long[], int, int); + method public static int compare(@Nullable float[], @Nullable float[]); + method public static int compare(@NonNull float[], int, int, @NonNull float[], int, int); + method public static int compare(@Nullable double[], @Nullable double[]); + method public static int compare(@NonNull double[], int, int, @NonNull double[], int, int); + method public static <T extends java.lang.Comparable<? super T>> int compare(@Nullable T[], @Nullable T[]); + method public static <T extends java.lang.Comparable<? super T>> int compare(@NonNull T[], int, int, @NonNull T[], int, int); + method public static <T> int compare(@Nullable T[], @Nullable T[], @NonNull java.util.Comparator<? super T>); + method public static <T> int compare(@NonNull T[], int, int, @NonNull T[], int, int, @NonNull java.util.Comparator<? super T>); + method public static int compareUnsigned(@Nullable byte[], @Nullable byte[]); + method public static int compareUnsigned(@NonNull byte[], int, int, @NonNull byte[], int, int); + method public static int compareUnsigned(@Nullable short[], @Nullable short[]); + method public static int compareUnsigned(@NonNull short[], int, int, @NonNull short[], int, int); + method public static int compareUnsigned(@Nullable int[], @Nullable int[]); + method public static int compareUnsigned(@NonNull int[], int, int, @NonNull int[], int, int); + method public static int compareUnsigned(@Nullable long[], @Nullable long[]); + method public static int compareUnsigned(@NonNull long[], int, int, @NonNull long[], int, int); + method @NonNull public static <T> T[] copyOf(@NonNull T[], int); + method @NonNull public static <T, U> T[] copyOf(@NonNull U[], int, @NonNull Class<? extends T[]>); + method @NonNull public static byte[] copyOf(@NonNull byte[], int); + method @NonNull public static short[] copyOf(@NonNull short[], int); + method @NonNull public static int[] copyOf(@NonNull int[], int); + method @NonNull public static long[] copyOf(@NonNull long[], int); + method @NonNull public static char[] copyOf(@NonNull char[], int); + method @NonNull public static float[] copyOf(@NonNull float[], int); + method @NonNull public static double[] copyOf(@NonNull double[], int); + method @NonNull public static boolean[] copyOf(@NonNull boolean[], int); + method @NonNull public static <T> T[] copyOfRange(@NonNull T[], int, int); + method @NonNull public static <T, U> T[] copyOfRange(@NonNull U[], int, int, @NonNull Class<? extends T[]>); + method @NonNull public static byte[] copyOfRange(@NonNull byte[], int, int); + method @NonNull public static short[] copyOfRange(@NonNull short[], int, int); + method @NonNull public static int[] copyOfRange(@NonNull int[], int, int); + method @NonNull public static long[] copyOfRange(@NonNull long[], int, int); + method @NonNull public static char[] copyOfRange(@NonNull char[], int, int); + method @NonNull public static float[] copyOfRange(@NonNull float[], int, int); + method @NonNull public static double[] copyOfRange(@NonNull double[], int, int); + method @NonNull public static boolean[] copyOfRange(@NonNull boolean[], int, int); + method public static boolean deepEquals(@Nullable Object[], @Nullable Object[]); + method public static int deepHashCode(@Nullable Object[]); + method @NonNull public static String deepToString(@Nullable Object[]); + method public static boolean equals(@Nullable long[], @Nullable long[]); + method public static boolean equals(@NonNull long[], int, int, @NonNull long[], int, int); + method public static boolean equals(@Nullable int[], @Nullable int[]); + method public static boolean equals(@NonNull int[], int, int, @NonNull int[], int, int); + method public static boolean equals(@Nullable short[], @Nullable short[]); + method public static boolean equals(@NonNull short[], int, int, @NonNull short[], int, int); + method public static boolean equals(@Nullable char[], @Nullable char[]); + method public static boolean equals(@NonNull char[], int, int, @NonNull char[], int, int); + method public static boolean equals(@Nullable byte[], @Nullable byte[]); + method public static boolean equals(@NonNull byte[], int, int, @NonNull byte[], int, int); + method public static boolean equals(@Nullable boolean[], @Nullable boolean[]); + method public static boolean equals(@NonNull boolean[], int, int, @NonNull boolean[], int, int); + method public static boolean equals(@Nullable double[], @Nullable double[]); + method public static boolean equals(@NonNull double[], int, int, @NonNull double[], int, int); + method public static boolean equals(@Nullable float[], @Nullable float[]); + method public static boolean equals(@NonNull float[], int, int, @NonNull float[], int, int); + method public static boolean equals(@Nullable Object[], @Nullable Object[]); + method public static boolean equals(@NonNull Object[], int, int, @NonNull Object[], int, int); + method public static <T> boolean equals(@Nullable T[], @Nullable T[], @NonNull java.util.Comparator<? super T>); + method public static <T> boolean equals(@NonNull T[], int, int, @NonNull T[], int, int, @NonNull java.util.Comparator<? super T>); + method public static void fill(@NonNull long[], long); + method public static void fill(@NonNull long[], int, int, long); + method public static void fill(@NonNull int[], int); + method public static void fill(@NonNull int[], int, int, int); + method public static void fill(@NonNull short[], short); + method public static void fill(@NonNull short[], int, int, short); + method public static void fill(@NonNull char[], char); + method public static void fill(@NonNull char[], int, int, char); + method public static void fill(@NonNull byte[], byte); + method public static void fill(@NonNull byte[], int, int, byte); + method public static void fill(@NonNull boolean[], boolean); + method public static void fill(@NonNull boolean[], int, int, boolean); + method public static void fill(@NonNull double[], double); + method public static void fill(@NonNull double[], int, int, double); + method public static void fill(@NonNull float[], float); + method public static void fill(@NonNull float[], int, int, float); + method public static void fill(@NonNull Object[], @Nullable Object); + method public static void fill(@NonNull Object[], int, int, @Nullable Object); + method public static int hashCode(@Nullable long[]); + method public static int hashCode(@Nullable int[]); + method public static int hashCode(@Nullable short[]); + method public static int hashCode(@Nullable char[]); + method public static int hashCode(@Nullable byte[]); + method public static int hashCode(@Nullable boolean[]); + method public static int hashCode(@Nullable float[]); + method public static int hashCode(@Nullable double[]); + method public static int hashCode(@Nullable Object[]); + method public static int mismatch(@NonNull boolean[], @NonNull boolean[]); + method public static int mismatch(@NonNull boolean[], int, int, @NonNull boolean[], int, int); + method public static int mismatch(@NonNull byte[], @NonNull byte[]); + method public static int mismatch(byte[], int, int, byte[], int, int); + method public static int mismatch(@NonNull char[], @NonNull char[]); + method public static int mismatch(@NonNull char[], int, int, @NonNull char[], int, int); + method public static int mismatch(@NonNull short[], @NonNull short[]); + method public static int mismatch(@NonNull short[], int, int, @NonNull short[], int, int); + method public static int mismatch(@NonNull int[], @NonNull int[]); + method public static int mismatch(@NonNull int[], int, int, @NonNull int[], int, int); + method public static int mismatch(@NonNull long[], @NonNull long[]); + method public static int mismatch(@NonNull long[], int, int, @NonNull long[], int, int); + method public static int mismatch(@NonNull float[], @NonNull float[]); + method public static int mismatch(@NonNull float[], int, int, @NonNull float[], int, int); + method public static int mismatch(@NonNull double[], @NonNull double[]); + method public static int mismatch(@NonNull double[], int, int, @NonNull double[], int, int); + method public static int mismatch(@NonNull Object[], @NonNull Object[]); + method public static int mismatch(@NonNull Object[], int, int, @NonNull Object[], int, int); + method public static <T> int mismatch(@NonNull T[], @NonNull T[], @NonNull java.util.Comparator<? super T>); + method public static <T> int mismatch(@NonNull T[], int, int, @NonNull T[], int, int, @NonNull java.util.Comparator<? super T>); + method public static <T> void parallelPrefix(@NonNull T[], @NonNull java.util.function.BinaryOperator<T>); + method public static <T> void parallelPrefix(@NonNull T[], int, int, @NonNull java.util.function.BinaryOperator<T>); + method public static void parallelPrefix(@NonNull long[], @NonNull java.util.function.LongBinaryOperator); + method public static void parallelPrefix(@NonNull long[], int, int, @NonNull java.util.function.LongBinaryOperator); + method public static void parallelPrefix(@NonNull double[], @NonNull java.util.function.DoubleBinaryOperator); + method public static void parallelPrefix(@NonNull double[], int, int, @NonNull java.util.function.DoubleBinaryOperator); + method public static void parallelPrefix(@NonNull int[], @NonNull java.util.function.IntBinaryOperator); + method public static void parallelPrefix(@NonNull int[], int, int, @NonNull java.util.function.IntBinaryOperator); + method public static <T> void parallelSetAll(@NonNull T[], @NonNull java.util.function.IntFunction<? extends T>); + method public static void parallelSetAll(@NonNull int[], @NonNull java.util.function.IntUnaryOperator); + method public static void parallelSetAll(@NonNull long[], @NonNull java.util.function.IntToLongFunction); + method public static void parallelSetAll(@NonNull double[], @NonNull java.util.function.IntToDoubleFunction); + method public static void parallelSort(@NonNull byte[]); + method public static void parallelSort(@NonNull byte[], int, int); + method public static void parallelSort(@NonNull char[]); + method public static void parallelSort(@NonNull char[], int, int); + method public static void parallelSort(@NonNull short[]); + method public static void parallelSort(@NonNull short[], int, int); + method public static void parallelSort(@NonNull int[]); + method public static void parallelSort(@NonNull int[], int, int); + method public static void parallelSort(@NonNull long[]); + method public static void parallelSort(@NonNull long[], int, int); + method public static void parallelSort(@NonNull float[]); + method public static void parallelSort(@NonNull float[], int, int); + method public static void parallelSort(@NonNull double[]); + method public static void parallelSort(@NonNull double[], int, int); + method public static <T extends java.lang.Comparable<? super T>> void parallelSort(@NonNull T[]); + method public static <T extends java.lang.Comparable<? super T>> void parallelSort(@NonNull T[], int, int); + method public static <T> void parallelSort(@NonNull T[], @Nullable java.util.Comparator<? super T>); + method public static <T> void parallelSort(@NonNull T[], int, int, @Nullable java.util.Comparator<? super T>); + method public static <T> void setAll(@NonNull T[], @NonNull java.util.function.IntFunction<? extends T>); + method public static void setAll(@NonNull int[], @NonNull java.util.function.IntUnaryOperator); + method public static void setAll(@NonNull long[], @NonNull java.util.function.IntToLongFunction); + method public static void setAll(@NonNull double[], @NonNull java.util.function.IntToDoubleFunction); + method public static void sort(@NonNull int[]); + method public static void sort(@NonNull int[], int, int); + method public static void sort(@NonNull long[]); + method public static void sort(@NonNull long[], int, int); + method public static void sort(@NonNull short[]); + method public static void sort(@NonNull short[], int, int); + method public static void sort(@NonNull char[]); + method public static void sort(@NonNull char[], int, int); + method public static void sort(@NonNull byte[]); + method public static void sort(@NonNull byte[], int, int); + method public static void sort(@NonNull float[]); + method public static void sort(@NonNull float[], int, int); + method public static void sort(@NonNull double[]); + method public static void sort(@NonNull double[], int, int); + method public static void sort(@NonNull Object[]); + method public static void sort(@NonNull Object[], int, int); + method public static <T> void sort(@NonNull T[], @Nullable java.util.Comparator<? super T>); + method public static <T> void sort(@NonNull T[], int, int, @Nullable java.util.Comparator<? super T>); + method @NonNull public static <T> java.util.Spliterator<T> spliterator(@NonNull T[]); + method @NonNull public static <T> java.util.Spliterator<T> spliterator(@NonNull T[], int, int); + method @NonNull public static java.util.Spliterator.OfInt spliterator(@NonNull int[]); + method @NonNull public static java.util.Spliterator.OfInt spliterator(@NonNull int[], int, int); + method @NonNull public static java.util.Spliterator.OfLong spliterator(@NonNull long[]); + method @NonNull public static java.util.Spliterator.OfLong spliterator(@NonNull long[], int, int); + method @NonNull public static java.util.Spliterator.OfDouble spliterator(@NonNull double[]); + method @NonNull public static java.util.Spliterator.OfDouble spliterator(@NonNull double[], int, int); + method @NonNull public static <T> java.util.stream.Stream<T> stream(@NonNull T[]); + method @NonNull public static <T> java.util.stream.Stream<T> stream(@NonNull T[], int, int); + method @NonNull public static java.util.stream.IntStream stream(@NonNull int[]); + method @NonNull public static java.util.stream.IntStream stream(@NonNull int[], int, int); + method @NonNull public static java.util.stream.LongStream stream(@NonNull long[]); + method @NonNull public static java.util.stream.LongStream stream(@NonNull long[], int, int); + method @NonNull public static java.util.stream.DoubleStream stream(@NonNull double[]); + method @NonNull public static java.util.stream.DoubleStream stream(@NonNull double[], int, int); + method @NonNull public static String toString(@Nullable long[]); + method @NonNull public static String toString(@Nullable int[]); + method @NonNull public static String toString(@Nullable short[]); + method @NonNull public static String toString(@Nullable char[]); + method @NonNull public static String toString(@Nullable byte[]); + method @NonNull public static String toString(@Nullable boolean[]); + method @NonNull public static String toString(@Nullable float[]); + method @NonNull public static String toString(@Nullable double[]); + method @NonNull public static String toString(@Nullable Object[]); + } + + public class Base64 { + method public static java.util.Base64.Decoder getDecoder(); + method public static java.util.Base64.Encoder getEncoder(); + method public static java.util.Base64.Decoder getMimeDecoder(); + method public static java.util.Base64.Encoder getMimeEncoder(); + method public static java.util.Base64.Encoder getMimeEncoder(int, byte[]); + method public static java.util.Base64.Decoder getUrlDecoder(); + method public static java.util.Base64.Encoder getUrlEncoder(); + } + + public static class Base64.Decoder { + method public byte[] decode(byte[]); + method public byte[] decode(String); + method public int decode(byte[], byte[]); + method public java.nio.ByteBuffer decode(java.nio.ByteBuffer); + method public java.io.InputStream wrap(java.io.InputStream); + } + + public static class Base64.Encoder { + method public byte[] encode(byte[]); + method public int encode(byte[], byte[]); + method public java.nio.ByteBuffer encode(java.nio.ByteBuffer); + method public String encodeToString(byte[]); + method public java.util.Base64.Encoder withoutPadding(); + method public java.io.OutputStream wrap(java.io.OutputStream); + } + + public class BitSet implements java.lang.Cloneable java.io.Serializable { + ctor public BitSet(); + ctor public BitSet(int); + method public void and(java.util.BitSet); + method public void andNot(java.util.BitSet); + method public int cardinality(); + method public void clear(int); + method public void clear(int, int); + method public void clear(); + method public Object clone(); + method public void flip(int); + method public void flip(int, int); + method public boolean get(int); + method public java.util.BitSet get(int, int); + method public boolean intersects(java.util.BitSet); + method public boolean isEmpty(); + method public int length(); + method public int nextClearBit(int); + method public int nextSetBit(int); + method public void or(java.util.BitSet); + method public int previousClearBit(int); + method public int previousSetBit(int); + method public void set(int); + method public void set(int, boolean); + method public void set(int, int); + method public void set(int, int, boolean); + method public int size(); + method public java.util.stream.IntStream stream(); + method public byte[] toByteArray(); + method public long[] toLongArray(); + method public static java.util.BitSet valueOf(long[]); + method public static java.util.BitSet valueOf(java.nio.LongBuffer); + method public static java.util.BitSet valueOf(byte[]); + method public static java.util.BitSet valueOf(java.nio.ByteBuffer); + method public void xor(java.util.BitSet); + } + + public abstract class Calendar implements java.lang.Cloneable java.lang.Comparable<java.util.Calendar> java.io.Serializable { + ctor protected Calendar(); + ctor protected Calendar(@NonNull java.util.TimeZone, @NonNull java.util.Locale); + method public abstract void add(int, int); + method public boolean after(@Nullable Object); + method public boolean before(@Nullable Object); + method public final void clear(); + method public final void clear(int); + method @NonNull public Object clone(); + method public int compareTo(@NonNull java.util.Calendar); + method protected void complete(); + method protected abstract void computeFields(); + method protected abstract void computeTime(); + method public int get(int); + method public int getActualMaximum(int); + method public int getActualMinimum(int); + method @NonNull public static java.util.Set<java.lang.String> getAvailableCalendarTypes(); + method @NonNull public static java.util.Locale[] getAvailableLocales(); + method @NonNull public String getCalendarType(); + method @Nullable public String getDisplayName(int, int, @NonNull java.util.Locale); + method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDisplayNames(int, int, @NonNull java.util.Locale); + method public int getFirstDayOfWeek(); + method public abstract int getGreatestMinimum(int); + method @NonNull public static java.util.Calendar getInstance(); + method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.TimeZone); + method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.Locale); + method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.TimeZone, @NonNull java.util.Locale); + method public abstract int getLeastMaximum(int); + method public abstract int getMaximum(int); + method public int getMinimalDaysInFirstWeek(); + method public abstract int getMinimum(int); + method @NonNull public final java.util.Date getTime(); + method public long getTimeInMillis(); + method @NonNull public java.util.TimeZone getTimeZone(); + method public int getWeekYear(); + method public int getWeeksInWeekYear(); + method protected final int internalGet(int); + method public boolean isLenient(); + method public final boolean isSet(int); + method public boolean isWeekDateSupported(); + method public abstract void roll(int, boolean); + method public void roll(int, int); + method public void set(int, int); + method public final void set(int, int, int); + method public final void set(int, int, int, int, int); + method public final void set(int, int, int, int, int, int); + method public void setFirstDayOfWeek(int); + method public void setLenient(boolean); + method public void setMinimalDaysInFirstWeek(int); + method public final void setTime(@NonNull java.util.Date); + method public void setTimeInMillis(long); + method public void setTimeZone(@NonNull java.util.TimeZone); + method public void setWeekDate(int, int, int); + method @NonNull public final java.time.Instant toInstant(); + field public static final int ALL_STYLES = 0; // 0x0 + field public static final int AM = 0; // 0x0 + field public static final int AM_PM = 9; // 0x9 + field public static final int APRIL = 3; // 0x3 + field public static final int AUGUST = 7; // 0x7 + field public static final int DATE = 5; // 0x5 + field public static final int DAY_OF_MONTH = 5; // 0x5 + field public static final int DAY_OF_WEEK = 7; // 0x7 + field public static final int DAY_OF_WEEK_IN_MONTH = 8; // 0x8 + field public static final int DAY_OF_YEAR = 6; // 0x6 + field public static final int DECEMBER = 11; // 0xb + field public static final int DST_OFFSET = 16; // 0x10 + field public static final int ERA = 0; // 0x0 + field public static final int FEBRUARY = 1; // 0x1 + field public static final int FIELD_COUNT = 17; // 0x11 + field public static final int FRIDAY = 6; // 0x6 + field public static final int HOUR = 10; // 0xa + field public static final int HOUR_OF_DAY = 11; // 0xb + field public static final int JANUARY = 0; // 0x0 + field public static final int JULY = 6; // 0x6 + field public static final int JUNE = 5; // 0x5 + field public static final int LONG = 2; // 0x2 + field public static final int LONG_FORMAT = 2; // 0x2 + field public static final int LONG_STANDALONE = 32770; // 0x8002 + field public static final int MARCH = 2; // 0x2 + field public static final int MAY = 4; // 0x4 + field public static final int MILLISECOND = 14; // 0xe + field public static final int MINUTE = 12; // 0xc + field public static final int MONDAY = 2; // 0x2 + field public static final int MONTH = 2; // 0x2 + field public static final int NARROW_FORMAT = 4; // 0x4 + field public static final int NARROW_STANDALONE = 32772; // 0x8004 + field public static final int NOVEMBER = 10; // 0xa + field public static final int OCTOBER = 9; // 0x9 + field public static final int PM = 1; // 0x1 + field public static final int SATURDAY = 7; // 0x7 + field public static final int SECOND = 13; // 0xd + field public static final int SEPTEMBER = 8; // 0x8 + field public static final int SHORT = 1; // 0x1 + field public static final int SHORT_FORMAT = 1; // 0x1 + field public static final int SHORT_STANDALONE = 32769; // 0x8001 + field public static final int SUNDAY = 1; // 0x1 + field public static final int THURSDAY = 5; // 0x5 + field public static final int TUESDAY = 3; // 0x3 + field public static final int UNDECIMBER = 12; // 0xc + field public static final int WEDNESDAY = 4; // 0x4 + field public static final int WEEK_OF_MONTH = 4; // 0x4 + field public static final int WEEK_OF_YEAR = 3; // 0x3 + field public static final int YEAR = 1; // 0x1 + field public static final int ZONE_OFFSET = 15; // 0xf + field protected boolean areFieldsSet; + field @NonNull protected int[] fields; + field @NonNull protected boolean[] isSet; + field protected boolean isTimeSet; + field protected long time; + } + + public static class Calendar.Builder { + ctor public Calendar.Builder(); + method @NonNull public java.util.Calendar build(); + method @NonNull public java.util.Calendar.Builder set(int, int); + method @NonNull public java.util.Calendar.Builder setCalendarType(@NonNull String); + method @NonNull public java.util.Calendar.Builder setDate(int, int, int); + method @NonNull public java.util.Calendar.Builder setFields(@NonNull int...); + method @NonNull public java.util.Calendar.Builder setInstant(long); + method @NonNull public java.util.Calendar.Builder setInstant(@NonNull java.util.Date); + method @NonNull public java.util.Calendar.Builder setLenient(boolean); + method @NonNull public java.util.Calendar.Builder setLocale(@NonNull java.util.Locale); + method @NonNull public java.util.Calendar.Builder setTimeOfDay(int, int, int); + method @NonNull public java.util.Calendar.Builder setTimeOfDay(int, int, int, int); + method @NonNull public java.util.Calendar.Builder setTimeZone(@NonNull java.util.TimeZone); + method @NonNull public java.util.Calendar.Builder setWeekDate(int, int, int); + method @NonNull public java.util.Calendar.Builder setWeekDefinition(int, int); + } + + public interface Collection<E> extends java.lang.Iterable<E> { + method public boolean add(E); + method public boolean addAll(@NonNull java.util.Collection<? extends E>); + method public void clear(); + method public boolean contains(@Nullable Object); + method public boolean containsAll(@NonNull java.util.Collection<?>); + method public boolean equals(@Nullable Object); + method public int hashCode(); + method public boolean isEmpty(); + method @NonNull public java.util.Iterator<E> iterator(); + method @NonNull public default java.util.stream.Stream<E> parallelStream(); + method public boolean remove(@Nullable Object); + method public boolean removeAll(@NonNull java.util.Collection<?>); + method public default boolean removeIf(@NonNull java.util.function.Predicate<? super E>); + method public boolean retainAll(@NonNull java.util.Collection<?>); + method public int size(); + method @NonNull public default java.util.Spliterator<E> spliterator(); + method @NonNull public default java.util.stream.Stream<E> stream(); + method @NonNull public Object[] toArray(); + method @NonNull public <T> T[] toArray(@NonNull T[]); + method @NonNull public default <T> T[] toArray(@NonNull java.util.function.IntFunction<T[]>); + } + + public class Collections { + method @java.lang.SafeVarargs public static <T> boolean addAll(@NonNull java.util.Collection<? super T>, @NonNull T...); + method @NonNull public static <T> java.util.Queue<T> asLifoQueue(@NonNull java.util.Deque<T>); + method public static <T> int binarySearch(@NonNull java.util.List<? extends java.lang.Comparable<? super T>>, @NonNull T); + method public static <T> int binarySearch(@NonNull java.util.List<? extends T>, T, @Nullable java.util.Comparator<? super T>); + method @NonNull public static <E> java.util.Collection<E> checkedCollection(@NonNull java.util.Collection<E>, @NonNull Class<E>); + method @NonNull public static <E> java.util.List<E> checkedList(@NonNull java.util.List<E>, @NonNull Class<E>); + method @NonNull public static <K, V> java.util.Map<K,V> checkedMap(@NonNull java.util.Map<K,V>, @NonNull Class<K>, @NonNull Class<V>); + method @NonNull public static <K, V> java.util.NavigableMap<K,V> checkedNavigableMap(@NonNull java.util.NavigableMap<K,V>, @NonNull Class<K>, @NonNull Class<V>); + method @NonNull public static <E> java.util.NavigableSet<E> checkedNavigableSet(@NonNull java.util.NavigableSet<E>, @NonNull Class<E>); + method @NonNull public static <E> java.util.Queue<E> checkedQueue(@NonNull java.util.Queue<E>, @NonNull Class<E>); + method @NonNull public static <E> java.util.Set<E> checkedSet(@NonNull java.util.Set<E>, @NonNull Class<E>); + method @NonNull public static <K, V> java.util.SortedMap<K,V> checkedSortedMap(@NonNull java.util.SortedMap<K,V>, @NonNull Class<K>, @NonNull Class<V>); + method @NonNull public static <E> java.util.SortedSet<E> checkedSortedSet(@NonNull java.util.SortedSet<E>, @NonNull Class<E>); + method public static <T> void copy(@NonNull java.util.List<? super T>, @NonNull java.util.List<? extends T>); + method public static boolean disjoint(@NonNull java.util.Collection<?>, @NonNull java.util.Collection<?>); + method @NonNull public static <T> java.util.Enumeration<T> emptyEnumeration(); + method @NonNull public static <T> java.util.Iterator<T> emptyIterator(); + method @NonNull public static final <T> java.util.List<T> emptyList(); + method @NonNull public static <T> java.util.ListIterator<T> emptyListIterator(); + method @NonNull public static final <K, V> java.util.Map<K,V> emptyMap(); + method @NonNull public static final <K, V> java.util.NavigableMap<K,V> emptyNavigableMap(); + method @NonNull public static <E> java.util.NavigableSet<E> emptyNavigableSet(); + method @NonNull public static final <T> java.util.Set<T> emptySet(); + method @NonNull public static final <K, V> java.util.SortedMap<K,V> emptySortedMap(); + method @NonNull public static <E> java.util.SortedSet<E> emptySortedSet(); + method @NonNull public static <T> java.util.Enumeration<T> enumeration(@NonNull java.util.Collection<T>); + method public static <T> void fill(@NonNull java.util.List<? super T>, T); + method public static int frequency(@NonNull java.util.Collection<?>, @Nullable Object); + method public static int indexOfSubList(@NonNull java.util.List<?>, @NonNull java.util.List<?>); + method public static int lastIndexOfSubList(@NonNull java.util.List<?>, @NonNull java.util.List<?>); + method @NonNull public static <T> java.util.ArrayList<T> list(@NonNull java.util.Enumeration<T>); + method @NonNull public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T max(@NonNull java.util.Collection<? extends T>); + method public static <T> T max(@NonNull java.util.Collection<? extends T>, @Nullable java.util.Comparator<? super T>); + method @NonNull public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T min(@NonNull java.util.Collection<? extends T>); + method public static <T> T min(@NonNull java.util.Collection<? extends T>, @Nullable java.util.Comparator<? super T>); + method @NonNull public static <T> java.util.List<T> nCopies(int, T); + method @NonNull public static <E> java.util.Set<E> newSetFromMap(@NonNull java.util.Map<E,java.lang.Boolean>); + method public static <T> boolean replaceAll(@NonNull java.util.List<T>, T, T); + method public static void reverse(@NonNull java.util.List<?>); + method @NonNull public static <T> java.util.Comparator<T> reverseOrder(); + method @NonNull public static <T> java.util.Comparator<T> reverseOrder(@Nullable java.util.Comparator<T>); + method public static void rotate(@NonNull java.util.List<?>, int); + method public static void shuffle(@NonNull java.util.List<?>); + method public static void shuffle(@NonNull java.util.List<?>, @NonNull java.util.Random); + method @NonNull public static <T> java.util.Set<T> singleton(T); + method @NonNull public static <T> java.util.List<T> singletonList(T); + method @NonNull public static <K, V> java.util.Map<K,V> singletonMap(K, V); + method public static <T extends java.lang.Comparable<? super T>> void sort(@NonNull java.util.List<T>); + method public static <T> void sort(@NonNull java.util.List<T>, @Nullable java.util.Comparator<? super T>); + method public static void swap(@NonNull java.util.List<?>, int, int); + method @NonNull public static <T> java.util.Collection<T> synchronizedCollection(@NonNull java.util.Collection<T>); + method @NonNull public static <T> java.util.List<T> synchronizedList(@NonNull java.util.List<T>); + method @NonNull public static <K, V> java.util.Map<K,V> synchronizedMap(@NonNull java.util.Map<K,V>); + method @NonNull public static <K, V> java.util.NavigableMap<K,V> synchronizedNavigableMap(@NonNull java.util.NavigableMap<K,V>); + method @NonNull public static <T> java.util.NavigableSet<T> synchronizedNavigableSet(@NonNull java.util.NavigableSet<T>); + method @NonNull public static <T> java.util.Set<T> synchronizedSet(@NonNull java.util.Set<T>); + method @NonNull public static <K, V> java.util.SortedMap<K,V> synchronizedSortedMap(@NonNull java.util.SortedMap<K,V>); + method @NonNull public static <T> java.util.SortedSet<T> synchronizedSortedSet(@NonNull java.util.SortedSet<T>); + method @NonNull public static <T> java.util.Collection<T> unmodifiableCollection(@NonNull java.util.Collection<? extends T>); + method @NonNull public static <T> java.util.List<T> unmodifiableList(@NonNull java.util.List<? extends T>); + method @NonNull public static <K, V> java.util.Map<K,V> unmodifiableMap(@NonNull java.util.Map<? extends K,? extends V>); + method @NonNull public static <K, V> java.util.NavigableMap<K,V> unmodifiableNavigableMap(@NonNull java.util.NavigableMap<K,? extends V>); + method @NonNull public static <T> java.util.NavigableSet<T> unmodifiableNavigableSet(@NonNull java.util.NavigableSet<T>); + method @NonNull public static <T> java.util.Set<T> unmodifiableSet(@NonNull java.util.Set<? extends T>); + method @NonNull public static <K, V> java.util.SortedMap<K,V> unmodifiableSortedMap(@NonNull java.util.SortedMap<K,? extends V>); + method @NonNull public static <T> java.util.SortedSet<T> unmodifiableSortedSet(@NonNull java.util.SortedSet<T>); + field @NonNull public static final java.util.List EMPTY_LIST; + field @NonNull public static final java.util.Map EMPTY_MAP; + field @NonNull public static final java.util.Set EMPTY_SET; + } + + @java.lang.FunctionalInterface public interface Comparator<T> { + method public int compare(T, 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 boolean equals(Object); + 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 <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>); + } + + public class ConcurrentModificationException extends java.lang.RuntimeException { + ctor public ConcurrentModificationException(); + ctor public ConcurrentModificationException(String); + ctor public ConcurrentModificationException(Throwable); + ctor public ConcurrentModificationException(String, Throwable); + } + + public final class Currency implements java.io.Serializable { + method public static java.util.Set<java.util.Currency> getAvailableCurrencies(); + method public String getCurrencyCode(); + method public int getDefaultFractionDigits(); + method public String getDisplayName(); + method public String getDisplayName(java.util.Locale); + method public static java.util.Currency getInstance(String); + method public static java.util.Currency getInstance(java.util.Locale); + method public int getNumericCode(); + method public String getSymbol(); + method public String getSymbol(java.util.Locale); + } + + public class Date implements java.lang.Cloneable java.lang.Comparable<java.util.Date> java.io.Serializable { + ctor public Date(); + ctor public Date(long); + ctor @Deprecated public Date(int, int, int); + ctor @Deprecated public Date(int, int, int, int, int); + ctor @Deprecated public Date(int, int, int, int, int, int); + ctor @Deprecated public Date(String); + method @Deprecated public static long UTC(int, int, int, int, int, int); + method public boolean after(java.util.Date); + method public boolean before(java.util.Date); + method public Object clone(); + method public int compareTo(java.util.Date); + method public static java.util.Date from(java.time.Instant); + method @Deprecated public int getDate(); + method @Deprecated public int getDay(); + method @Deprecated public int getHours(); + method @Deprecated public int getMinutes(); + method @Deprecated public int getMonth(); + method @Deprecated public int getSeconds(); + method public long getTime(); + method @Deprecated public int getTimezoneOffset(); + method @Deprecated public int getYear(); + method @Deprecated public static long parse(String); + method @Deprecated public void setDate(int); + method @Deprecated public void setHours(int); + method @Deprecated public void setMinutes(int); + method @Deprecated public void setMonth(int); + method @Deprecated public void setSeconds(int); + method public void setTime(long); + method @Deprecated public void setYear(int); + method @Deprecated public String toGMTString(); + method public java.time.Instant toInstant(); + method @Deprecated public String toLocaleString(); + } + + public interface Deque<E> extends java.util.Queue<E> { + method public void addFirst(E); + method public void addLast(E); + method @NonNull public java.util.Iterator<E> descendingIterator(); + method public E getFirst(); + method public E getLast(); + method public boolean offerFirst(E); + method public boolean offerLast(E); + method @Nullable public E peekFirst(); + method @Nullable public E peekLast(); + method @Nullable public E pollFirst(); + method @Nullable public E pollLast(); + method public E pop(); + method public void push(E); + method public E removeFirst(); + method public boolean removeFirstOccurrence(@Nullable Object); + method public E removeLast(); + method public boolean removeLastOccurrence(@Nullable Object); + } + + public abstract class Dictionary<K, V> { + ctor public Dictionary(); + method public abstract java.util.Enumeration<V> elements(); + method public abstract V get(Object); + method public abstract boolean isEmpty(); + method public abstract java.util.Enumeration<K> keys(); + method public abstract V put(K, V); + method public abstract V remove(Object); + method public abstract int size(); + } + + public class DoubleSummaryStatistics implements java.util.function.DoubleConsumer { + ctor public DoubleSummaryStatistics(); + method public void accept(double); + method public void combine(java.util.DoubleSummaryStatistics); + method public final double getAverage(); + method public final long getCount(); + method public final double getMax(); + method public final double getMin(); + method public final double getSum(); + } + + public class DuplicateFormatFlagsException extends java.util.IllegalFormatException { + ctor public DuplicateFormatFlagsException(String); + method public String getFlags(); + } + + public class EmptyStackException extends java.lang.RuntimeException { + ctor public EmptyStackException(); + } + + public class EnumMap<K extends java.lang.Enum<K>, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.io.Serializable { + ctor public EnumMap(Class<K>); + ctor public EnumMap(java.util.EnumMap<K,? extends V>); + ctor public EnumMap(java.util.Map<K,? extends V>); + method public java.util.EnumMap<K,V> clone(); + method public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + } + + public abstract class EnumSet<E extends java.lang.Enum<E>> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.io.Serializable { + method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> allOf(Class<E>); + method public java.util.EnumSet<E> clone(); + 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(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 @java.lang.SafeVarargs 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 interface Enumeration<E> { + method public default java.util.Iterator<E> asIterator(); + method public boolean hasMoreElements(); + method public E nextElement(); + } + + public interface EventListener { + } + + public abstract class EventListenerProxy<T extends java.util.EventListener> implements java.util.EventListener { + ctor public EventListenerProxy(T); + method public T getListener(); + } + + public class EventObject implements java.io.Serializable { + ctor public EventObject(Object); + method public Object getSource(); + field protected transient Object source; + } + + public class FormatFlagsConversionMismatchException extends java.util.IllegalFormatException { + ctor public FormatFlagsConversionMismatchException(String, char); + method public char getConversion(); + method public String getFlags(); + } + + public interface Formattable { + method public void formatTo(java.util.Formatter, int, int, int); + } + + public class FormattableFlags { + field public static final int ALTERNATE = 4; // 0x4 + field public static final int LEFT_JUSTIFY = 1; // 0x1 + field public static final int UPPERCASE = 2; // 0x2 + } + + public final class Formatter implements java.io.Closeable java.io.Flushable { + ctor public Formatter(); + ctor public Formatter(Appendable); + ctor public Formatter(java.util.Locale); + ctor public Formatter(Appendable, java.util.Locale); + ctor public Formatter(String) throws java.io.FileNotFoundException; + ctor public Formatter(String, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public Formatter(String, String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public Formatter(java.io.File) throws java.io.FileNotFoundException; + ctor public Formatter(java.io.File, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public Formatter(java.io.File, String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException; + ctor public Formatter(java.io.PrintStream); + ctor public Formatter(java.io.OutputStream); + ctor public Formatter(java.io.OutputStream, String) throws java.io.UnsupportedEncodingException; + ctor public Formatter(java.io.OutputStream, String, java.util.Locale) throws java.io.UnsupportedEncodingException; + method public void close(); + method public void flush(); + method public java.util.Formatter format(String, java.lang.Object...); + method public java.util.Formatter format(java.util.Locale, String, java.lang.Object...); + method public java.io.IOException ioException(); + method public java.util.Locale locale(); + method public Appendable out(); + } + + public enum Formatter.BigDecimalLayoutForm { + enum_constant public static final java.util.Formatter.BigDecimalLayoutForm DECIMAL_FLOAT; + enum_constant public static final java.util.Formatter.BigDecimalLayoutForm SCIENTIFIC; + } + + public class FormatterClosedException extends java.lang.IllegalStateException { + ctor public FormatterClosedException(); + } + + public class GregorianCalendar extends java.util.Calendar { + ctor public GregorianCalendar(); + ctor public GregorianCalendar(java.util.TimeZone); + ctor public GregorianCalendar(java.util.Locale); + ctor public GregorianCalendar(java.util.TimeZone, java.util.Locale); + ctor public GregorianCalendar(int, int, int); + ctor public GregorianCalendar(int, int, int, int, int); + ctor public GregorianCalendar(int, int, int, int, int, int); + method public void add(int, int); + method protected void computeFields(); + method protected void computeTime(); + method public static java.util.GregorianCalendar from(java.time.ZonedDateTime); + method public int getGreatestMinimum(int); + method public final java.util.Date getGregorianChange(); + method public int getLeastMaximum(int); + method public int getMaximum(int); + method public int getMinimum(int); + method public boolean isLeapYear(int); + method public final boolean isWeekDateSupported(); + method public void roll(int, boolean); + method public void setGregorianChange(java.util.Date); + method public java.time.ZonedDateTime toZonedDateTime(); + field public static final int AD = 1; // 0x1 + field public static final int BC = 0; // 0x0 + } + + public class HashMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable { + ctor public HashMap(int, float); + ctor public HashMap(int); + ctor public HashMap(); + ctor public HashMap(@NonNull java.util.Map<? extends K,? extends V>); + method @NonNull public Object clone(); + method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + } + + public class HashSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.io.Serializable java.util.Set<E> { + ctor public HashSet(); + ctor public HashSet(@NonNull java.util.Collection<? extends E>); + ctor public HashSet(int, float); + ctor public HashSet(int); + method @NonNull public Object clone(); + method @NonNull public java.util.Iterator<E> iterator(); + method public int size(); + } + + public class Hashtable<K, V> extends java.util.Dictionary<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable { + ctor public Hashtable(int, float); + ctor public Hashtable(int); + ctor public Hashtable(); + ctor public Hashtable(java.util.Map<? extends K,? extends V>); + method public void clear(); + method public Object clone(); + method public boolean contains(Object); + method public boolean containsKey(Object); + method public boolean containsValue(Object); + method public java.util.Enumeration<V> elements(); + method public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + method public V get(Object); + method public boolean isEmpty(); + method public java.util.Set<K> keySet(); + method public java.util.Enumeration<K> keys(); + method public V put(K, V); + method public void putAll(java.util.Map<? extends K,? extends V>); + method protected void rehash(); + method public V remove(Object); + method public int size(); + method public java.util.Collection<V> values(); + } + + public class IdentityHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable { + ctor public IdentityHashMap(); + ctor public IdentityHashMap(int); + ctor public IdentityHashMap(java.util.Map<? extends K,? extends V>); + method public Object clone(); + method public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + } + + public class IllegalFormatCodePointException extends java.util.IllegalFormatException { + ctor public IllegalFormatCodePointException(int); + method public int getCodePoint(); + } + + public class IllegalFormatConversionException extends java.util.IllegalFormatException { + ctor public IllegalFormatConversionException(char, Class<?>); + method public Class<?> getArgumentClass(); + method public char getConversion(); + } + + public class IllegalFormatException extends java.lang.IllegalArgumentException { + } + + public class IllegalFormatFlagsException extends java.util.IllegalFormatException { + ctor public IllegalFormatFlagsException(String); + method public String getFlags(); + } + + public class IllegalFormatPrecisionException extends java.util.IllegalFormatException { + ctor public IllegalFormatPrecisionException(int); + method public int getPrecision(); + } + + public class IllegalFormatWidthException extends java.util.IllegalFormatException { + ctor public IllegalFormatWidthException(int); + method public int getWidth(); + } + + public class IllformedLocaleException extends java.lang.RuntimeException { + ctor public IllformedLocaleException(); + ctor public IllformedLocaleException(String); + ctor public IllformedLocaleException(String, int); + method public int getErrorIndex(); + } + + public class InputMismatchException extends java.util.NoSuchElementException { + ctor public InputMismatchException(); + ctor public InputMismatchException(String); + } + + public class IntSummaryStatistics implements java.util.function.IntConsumer { + ctor public IntSummaryStatistics(); + ctor public IntSummaryStatistics(long, int, int, long) throws java.lang.IllegalArgumentException; + method public void accept(int); + method public void combine(java.util.IntSummaryStatistics); + method public final double getAverage(); + method public final long getCount(); + method public final int getMax(); + method public final int getMin(); + method public final long getSum(); + } + + public class InvalidPropertiesFormatException extends java.io.IOException { + ctor public InvalidPropertiesFormatException(Throwable); + ctor public InvalidPropertiesFormatException(String); + } + + public interface Iterator<E> { + method public default void forEachRemaining(@NonNull java.util.function.Consumer<? super E>); + method public boolean hasNext(); + method public E next(); + method public default void remove(); + } + + public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> { + ctor public LinkedHashMap(int, float); + ctor public LinkedHashMap(int); + ctor public LinkedHashMap(); + ctor public LinkedHashMap(java.util.Map<? extends K,? extends V>); + ctor public LinkedHashMap(int, float, boolean); + method protected boolean removeEldestEntry(java.util.Map.Entry<K,V>); + } + + public class LinkedHashSet<E> extends java.util.HashSet<E> implements java.lang.Cloneable java.io.Serializable java.util.Set<E> { + ctor public LinkedHashSet(int, float); + ctor public LinkedHashSet(int); + ctor public LinkedHashSet(); + ctor public LinkedHashSet(java.util.Collection<? extends E>); + } + + public class LinkedList<E> extends java.util.AbstractSequentialList<E> implements java.lang.Cloneable java.util.Deque<E> java.util.List<E> java.io.Serializable { + ctor public LinkedList(); + ctor public LinkedList(@NonNull java.util.Collection<? extends E>); + method public void addFirst(E); + method public void addLast(E); + method @NonNull public Object clone(); + method @NonNull public java.util.Iterator<E> descendingIterator(); + method public E element(); + method public E getFirst(); + method public E getLast(); + method public boolean offer(E); + method public boolean offerFirst(E); + method public boolean offerLast(E); + method @Nullable public E peek(); + method @Nullable public E peekFirst(); + method @Nullable public E peekLast(); + method @Nullable public E poll(); + method @Nullable public E pollFirst(); + method @Nullable public E pollLast(); + method public E pop(); + method public void push(E); + method public E remove(); + method public E removeFirst(); + method public boolean removeFirstOccurrence(@Nullable Object); + method public E removeLast(); + method public boolean removeLastOccurrence(@Nullable Object); + method public int size(); + } + + public interface List<E> extends java.util.Collection<E> { + method public void add(int, E); + method public boolean addAll(int, @NonNull java.util.Collection<? extends E>); + method @NonNull public static <E> java.util.List<E> copyOf(@NonNull java.util.Collection<? extends E>); + method public E get(int); + method public int indexOf(@Nullable Object); + method public int lastIndexOf(@Nullable Object); + method @NonNull public java.util.ListIterator<E> listIterator(); + method @NonNull public java.util.ListIterator<E> listIterator(int); + method @NonNull public static <E> java.util.List<E> of(); + method @NonNull public static <E> java.util.List<E> of(@NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull @java.lang.SafeVarargs public static <E> java.util.List<E> of(@NonNull E...); + method public E remove(int); + method public default void replaceAll(@NonNull java.util.function.UnaryOperator<E>); + method public E set(int, E); + method public default void sort(@Nullable java.util.Comparator<? super E>); + method @NonNull public java.util.List<E> subList(int, int); + } + + public interface ListIterator<E> extends java.util.Iterator<E> { + method public void add(E); + method public boolean hasPrevious(); + method public int nextIndex(); + method public E previous(); + method public int previousIndex(); + method public void remove(); + method public void set(E); + } + + public abstract class ListResourceBundle extends java.util.ResourceBundle { + ctor public ListResourceBundle(); + method protected abstract Object[][] getContents(); + method public java.util.Enumeration<java.lang.String> getKeys(); + method public final Object handleGetObject(String); + } + + public final class Locale implements java.lang.Cloneable java.io.Serializable { + ctor public Locale(@NonNull String, @NonNull String, @NonNull String); + ctor public Locale(@NonNull String, @NonNull String); + ctor public Locale(@NonNull String); + method @NonNull public Object clone(); + method @NonNull public static java.util.List<java.util.Locale> filter(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>, @NonNull java.util.Locale.FilteringMode); + method @NonNull public static java.util.List<java.util.Locale> filter(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>); + method @NonNull public static java.util.List<java.lang.String> filterTags(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>, @NonNull java.util.Locale.FilteringMode); + method @NonNull public static java.util.List<java.lang.String> filterTags(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>); + method @NonNull public static java.util.Locale forLanguageTag(@NonNull String); + method @NonNull public static java.util.Locale[] getAvailableLocales(); + method @NonNull public String getCountry(); + method @NonNull public static java.util.Locale getDefault(); + method @NonNull public static java.util.Locale getDefault(@NonNull java.util.Locale.Category); + method @NonNull public String getDisplayCountry(); + method @NonNull public String getDisplayCountry(@NonNull java.util.Locale); + method @NonNull public String getDisplayLanguage(); + method @NonNull public String getDisplayLanguage(@NonNull java.util.Locale); + method @NonNull public String getDisplayName(); + method @NonNull public String getDisplayName(@NonNull java.util.Locale); + method @NonNull public String getDisplayScript(); + method @NonNull public String getDisplayScript(@NonNull java.util.Locale); + method @NonNull public String getDisplayVariant(); + method @NonNull public String getDisplayVariant(@NonNull java.util.Locale); + method @Nullable public String getExtension(char); + method @NonNull public java.util.Set<java.lang.Character> getExtensionKeys(); + method @NonNull public String getISO3Country() throws java.util.MissingResourceException; + method @NonNull public String getISO3Language() throws java.util.MissingResourceException; + method @NonNull public static String[] getISOCountries(); + method @NonNull public static String[] getISOLanguages(); + method @NonNull public String getLanguage(); + method @NonNull public String getScript(); + method @NonNull public java.util.Set<java.lang.String> getUnicodeLocaleAttributes(); + method @NonNull public java.util.Set<java.lang.String> getUnicodeLocaleKeys(); + method @Nullable public String getUnicodeLocaleType(@NonNull String); + method @NonNull public String getVariant(); + method public boolean hasExtensions(); + method @Nullable public static java.util.Locale lookup(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>); + method @Nullable public static String lookupTag(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>); + method public static void setDefault(@NonNull java.util.Locale); + method public static void setDefault(@NonNull java.util.Locale.Category, @NonNull java.util.Locale); + method @NonNull public java.util.Locale stripExtensions(); + method @NonNull public String toLanguageTag(); + field @NonNull public static final java.util.Locale CANADA; + field @NonNull public static final java.util.Locale CANADA_FRENCH; + field @NonNull public static final java.util.Locale CHINA; + field @NonNull public static final java.util.Locale CHINESE; + field @NonNull public static final java.util.Locale ENGLISH; + field @NonNull public static final java.util.Locale FRANCE; + field @NonNull public static final java.util.Locale FRENCH; + field @NonNull public static final java.util.Locale GERMAN; + field @NonNull public static final java.util.Locale GERMANY; + field @NonNull public static final java.util.Locale ITALIAN; + field @NonNull public static final java.util.Locale ITALY; + field @NonNull public static final java.util.Locale JAPAN; + field @NonNull public static final java.util.Locale JAPANESE; + field @NonNull public static final java.util.Locale KOREA; + field @NonNull public static final java.util.Locale KOREAN; + field @NonNull public static final java.util.Locale PRC; + field public static final char PRIVATE_USE_EXTENSION = 120; // 0x0078 'x' + field @NonNull public static final java.util.Locale ROOT; + field @NonNull public static final java.util.Locale SIMPLIFIED_CHINESE; + field @NonNull public static final java.util.Locale TAIWAN; + field @NonNull public static final java.util.Locale TRADITIONAL_CHINESE; + field @NonNull public static final java.util.Locale UK; + field public static final char UNICODE_LOCALE_EXTENSION = 117; // 0x0075 'u' + field @NonNull public static final java.util.Locale US; + } + + public static final class Locale.Builder { + ctor public Locale.Builder(); + method @NonNull public java.util.Locale.Builder addUnicodeLocaleAttribute(@NonNull String); + method @NonNull public java.util.Locale build(); + method @NonNull public java.util.Locale.Builder clear(); + method @NonNull public java.util.Locale.Builder clearExtensions(); + method @NonNull public java.util.Locale.Builder removeUnicodeLocaleAttribute(@NonNull String); + method @NonNull public java.util.Locale.Builder setExtension(char, @Nullable String); + method @NonNull public java.util.Locale.Builder setLanguage(@Nullable String); + method @NonNull public java.util.Locale.Builder setLanguageTag(@NonNull String); + method @NonNull public java.util.Locale.Builder setLocale(@NonNull java.util.Locale); + method @NonNull public java.util.Locale.Builder setRegion(@Nullable String); + method @NonNull public java.util.Locale.Builder setScript(@Nullable String); + method @NonNull public java.util.Locale.Builder setUnicodeLocaleKeyword(@NonNull String, @Nullable String); + method @NonNull public java.util.Locale.Builder setVariant(@Nullable String); + } + + public enum Locale.Category { + enum_constant public static final java.util.Locale.Category DISPLAY; + enum_constant public static final java.util.Locale.Category FORMAT; + } + + public enum Locale.FilteringMode { + enum_constant public static final java.util.Locale.FilteringMode AUTOSELECT_FILTERING; + enum_constant public static final java.util.Locale.FilteringMode EXTENDED_FILTERING; + enum_constant public static final java.util.Locale.FilteringMode IGNORE_EXTENDED_RANGES; + enum_constant public static final java.util.Locale.FilteringMode MAP_EXTENDED_RANGES; + enum_constant public static final java.util.Locale.FilteringMode REJECT_EXTENDED_RANGES; + } + + public static final class Locale.LanguageRange { + ctor public Locale.LanguageRange(@NonNull String); + ctor public Locale.LanguageRange(@NonNull String, double); + method @NonNull public String getRange(); + method public double getWeight(); + method @NonNull public static java.util.List<java.util.Locale.LanguageRange> mapEquivalents(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>); + method @NonNull public static java.util.List<java.util.Locale.LanguageRange> parse(@NonNull String); + method @NonNull public static java.util.List<java.util.Locale.LanguageRange> parse(@NonNull String, @NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>); + field public static final double MAX_WEIGHT = 1.0; + field public static final double MIN_WEIGHT = 0.0; + } + + public class LongSummaryStatistics implements java.util.function.IntConsumer java.util.function.LongConsumer { + ctor public LongSummaryStatistics(); + ctor public LongSummaryStatistics(long, long, long, long) throws java.lang.IllegalArgumentException; + method public void accept(int); + method public void accept(long); + method public void combine(java.util.LongSummaryStatistics); + method public final double getAverage(); + method public final long getCount(); + method public final long getMax(); + method public final long getMin(); + method public final long getSum(); + } + + public interface Map<K, V> { + method public void clear(); + method @Nullable public default V compute(K, @NonNull java.util.function.BiFunction<? super K,? super V,? extends V>); + method @Nullable public default V computeIfAbsent(K, @NonNull java.util.function.Function<? super K,? extends V>); + method @Nullable public default V computeIfPresent(K, @NonNull java.util.function.BiFunction<? super K,? super V,? extends V>); + method public boolean containsKey(@Nullable Object); + method public boolean containsValue(@Nullable Object); + method @NonNull public static <K, V> java.util.Map<K,V> copyOf(@NonNull java.util.Map<? extends K,? extends V>); + method @NonNull public static <K, V> java.util.Map.Entry<K,V> entry(@NonNull K, @NonNull V); + method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + method public boolean equals(@Nullable Object); + method public default void forEach(@NonNull java.util.function.BiConsumer<? super K,? super V>); + method @Nullable public V get(@Nullable Object); + method @Nullable public default V getOrDefault(@Nullable Object, @Nullable V); + method public int hashCode(); + method public boolean isEmpty(); + method @NonNull public java.util.Set<K> keySet(); + method @Nullable public default V merge(K, @NonNull V, @NonNull java.util.function.BiFunction<? super V,? super V,? extends V>); + method @NonNull public static <K, V> java.util.Map<K,V> of(); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V); + method @NonNull @java.lang.SafeVarargs public static <K, V> java.util.Map<K,V> ofEntries(@NonNull java.util.Map.Entry<? extends K,? extends V>...); + method @Nullable public V put(K, V); + method public void putAll(@NonNull java.util.Map<? extends K,? extends V>); + method @Nullable public default V putIfAbsent(K, V); + method @Nullable public V remove(@Nullable Object); + method public default boolean remove(@Nullable Object, @Nullable Object); + method public default boolean replace(K, @Nullable V, V); + method @Nullable public default V replace(K, V); + method public default void replaceAll(@NonNull java.util.function.BiFunction<? super K,? super V,? extends V>); + method public int size(); + method @NonNull public java.util.Collection<V> values(); + } + + public static interface Map.Entry<K, V> { + method @NonNull public static <K extends java.lang.Comparable<? super K>, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByKey(); + method @NonNull public static <K, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByKey(@NonNull java.util.Comparator<? super K>); + method @NonNull public static <K, V extends java.lang.Comparable<? super V>> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByValue(); + method @NonNull public static <K, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByValue(@NonNull java.util.Comparator<? super V>); + method public boolean equals(@Nullable Object); + method public K getKey(); + method public V getValue(); + method public int hashCode(); + method public V setValue(V); + } + + public class MissingFormatArgumentException extends java.util.IllegalFormatException { + ctor public MissingFormatArgumentException(String); + method public String getFormatSpecifier(); + } + + public class MissingFormatWidthException extends java.util.IllegalFormatException { + ctor public MissingFormatWidthException(String); + method public String getFormatSpecifier(); + } + + public class MissingResourceException extends java.lang.RuntimeException { + ctor public MissingResourceException(String, String, String); + method public String getClassName(); + method public String getKey(); + } + + public interface NavigableMap<K, V> extends java.util.SortedMap<K,V> { + method @Nullable public java.util.Map.Entry<K,V> ceilingEntry(K); + method @Nullable public K ceilingKey(K); + method @NonNull public java.util.NavigableSet<K> descendingKeySet(); + method @NonNull public java.util.NavigableMap<K,V> descendingMap(); + method @Nullable public java.util.Map.Entry<K,V> firstEntry(); + method @Nullable public java.util.Map.Entry<K,V> floorEntry(K); + method @Nullable public K floorKey(K); + method @NonNull public java.util.NavigableMap<K,V> headMap(K, boolean); + method @Nullable public java.util.Map.Entry<K,V> higherEntry(K); + method @Nullable public K higherKey(K); + method @Nullable public java.util.Map.Entry<K,V> lastEntry(); + method @Nullable public java.util.Map.Entry<K,V> lowerEntry(K); + method @Nullable public K lowerKey(K); + method @NonNull public java.util.NavigableSet<K> navigableKeySet(); + method @Nullable public java.util.Map.Entry<K,V> pollFirstEntry(); + method @Nullable public java.util.Map.Entry<K,V> pollLastEntry(); + method @NonNull public java.util.NavigableMap<K,V> subMap(K, boolean, K, boolean); + method @NonNull public java.util.NavigableMap<K,V> tailMap(K, boolean); + } + + public interface NavigableSet<E> extends java.util.SortedSet<E> { + method public E ceiling(E); + method public java.util.Iterator<E> descendingIterator(); + method public java.util.NavigableSet<E> descendingSet(); + method public E floor(E); + method public java.util.NavigableSet<E> headSet(E, boolean); + method public E higher(E); + method public E lower(E); + method public E pollFirst(); + method public E pollLast(); + method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean); + method public java.util.NavigableSet<E> tailSet(E, boolean); + } + + public class NoSuchElementException extends java.lang.RuntimeException { + ctor public NoSuchElementException(); + ctor public NoSuchElementException(String); + } + + public final class Objects { + method public static int checkFromIndexSize(int, int, int); + method public static int checkFromToIndex(int, int, int); + method public static int checkIndex(int, int); + method public static <T> int compare(T, T, @NonNull java.util.Comparator<? super T>); + method public static boolean deepEquals(@Nullable Object, @Nullable Object); + method public static boolean equals(@Nullable Object, @Nullable Object); + method public static int hash(@Nullable java.lang.Object...); + method public static int hashCode(@Nullable Object); + method public static boolean isNull(@Nullable Object); + method public static boolean nonNull(@Nullable Object); + method @NonNull public static <T> T requireNonNull(@Nullable T); + method @NonNull public static <T> T requireNonNull(@Nullable T, @NonNull String); + method @NonNull public static <T> T requireNonNull(@Nullable T, @NonNull java.util.function.Supplier<java.lang.String>); + method @NonNull public static <T> T requireNonNullElse(@Nullable T, @NonNull T); + method @NonNull public static <T> T requireNonNullElseGet(@Nullable T, @NonNull java.util.function.Supplier<? extends T>); + method @NonNull public static String toString(@Nullable Object); + method @NonNull public static String toString(@Nullable Object, @NonNull String); + } + + @Deprecated public class Observable { + ctor @Deprecated public Observable(); + method @Deprecated public void addObserver(java.util.Observer); + method @Deprecated protected void clearChanged(); + method @Deprecated public int countObservers(); + method @Deprecated public void deleteObserver(java.util.Observer); + method @Deprecated public void deleteObservers(); + method @Deprecated public boolean hasChanged(); + method @Deprecated public void notifyObservers(); + method @Deprecated public void notifyObservers(Object); + method @Deprecated protected void setChanged(); + } + + @Deprecated public interface Observer { + method @Deprecated public void update(java.util.Observable, Object); + } + + 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 <U> java.util.Optional<U> flatMap(java.util.function.Function<? super T,? extends java.util.Optional<? extends U>>); + method public T get(); + method public void ifPresent(java.util.function.Consumer<? super T>); + method public void ifPresentOrElse(java.util.function.Consumer<? super T>, Runnable); + method public boolean isEmpty(); + method public boolean isPresent(); + 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 java.util.Optional<T> or(java.util.function.Supplier<? extends java.util.Optional<? extends T>>); + method public T orElse(T); + method public T orElseGet(java.util.function.Supplier<? extends T>); + method public T orElseThrow(); + method public <X extends java.lang.Throwable> T orElseThrow(java.util.function.Supplier<? extends X>) throws X; + method public java.util.stream.Stream<T> stream(); + } + + public final class OptionalDouble { + method public static java.util.OptionalDouble empty(); + method public double getAsDouble(); + method public void ifPresent(java.util.function.DoubleConsumer); + method public void ifPresentOrElse(java.util.function.DoubleConsumer, Runnable); + method public boolean isEmpty(); + method public boolean isPresent(); + 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(); + method public <X extends java.lang.Throwable> double orElseThrow(java.util.function.Supplier<? extends X>) throws X; + method public java.util.stream.DoubleStream stream(); + } + + public final class OptionalInt { + method public static java.util.OptionalInt empty(); + method public int getAsInt(); + method public void ifPresent(java.util.function.IntConsumer); + method public void ifPresentOrElse(java.util.function.IntConsumer, Runnable); + method public boolean isEmpty(); + method public boolean isPresent(); + 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(); + method public <X extends java.lang.Throwable> int orElseThrow(java.util.function.Supplier<? extends X>) throws X; + method public java.util.stream.IntStream stream(); + } + + public final class OptionalLong { + method public static java.util.OptionalLong empty(); + method public long getAsLong(); + method public void ifPresent(java.util.function.LongConsumer); + method public void ifPresentOrElse(java.util.function.LongConsumer, Runnable); + method public boolean isEmpty(); + method public boolean isPresent(); + 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(); + method public <X extends java.lang.Throwable> long orElseThrow(java.util.function.Supplier<? extends X>) throws X; + method public java.util.stream.LongStream stream(); + } + + public interface PrimitiveIterator<T, T_CONS> extends java.util.Iterator<T> { + method public void forEachRemaining(T_CONS); + } + + public static interface PrimitiveIterator.OfDouble extends java.util.PrimitiveIterator<java.lang.Double,java.util.function.DoubleConsumer> { + method public default void forEachRemaining(java.util.function.DoubleConsumer); + method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Double>); + method public default Double next(); + method public double nextDouble(); + } + + public static interface PrimitiveIterator.OfInt extends java.util.PrimitiveIterator<java.lang.Integer,java.util.function.IntConsumer> { + method public default void forEachRemaining(java.util.function.IntConsumer); + method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Integer>); + method public default Integer next(); + method public int nextInt(); + } + + public static interface PrimitiveIterator.OfLong extends java.util.PrimitiveIterator<java.lang.Long,java.util.function.LongConsumer> { + method public default void forEachRemaining(java.util.function.LongConsumer); + method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Long>); + method public default Long next(); + method public long nextLong(); + } + + public class PriorityQueue<E> extends java.util.AbstractQueue<E> implements java.io.Serializable { + ctor public PriorityQueue(); + ctor public PriorityQueue(int); + ctor public PriorityQueue(java.util.Comparator<? super E>); + ctor public PriorityQueue(int, java.util.Comparator<? super E>); + ctor public PriorityQueue(java.util.Collection<? extends E>); + ctor public PriorityQueue(java.util.PriorityQueue<? extends E>); + ctor public PriorityQueue(java.util.SortedSet<? extends E>); + method public java.util.Comparator<? super E> comparator(); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public E peek(); + method public E poll(); + method public int size(); + method public final java.util.Spliterator<E> spliterator(); + } + + public class Properties extends java.util.Hashtable<java.lang.Object,java.lang.Object> { + ctor public Properties(); + ctor public Properties(java.util.Properties); + method public String getProperty(String); + method public String getProperty(String, String); + method public void list(java.io.PrintStream); + method public void list(java.io.PrintWriter); + method public void load(java.io.Reader) throws java.io.IOException; + method public void load(java.io.InputStream) throws java.io.IOException; + method public void loadFromXML(java.io.InputStream) throws java.io.IOException, java.util.InvalidPropertiesFormatException; + method public java.util.Enumeration<?> propertyNames(); + method @Deprecated public void save(java.io.OutputStream, String); + method public Object setProperty(String, String); + method public void store(java.io.Writer, String) throws java.io.IOException; + method public void store(java.io.OutputStream, String) throws java.io.IOException; + method public void storeToXML(java.io.OutputStream, String) throws java.io.IOException; + method public void storeToXML(java.io.OutputStream, String, String) throws java.io.IOException; + method public java.util.Set<java.lang.String> stringPropertyNames(); + field protected java.util.Properties defaults; + } + + public final class PropertyPermission extends java.security.BasicPermission { + ctor public PropertyPermission(String, String); + } + + public class PropertyResourceBundle extends java.util.ResourceBundle { + ctor public PropertyResourceBundle(java.io.InputStream) throws java.io.IOException; + ctor public PropertyResourceBundle(java.io.Reader) throws java.io.IOException; + method public java.util.Enumeration<java.lang.String> getKeys(); + method public Object handleGetObject(String); + } + + public interface Queue<E> extends java.util.Collection<E> { + method public E element(); + method public boolean offer(E); + method @Nullable public E peek(); + method @Nullable public E poll(); + method public E remove(); + } + + public class Random implements java.io.Serializable { + ctor public Random(); + ctor public Random(long); + method public java.util.stream.DoubleStream doubles(long); + method public java.util.stream.DoubleStream doubles(); + method public java.util.stream.DoubleStream doubles(long, double, double); + method public java.util.stream.DoubleStream doubles(double, double); + method public java.util.stream.IntStream ints(long); + method public java.util.stream.IntStream ints(); + method public java.util.stream.IntStream ints(long, int, int); + method public java.util.stream.IntStream ints(int, int); + method public java.util.stream.LongStream longs(long); + method public java.util.stream.LongStream longs(); + method public java.util.stream.LongStream longs(long, long, long); + method public java.util.stream.LongStream longs(long, long); + method protected int next(int); + method public boolean nextBoolean(); + method public void nextBytes(byte[]); + method public double nextDouble(); + method public float nextFloat(); + method public double nextGaussian(); + method public int nextInt(); + method public int nextInt(int); + method public long nextLong(); + method public void setSeed(long); + } + + public interface RandomAccess { + } + + public abstract class ResourceBundle { + ctor public ResourceBundle(); + method public static final void clearCache(); + method public static final void clearCache(ClassLoader); + method public boolean containsKey(String); + method public String getBaseBundleName(); + method public static final java.util.ResourceBundle getBundle(String); + method public static final java.util.ResourceBundle getBundle(String, java.util.ResourceBundle.Control); + method public static final java.util.ResourceBundle getBundle(String, java.util.Locale); + method public static final java.util.ResourceBundle getBundle(String, java.util.Locale, java.util.ResourceBundle.Control); + method public static java.util.ResourceBundle getBundle(String, java.util.Locale, ClassLoader); + method public static java.util.ResourceBundle getBundle(String, java.util.Locale, ClassLoader, java.util.ResourceBundle.Control); + method public abstract java.util.Enumeration<java.lang.String> getKeys(); + method public java.util.Locale getLocale(); + method public final Object getObject(String); + method public final String getString(String); + method public final String[] getStringArray(String); + method protected abstract Object handleGetObject(String); + method protected java.util.Set<java.lang.String> handleKeySet(); + method public java.util.Set<java.lang.String> keySet(); + method protected void setParent(java.util.ResourceBundle); + field protected java.util.ResourceBundle parent; + } + + public static class ResourceBundle.Control { + ctor protected ResourceBundle.Control(); + method public java.util.List<java.util.Locale> getCandidateLocales(String, java.util.Locale); + method public static final java.util.ResourceBundle.Control getControl(java.util.List<java.lang.String>); + method public java.util.Locale getFallbackLocale(String, java.util.Locale); + method public java.util.List<java.lang.String> getFormats(String); + method public static final java.util.ResourceBundle.Control getNoFallbackControl(java.util.List<java.lang.String>); + method public long getTimeToLive(String, java.util.Locale); + method public boolean needsReload(String, java.util.Locale, String, ClassLoader, java.util.ResourceBundle, long); + method public java.util.ResourceBundle newBundle(String, java.util.Locale, String, ClassLoader, boolean) throws java.io.IOException, java.lang.IllegalAccessException, java.lang.InstantiationException; + method public String toBundleName(String, java.util.Locale); + method public final String toResourceName(String, String); + field public static final java.util.List<java.lang.String> FORMAT_CLASS; + field public static final java.util.List<java.lang.String> FORMAT_DEFAULT; + field public static final java.util.List<java.lang.String> FORMAT_PROPERTIES; + field public static final long TTL_DONT_CACHE = -1L; // 0xffffffffffffffffL + field public static final long TTL_NO_EXPIRATION_CONTROL = -2L; // 0xfffffffffffffffeL + } + + public final class Scanner implements java.io.Closeable java.util.Iterator<java.lang.String> { + ctor public Scanner(Readable); + ctor public Scanner(java.io.InputStream); + ctor public Scanner(java.io.InputStream, String); + ctor public Scanner(java.io.File) throws java.io.FileNotFoundException; + ctor public Scanner(java.io.File, String) throws java.io.FileNotFoundException; + ctor public Scanner(java.nio.file.Path) throws java.io.IOException; + ctor public Scanner(java.nio.file.Path, String) throws java.io.IOException; + ctor public Scanner(String); + ctor public Scanner(java.nio.channels.ReadableByteChannel); + ctor public Scanner(java.nio.channels.ReadableByteChannel, String); + method public void close(); + method public java.util.regex.Pattern delimiter(); + method public String findInLine(String); + method public String findInLine(java.util.regex.Pattern); + method public String findWithinHorizon(String, int); + method public String findWithinHorizon(java.util.regex.Pattern, int); + method public boolean hasNext(); + method public boolean hasNext(String); + method public boolean hasNext(java.util.regex.Pattern); + method public boolean hasNextBigDecimal(); + method public boolean hasNextBigInteger(); + method public boolean hasNextBigInteger(int); + method public boolean hasNextBoolean(); + method public boolean hasNextByte(); + method public boolean hasNextByte(int); + method public boolean hasNextDouble(); + method public boolean hasNextFloat(); + method public boolean hasNextInt(); + method public boolean hasNextInt(int); + method public boolean hasNextLine(); + method public boolean hasNextLong(); + method public boolean hasNextLong(int); + method public boolean hasNextShort(); + method public boolean hasNextShort(int); + method public java.io.IOException ioException(); + method public java.util.Locale locale(); + method public java.util.regex.MatchResult match(); + method public String next(); + method public String next(String); + method public String next(java.util.regex.Pattern); + method public java.math.BigDecimal nextBigDecimal(); + method public java.math.BigInteger nextBigInteger(); + method public java.math.BigInteger nextBigInteger(int); + method public boolean nextBoolean(); + method public byte nextByte(); + method public byte nextByte(int); + method public double nextDouble(); + method public float nextFloat(); + method public int nextInt(); + method public int nextInt(int); + method public String nextLine(); + method public long nextLong(); + method public long nextLong(int); + method public short nextShort(); + method public short nextShort(int); + method public int radix(); + method public java.util.Scanner reset(); + method public java.util.Scanner skip(java.util.regex.Pattern); + method public java.util.Scanner skip(String); + method public java.util.Scanner useDelimiter(java.util.regex.Pattern); + method public java.util.Scanner useDelimiter(String); + method public java.util.Scanner useLocale(java.util.Locale); + method public java.util.Scanner useRadix(int); + } + + public class ServiceConfigurationError extends java.lang.Error { + ctor public ServiceConfigurationError(String); + ctor public ServiceConfigurationError(String, Throwable); + } + + public final class ServiceLoader<S> implements java.lang.Iterable<S> { + method public java.util.Iterator<S> iterator(); + method public static <S> java.util.ServiceLoader<S> load(Class<S>, ClassLoader); + method public static <S> java.util.ServiceLoader<S> load(Class<S>); + method public static <S> java.util.ServiceLoader<S> loadInstalled(Class<S>); + method public void reload(); + } + + public interface Set<E> extends java.util.Collection<E> { + method @NonNull public static <E> java.util.Set<E> copyOf(@NonNull java.util.Collection<? extends E>); + method @NonNull public static <E> java.util.Set<E> of(); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E); + method @NonNull @java.lang.SafeVarargs public static <E> java.util.Set<E> of(@NonNull E...); + } + + public class SimpleTimeZone extends java.util.TimeZone { + ctor public SimpleTimeZone(int, String); + ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int); + ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int, int); + ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int, int, int, int); + method public int getOffset(int, int, int, int, int, int); + method public int getRawOffset(); + method public boolean inDaylightTime(java.util.Date); + method public void setDSTSavings(int); + method public void setEndRule(int, int, int, int); + method public void setEndRule(int, int, int); + method public void setEndRule(int, int, int, int, boolean); + method public void setRawOffset(int); + method public void setStartRule(int, int, int, int); + method public void setStartRule(int, int, int); + method public void setStartRule(int, int, int, int, boolean); + method public void setStartYear(int); + method public boolean useDaylightTime(); + field public static final int STANDARD_TIME = 1; // 0x1 + field public static final int UTC_TIME = 2; // 0x2 + field public static final int WALL_TIME = 0; // 0x0 + } + + public interface SortedMap<K, V> extends java.util.Map<K,V> { + method @Nullable public java.util.Comparator<? super K> comparator(); + method public K firstKey(); + method @NonNull public java.util.SortedMap<K,V> headMap(K); + method public K lastKey(); + method @NonNull public java.util.SortedMap<K,V> subMap(K, K); + method @NonNull public java.util.SortedMap<K,V> tailMap(K); + } + + public interface SortedSet<E> extends java.util.Set<E> { + method public java.util.Comparator<? super E> comparator(); + method public E first(); + method public java.util.SortedSet<E> headSet(E); + method public E last(); + method public java.util.SortedSet<E> subSet(E, E); + method public java.util.SortedSet<E> tailSet(E); + } + + public interface Spliterator<T> { + method public int characteristics(); + method public long estimateSize(); + method public default void forEachRemaining(java.util.function.Consumer<? super T>); + method public default java.util.Comparator<? super T> getComparator(); + method public default long getExactSizeIfKnown(); + method public default boolean hasCharacteristics(int); + method public boolean tryAdvance(java.util.function.Consumer<? super T>); + method public java.util.Spliterator<T> trySplit(); + field public static final int CONCURRENT = 4096; // 0x1000 + field public static final int DISTINCT = 1; // 0x1 + field public static final int IMMUTABLE = 1024; // 0x400 + field public static final int NONNULL = 256; // 0x100 + field public static final int ORDERED = 16; // 0x10 + field public static final int SIZED = 64; // 0x40 + field public static final int SORTED = 4; // 0x4 + field public static final int SUBSIZED = 16384; // 0x4000 + } + + public static interface Spliterator.OfDouble extends java.util.Spliterator.OfPrimitive<java.lang.Double,java.util.function.DoubleConsumer,java.util.Spliterator.OfDouble> { + method public default void forEachRemaining(java.util.function.DoubleConsumer); + method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Double>); + method public boolean tryAdvance(java.util.function.DoubleConsumer); + method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Double>); + method public java.util.Spliterator.OfDouble trySplit(); + } + + public static interface Spliterator.OfInt extends java.util.Spliterator.OfPrimitive<java.lang.Integer,java.util.function.IntConsumer,java.util.Spliterator.OfInt> { + method public default void forEachRemaining(java.util.function.IntConsumer); + method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Integer>); + method public boolean tryAdvance(java.util.function.IntConsumer); + method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Integer>); + method public java.util.Spliterator.OfInt trySplit(); + } + + public static interface Spliterator.OfLong extends java.util.Spliterator.OfPrimitive<java.lang.Long,java.util.function.LongConsumer,java.util.Spliterator.OfLong> { + method public default void forEachRemaining(java.util.function.LongConsumer); + method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Long>); + method public boolean tryAdvance(java.util.function.LongConsumer); + method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Long>); + method public java.util.Spliterator.OfLong trySplit(); + } + + public static interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> extends java.util.Spliterator<T> { + method public default void forEachRemaining(T_CONS); + method public boolean tryAdvance(T_CONS); + method public T_SPLITR trySplit(); + } + + public final class Spliterators { + 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 <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 <T> java.util.Spliterator<T> spliterator(Object[], int); + method public static <T> java.util.Spliterator<T> spliterator(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 <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 <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); + } + + public abstract static class Spliterators.AbstractDoubleSpliterator implements java.util.Spliterator.OfDouble { + ctor protected Spliterators.AbstractDoubleSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfDouble trySplit(); + } + + public abstract static class Spliterators.AbstractIntSpliterator implements java.util.Spliterator.OfInt { + ctor protected Spliterators.AbstractIntSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfInt trySplit(); + } + + public abstract static class Spliterators.AbstractLongSpliterator implements java.util.Spliterator.OfLong { + ctor protected Spliterators.AbstractLongSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator.OfLong trySplit(); + } + + public abstract static class Spliterators.AbstractSpliterator<T> implements java.util.Spliterator<T> { + ctor protected Spliterators.AbstractSpliterator(long, int); + method public int characteristics(); + method public long estimateSize(); + method public java.util.Spliterator<T> trySplit(); + } + + public final class SplittableRandom { + ctor public SplittableRandom(long); + ctor public SplittableRandom(); + method public java.util.stream.DoubleStream doubles(long); + method public java.util.stream.DoubleStream doubles(); + method public java.util.stream.DoubleStream doubles(long, double, double); + method public java.util.stream.DoubleStream doubles(double, double); + method public java.util.stream.IntStream ints(long); + method public java.util.stream.IntStream ints(); + method public java.util.stream.IntStream ints(long, int, int); + method public java.util.stream.IntStream ints(int, int); + method public java.util.stream.LongStream longs(long); + method public java.util.stream.LongStream longs(); + method public java.util.stream.LongStream longs(long, long, long); + method public java.util.stream.LongStream longs(long, long); + method public boolean nextBoolean(); + method public void nextBytes(byte[]); + method public double nextDouble(); + method public double nextDouble(double); + method public double nextDouble(double, double); + method public int nextInt(); + method public int nextInt(int); + method public int nextInt(int, int); + method public long nextLong(); + method public long nextLong(long); + method public long nextLong(long, long); + method public java.util.SplittableRandom split(); + } + + public class Stack<E> extends java.util.Vector<E> { + ctor public Stack(); + method public boolean empty(); + method public E peek(); + method public E pop(); + method public E push(E); + method public int search(Object); + } + + public final class StringJoiner { + ctor public StringJoiner(CharSequence); + ctor public StringJoiner(CharSequence, CharSequence, CharSequence); + method public java.util.StringJoiner add(CharSequence); + method public int length(); + method public java.util.StringJoiner merge(java.util.StringJoiner); + method public java.util.StringJoiner setEmptyValue(CharSequence); + } + + public class StringTokenizer implements java.util.Enumeration<java.lang.Object> { + ctor public StringTokenizer(String, String, boolean); + ctor public StringTokenizer(String, String); + ctor public StringTokenizer(String); + method public int countTokens(); + method public boolean hasMoreElements(); + method public boolean hasMoreTokens(); + method public Object nextElement(); + method public String nextToken(); + method public String nextToken(String); + } + + public abstract class TimeZone implements java.lang.Cloneable java.io.Serializable { + ctor public TimeZone(); + method public Object clone(); + method public static String[] getAvailableIDs(int); + method public static String[] getAvailableIDs(); + method public int getDSTSavings(); + method public static java.util.TimeZone getDefault(); + method public final String getDisplayName(); + method public final String getDisplayName(java.util.Locale); + method public final String getDisplayName(boolean, int); + method public String getDisplayName(boolean, int, java.util.Locale); + method public String getID(); + method public abstract int getOffset(int, int, int, int, int, int); + method public int getOffset(long); + method public abstract int getRawOffset(); + method public static java.util.TimeZone getTimeZone(String); + method public static java.util.TimeZone getTimeZone(java.time.ZoneId); + method public boolean hasSameRules(java.util.TimeZone); + method public abstract boolean inDaylightTime(java.util.Date); + method public boolean observesDaylightTime(); + method public static void setDefault(java.util.TimeZone); + method public void setID(String); + method public abstract void setRawOffset(int); + method public java.time.ZoneId toZoneId(); + method public abstract boolean useDaylightTime(); + field public static final int LONG = 1; // 0x1 + field public static final int SHORT = 0; // 0x0 + } + + public class Timer { + ctor public Timer(); + ctor public Timer(boolean); + ctor public Timer(String); + ctor public Timer(String, boolean); + method public void cancel(); + method public int purge(); + method public void schedule(java.util.TimerTask, long); + method public void schedule(java.util.TimerTask, java.util.Date); + method public void schedule(java.util.TimerTask, long, long); + method public void schedule(java.util.TimerTask, java.util.Date, long); + method public void scheduleAtFixedRate(java.util.TimerTask, long, long); + method public void scheduleAtFixedRate(java.util.TimerTask, java.util.Date, long); + } + + public abstract class TimerTask implements java.lang.Runnable { + ctor protected TimerTask(); + method public boolean cancel(); + method public long scheduledExecutionTime(); + } + + public class TooManyListenersException extends java.lang.Exception { + ctor public TooManyListenersException(); + ctor public TooManyListenersException(String); + } + + public class TreeMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.NavigableMap<K,V> java.io.Serializable { + ctor public TreeMap(); + ctor public TreeMap(@Nullable java.util.Comparator<? super K>); + ctor public TreeMap(@NonNull java.util.Map<? extends K,? extends V>); + ctor public TreeMap(@NonNull java.util.SortedMap<K,? extends V>); + method @Nullable public java.util.Map.Entry<K,V> ceilingEntry(K); + method @Nullable public K ceilingKey(K); + method @NonNull public Object clone(); + method @Nullable public java.util.Comparator<? super K> comparator(); + method @NonNull public java.util.NavigableSet<K> descendingKeySet(); + method @NonNull public java.util.NavigableMap<K,V> descendingMap(); + method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + method @Nullable public java.util.Map.Entry<K,V> firstEntry(); + method public K firstKey(); + method @Nullable public java.util.Map.Entry<K,V> floorEntry(K); + method @Nullable public K floorKey(K); + method @NonNull public java.util.NavigableMap<K,V> headMap(K, boolean); + method @NonNull public java.util.SortedMap<K,V> headMap(K); + method @Nullable public java.util.Map.Entry<K,V> higherEntry(K); + method @Nullable public K higherKey(K); + method @Nullable public java.util.Map.Entry<K,V> lastEntry(); + method public K lastKey(); + method @Nullable public java.util.Map.Entry<K,V> lowerEntry(K); + method @Nullable public K lowerKey(K); + method @NonNull public java.util.NavigableSet<K> navigableKeySet(); + method @Nullable public java.util.Map.Entry<K,V> pollFirstEntry(); + method @Nullable public java.util.Map.Entry<K,V> pollLastEntry(); + method @NonNull public java.util.NavigableMap<K,V> subMap(K, boolean, K, boolean); + method @NonNull public java.util.SortedMap<K,V> subMap(K, K); + method @NonNull public java.util.NavigableMap<K,V> tailMap(K, boolean); + method @NonNull public java.util.SortedMap<K,V> tailMap(K); + } + + public class TreeSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.util.NavigableSet<E> java.io.Serializable { + ctor public TreeSet(); + ctor public TreeSet(java.util.Comparator<? super E>); + ctor public TreeSet(java.util.Collection<? extends E>); + ctor public TreeSet(java.util.SortedSet<E>); + method public E ceiling(E); + method public Object clone(); + method public java.util.Comparator<? super E> comparator(); + method public java.util.Iterator<E> descendingIterator(); + method public java.util.NavigableSet<E> descendingSet(); + method public E first(); + method public E floor(E); + method public java.util.NavigableSet<E> headSet(E, boolean); + method public java.util.SortedSet<E> headSet(E); + method public E higher(E); + method public java.util.Iterator<E> iterator(); + method public E last(); + method public E lower(E); + method public E pollFirst(); + method public E pollLast(); + method public int size(); + method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean); + method public java.util.SortedSet<E> subSet(E, E); + method public java.util.NavigableSet<E> tailSet(E, boolean); + method public java.util.SortedSet<E> tailSet(E); + } + + public final class UUID implements java.lang.Comparable<java.util.UUID> java.io.Serializable { + ctor public UUID(long, long); + method public int clockSequence(); + method public int compareTo(java.util.UUID); + method public static java.util.UUID fromString(String); + method public long getLeastSignificantBits(); + method public long getMostSignificantBits(); + method public static java.util.UUID nameUUIDFromBytes(byte[]); + method public long node(); + method public static java.util.UUID randomUUID(); + method public long timestamp(); + method public int variant(); + method public int version(); + } + + public class UnknownFormatConversionException extends java.util.IllegalFormatException { + ctor public UnknownFormatConversionException(String); + method public String getConversion(); + } + + public class UnknownFormatFlagsException extends java.util.IllegalFormatException { + ctor public UnknownFormatFlagsException(String); + method public String getFlags(); + } + + public class Vector<E> extends java.util.AbstractList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable { + ctor public Vector(int, int); + ctor public Vector(int); + ctor public Vector(); + ctor public Vector(@NonNull java.util.Collection<? extends E>); + method public void addElement(E); + method public int capacity(); + method @NonNull public Object clone(); + method public void copyInto(@NonNull Object[]); + method public E elementAt(int); + method @NonNull public java.util.Enumeration<E> elements(); + method public void ensureCapacity(int); + method public E firstElement(); + method public void forEach(@NonNull java.util.function.Consumer<? super E>); + method public E get(int); + method public int indexOf(@Nullable Object, int); + method public void insertElementAt(E, int); + method public E lastElement(); + method public int lastIndexOf(@Nullable Object, int); + method public void removeAllElements(); + method public boolean removeElement(@Nullable Object); + method public void removeElementAt(int); + method public void setElementAt(E, int); + method public void setSize(int); + method public int size(); + method public void trimToSize(); + field protected int capacityIncrement; + field protected int elementCount; + field @NonNull protected Object[] elementData; + } + + public class WeakHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.util.Map<K,V> { + ctor public WeakHashMap(int, float); + ctor public WeakHashMap(int); + ctor public WeakHashMap(); + ctor public WeakHashMap(@NonNull java.util.Map<? extends K,? extends V>); + method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + } + +} + +package java.util.concurrent { + + public abstract class AbstractExecutorService implements java.util.concurrent.ExecutorService { + ctor public AbstractExecutorService(); + 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(Runnable, T); + method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>); + method public java.util.concurrent.Future<?> submit(Runnable); + method public <T> java.util.concurrent.Future<T> submit(Runnable, T); + method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>); + } + + public class ArrayBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable { + ctor public ArrayBlockingQueue(int); + ctor public ArrayBlockingQueue(int, boolean); + ctor public ArrayBlockingQueue(int, boolean, java.util.Collection<? extends E>); + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public void forEach(java.util.function.Consumer<? super E>); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E peek(); + method public E poll(); + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void put(E) throws java.lang.InterruptedException; + method public int remainingCapacity(); + method public int size(); + method public E take() throws java.lang.InterruptedException; + } + + public interface BlockingDeque<E> extends java.util.concurrent.BlockingQueue<E> java.util.Deque<E> { + method public boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void putFirst(E) throws java.lang.InterruptedException; + method public void putLast(E) throws java.lang.InterruptedException; + method public E takeFirst() throws java.lang.InterruptedException; + method public E takeLast() throws java.lang.InterruptedException; + } + + public interface BlockingQueue<E> extends java.util.Queue<E> { + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void put(E) throws java.lang.InterruptedException; + method public int remainingCapacity(); + method public E take() throws java.lang.InterruptedException; + } + + public class BrokenBarrierException extends java.lang.Exception { + ctor public BrokenBarrierException(); + ctor public BrokenBarrierException(String); + } + + @java.lang.FunctionalInterface public interface Callable<V> { + method public V call() throws java.lang.Exception; + } + + public class CancellationException extends java.lang.IllegalStateException { + ctor public CancellationException(); + ctor public CancellationException(String); + } + + public class CompletableFuture<T> implements java.util.concurrent.CompletionStage<T> java.util.concurrent.Future<T> { + 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 <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 java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>, java.util.concurrent.Executor); + method public java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>); + method public boolean completeExceptionally(Throwable); + method public java.util.concurrent.CompletableFuture<T> completeOnTimeout(T, long, java.util.concurrent.TimeUnit); + method public static <U> java.util.concurrent.CompletableFuture<U> completedFuture(U); + method public static <U> java.util.concurrent.CompletionStage<U> completedStage(U); + method public java.util.concurrent.CompletableFuture<T> copy(); + method public java.util.concurrent.Executor defaultExecutor(); + method public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit, java.util.concurrent.Executor); + method public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit); + method public java.util.concurrent.CompletableFuture<T> exceptionally(java.util.function.Function<java.lang.Throwable,? extends T>); + method public static <U> java.util.concurrent.CompletableFuture<U> failedFuture(Throwable); + method public static <U> java.util.concurrent.CompletionStage<U> failedStage(Throwable); + 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 <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(); + method public T join(); + method public java.util.concurrent.CompletionStage<T> minimalCompletionStage(); + method public <U> java.util.concurrent.CompletableFuture<U> newIncompleteFuture(); + method public void obtrudeException(Throwable); + method public void obtrudeValue(T); + method public java.util.concurrent.CompletableFuture<T> orTimeout(long, java.util.concurrent.TimeUnit); + method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor); + method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEither(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor); + method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(Runnable); + method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(Runnable, 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 <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(Runnable); + method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(Runnable); + method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(Runnable, java.util.concurrent.Executor); + method public java.util.concurrent.CompletableFuture<T> toCompletableFuture(); + method public java.util.concurrent.CompletableFuture<T> whenComplete(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>); + method public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>); + method public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>, java.util.concurrent.Executor); + } + + public static interface CompletableFuture.AsynchronousCompletionTask { + } + + public class CompletionException extends java.lang.RuntimeException { + ctor protected CompletionException(); + ctor protected CompletionException(String); + ctor public CompletionException(String, Throwable); + ctor public CompletionException(Throwable); + } + + public interface CompletionService<V> { + method public java.util.concurrent.Future<V> poll(); + method public java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>); + method public java.util.concurrent.Future<V> submit(Runnable, V); + method public java.util.concurrent.Future<V> take() throws java.lang.InterruptedException; + } + + public interface CompletionStage<T> { + method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>); + method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>); + method public 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 <U> java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>); + method public <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>); + method public <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 java.util.concurrent.CompletionStage<T> exceptionally(java.util.function.Function<java.lang.Throwable,? extends T>); + method public <U> java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>); + method public <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>); + method public <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>, java.util.concurrent.Executor); + method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor); + method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEither(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable); + method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor); + method public java.util.concurrent.CompletionStage<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>); + method public java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>); + method public java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor); + method public <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 <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 <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 <U> java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T,? extends U>); + method public <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>); + method public <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>, java.util.concurrent.Executor); + method public <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 <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 <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 <U> java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>); + method public <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>); + method public <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 java.util.concurrent.CompletionStage<java.lang.Void> thenRun(Runnable); + method public java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(Runnable); + method public java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(Runnable, java.util.concurrent.Executor); + method public java.util.concurrent.CompletableFuture<T> toCompletableFuture(); + method public java.util.concurrent.CompletionStage<T> whenComplete(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>); + method public java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>); + method public java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>, java.util.concurrent.Executor); + } + + public class ConcurrentHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.util.concurrent.ConcurrentMap<K,V> java.io.Serializable { + ctor public ConcurrentHashMap(); + ctor public ConcurrentHashMap(int); + ctor public ConcurrentHashMap(@NonNull java.util.Map<? extends K,? extends V>); + ctor public ConcurrentHashMap(int, float); + ctor public ConcurrentHashMap(int, float, int); + method public boolean contains(@NonNull Object); + method @NonNull public java.util.Enumeration<V> elements(); + method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + method public void forEach(long, @NonNull java.util.function.BiConsumer<? super K,? super V>); + method public <U> void forEach(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>, @NonNull java.util.function.Consumer<? super U>); + method public void forEachEntry(long, @NonNull java.util.function.Consumer<? super java.util.Map.Entry<K,V>>); + method public <U> void forEachEntry(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>, @NonNull java.util.function.Consumer<? super U>); + method public void forEachKey(long, @NonNull java.util.function.Consumer<? super K>); + method public <U> void forEachKey(long, @NonNull java.util.function.Function<? super K,? extends U>, @NonNull java.util.function.Consumer<? super U>); + method public void forEachValue(long, @NonNull java.util.function.Consumer<? super V>); + method public <U> void forEachValue(long, @NonNull java.util.function.Function<? super V,? extends U>, @NonNull java.util.function.Consumer<? super U>); + method @NonNull public java.util.concurrent.ConcurrentHashMap.KeySetView<K,V> keySet(@NonNull V); + method @NonNull public java.util.Enumeration<K> keys(); + method public long mappingCount(); + method @NonNull public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K,java.lang.Boolean> newKeySet(); + method @NonNull public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K,java.lang.Boolean> newKeySet(int); + method @Nullable public <U> U reduce(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>); + method @Nullable public java.util.Map.Entry<K,V> reduceEntries(long, @NonNull java.util.function.BiFunction<java.util.Map.Entry<K,V>,java.util.Map.Entry<K,V>,? extends java.util.Map.Entry<K,V>>); + method @Nullable public <U> U reduceEntries(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>); + method public double reduceEntriesToDouble(long, @NonNull java.util.function.ToDoubleFunction<java.util.Map.Entry<K,V>>, double, @NonNull java.util.function.DoubleBinaryOperator); + method public int reduceEntriesToInt(long, @NonNull java.util.function.ToIntFunction<java.util.Map.Entry<K,V>>, int, @NonNull java.util.function.IntBinaryOperator); + method public long reduceEntriesToLong(long, @NonNull java.util.function.ToLongFunction<java.util.Map.Entry<K,V>>, long, @NonNull java.util.function.LongBinaryOperator); + method @Nullable public K reduceKeys(long, @NonNull java.util.function.BiFunction<? super K,? super K,? extends K>); + method @Nullable public <U> U reduceKeys(long, @NonNull java.util.function.Function<? super K,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>); + method public double reduceKeysToDouble(long, @NonNull java.util.function.ToDoubleFunction<? super K>, double, @NonNull java.util.function.DoubleBinaryOperator); + method public int reduceKeysToInt(long, @NonNull java.util.function.ToIntFunction<? super K>, int, @NonNull java.util.function.IntBinaryOperator); + method public long reduceKeysToLong(long, @NonNull java.util.function.ToLongFunction<? super K>, long, @NonNull java.util.function.LongBinaryOperator); + method public double reduceToDouble(long, @NonNull java.util.function.ToDoubleBiFunction<? super K,? super V>, double, @NonNull java.util.function.DoubleBinaryOperator); + method public int reduceToInt(long, @NonNull java.util.function.ToIntBiFunction<? super K,? super V>, int, @NonNull java.util.function.IntBinaryOperator); + method public long reduceToLong(long, @NonNull java.util.function.ToLongBiFunction<? super K,? super V>, long, @NonNull java.util.function.LongBinaryOperator); + method @Nullable public V reduceValues(long, @NonNull java.util.function.BiFunction<? super V,? super V,? extends V>); + method @Nullable public <U> U reduceValues(long, @NonNull java.util.function.Function<? super V,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>); + method public double reduceValuesToDouble(long, @NonNull java.util.function.ToDoubleFunction<? super V>, double, @NonNull java.util.function.DoubleBinaryOperator); + method public int reduceValuesToInt(long, @NonNull java.util.function.ToIntFunction<? super V>, int, @NonNull java.util.function.IntBinaryOperator); + method public long reduceValuesToLong(long, @NonNull java.util.function.ToLongFunction<? super V>, long, @NonNull java.util.function.LongBinaryOperator); + method @Nullable public <U> U search(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>); + method @Nullable public <U> U searchEntries(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>); + method @Nullable public <U> U searchKeys(long, @NonNull java.util.function.Function<? super K,? extends U>); + method @Nullable public <U> U searchValues(long, @NonNull java.util.function.Function<? super V,? extends U>); + } + + public static class ConcurrentHashMap.KeySetView<K, V> implements java.util.Collection<K> java.io.Serializable java.util.Set<K> { + method public boolean add(@NonNull K); + method public boolean addAll(@NonNull java.util.Collection<? extends K>); + method public final void clear(); + method public boolean contains(@NonNull Object); + method public final boolean containsAll(@NonNull java.util.Collection<?>); + method public void forEach(@NonNull java.util.function.Consumer<? super K>); + method @NonNull public java.util.concurrent.ConcurrentHashMap<K,V> getMap(); + method @Nullable public V getMappedValue(); + method public final boolean isEmpty(); + method @NonNull public java.util.Iterator<K> iterator(); + method public boolean remove(@NonNull Object); + method public boolean removeAll(@NonNull java.util.Collection<?>); + method public final boolean retainAll(@NonNull java.util.Collection<?>); + method public final int size(); + method @NonNull public java.util.Spliterator<K> spliterator(); + method @NonNull public final Object[] toArray(); + method @NonNull public final <T> T[] toArray(@NonNull T[]); + method @NonNull public final String toString(); + } + + public class ConcurrentLinkedDeque<E> extends java.util.AbstractCollection<E> implements java.util.Deque<E> java.io.Serializable { + ctor public ConcurrentLinkedDeque(); + ctor public ConcurrentLinkedDeque(java.util.Collection<? extends E>); + method public void addFirst(E); + method public void addLast(E); + method public java.util.Iterator<E> descendingIterator(); + method public E element(); + method public void forEach(java.util.function.Consumer<? super E>); + method public E getFirst(); + method public E getLast(); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public boolean offerFirst(E); + method public boolean offerLast(E); + method public E peek(); + method public E peekFirst(); + method public E peekLast(); + method public E poll(); + method public E pollFirst(); + method public E pollLast(); + method public E pop(); + method public void push(E); + method public E remove(); + method public E removeFirst(); + method public boolean removeFirstOccurrence(Object); + method public E removeLast(); + method public boolean removeLastOccurrence(Object); + method public int size(); + } + + public class ConcurrentLinkedQueue<E> extends java.util.AbstractQueue<E> implements java.util.Queue<E> java.io.Serializable { + ctor public ConcurrentLinkedQueue(); + ctor public ConcurrentLinkedQueue(java.util.Collection<? extends E>); + method public void forEach(java.util.function.Consumer<? super E>); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public E peek(); + method public E poll(); + method public int size(); + } + + public interface ConcurrentMap<K, V> extends java.util.Map<K,V> { + method public V putIfAbsent(K, V); + method public boolean remove(Object, Object); + method public boolean replace(K, V, V); + method public V replace(K, V); + } + + public interface ConcurrentNavigableMap<K, V> extends java.util.concurrent.ConcurrentMap<K,V> java.util.NavigableMap<K,V> { + method public java.util.concurrent.ConcurrentNavigableMap<K,V> descendingMap(); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K, boolean); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K); + method public java.util.NavigableSet<K> keySet(); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, boolean, K, boolean); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, K); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K, boolean); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K); + } + + public class ConcurrentSkipListMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap<K,V> java.io.Serializable { + ctor public ConcurrentSkipListMap(); + ctor public ConcurrentSkipListMap(java.util.Comparator<? super K>); + ctor public ConcurrentSkipListMap(java.util.Map<? extends K,? extends V>); + ctor public ConcurrentSkipListMap(java.util.SortedMap<K,? extends V>); + method public java.util.Map.Entry<K,V> ceilingEntry(K); + method public K ceilingKey(K); + method public java.util.concurrent.ConcurrentSkipListMap<K,V> clone(); + method public java.util.Comparator<? super K> comparator(); + method public java.util.NavigableSet<K> descendingKeySet(); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> descendingMap(); + method public java.util.Set<java.util.Map.Entry<K,V>> entrySet(); + method public java.util.Map.Entry<K,V> firstEntry(); + method public K firstKey(); + method public java.util.Map.Entry<K,V> floorEntry(K); + method public K floorKey(K); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K, boolean); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K); + method public java.util.Map.Entry<K,V> higherEntry(K); + method public K higherKey(K); + method public java.util.NavigableSet<K> keySet(); + method public java.util.Map.Entry<K,V> lastEntry(); + method public K lastKey(); + method public java.util.Map.Entry<K,V> lowerEntry(K); + method public K lowerKey(K); + method public java.util.NavigableSet<K> navigableKeySet(); + method public java.util.Map.Entry<K,V> pollFirstEntry(); + method public java.util.Map.Entry<K,V> pollLastEntry(); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, boolean, K, boolean); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, K); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K, boolean); + method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K); + } + + public class ConcurrentSkipListSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.util.NavigableSet<E> java.io.Serializable { + ctor public ConcurrentSkipListSet(); + ctor public ConcurrentSkipListSet(java.util.Comparator<? super E>); + ctor public ConcurrentSkipListSet(java.util.Collection<? extends E>); + ctor public ConcurrentSkipListSet(java.util.SortedSet<E>); + method public E ceiling(E); + method public java.util.concurrent.ConcurrentSkipListSet<E> clone(); + method public java.util.Comparator<? super E> comparator(); + method public java.util.Iterator<E> descendingIterator(); + method public java.util.NavigableSet<E> descendingSet(); + method public E first(); + method public E floor(E); + method public java.util.NavigableSet<E> headSet(E, boolean); + method public java.util.NavigableSet<E> headSet(E); + method public E higher(E); + method public java.util.Iterator<E> iterator(); + method public E last(); + method public E lower(E); + method public E pollFirst(); + method public E pollLast(); + method public int size(); + method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean); + method public java.util.NavigableSet<E> subSet(E, E); + method public java.util.NavigableSet<E> tailSet(E, boolean); + method public java.util.NavigableSet<E> tailSet(E); + } + + public class CopyOnWriteArrayList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable { + ctor public CopyOnWriteArrayList(); + ctor public CopyOnWriteArrayList(@NonNull java.util.Collection<? extends E>); + ctor public CopyOnWriteArrayList(@NonNull E[]); + method public boolean add(E); + method public void add(int, E); + method public boolean addAll(@NonNull java.util.Collection<? extends E>); + method public boolean addAll(int, @NonNull java.util.Collection<? extends E>); + method public int addAllAbsent(@NonNull java.util.Collection<? extends E>); + method public boolean addIfAbsent(E); + method public void clear(); + method @NonNull public Object clone(); + method public boolean contains(@Nullable Object); + method public boolean containsAll(@NonNull java.util.Collection<?>); + method public void forEach(@NonNull java.util.function.Consumer<? super E>); + method public E get(int); + method public int indexOf(@Nullable Object); + method public int indexOf(@Nullable E, int); + method public boolean isEmpty(); + method @NonNull public java.util.Iterator<E> iterator(); + method public int lastIndexOf(@Nullable Object); + method public int lastIndexOf(@Nullable E, int); + method @NonNull public java.util.ListIterator<E> listIterator(); + method @NonNull public java.util.ListIterator<E> listIterator(int); + method public E remove(int); + method public boolean remove(@Nullable Object); + method public boolean removeAll(@NonNull java.util.Collection<?>); + method public boolean retainAll(@NonNull java.util.Collection<?>); + method public E set(int, E); + method public int size(); + method @NonNull public java.util.List<E> subList(int, int); + method @NonNull public Object[] toArray(); + method @NonNull public <T> T[] toArray(@NonNull T[]); + } + + public class CopyOnWriteArraySet<E> extends java.util.AbstractSet<E> 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>); + method public java.util.Iterator<E> iterator(); + method public int size(); + } + + public class CountDownLatch { + ctor public CountDownLatch(int); + method public void await() throws java.lang.InterruptedException; + method public boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void countDown(); + method public long getCount(); + } + + public abstract class CountedCompleter<T> extends java.util.concurrent.ForkJoinTask<T> { + ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>, int); + ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>); + ctor protected CountedCompleter(); + method public final void addToPendingCount(int); + method public final boolean compareAndSetPendingCount(int, int); + method public void complete(T); + method public abstract void compute(); + method public final int decrementPendingCountUnlessZero(); + method protected final boolean exec(); + method public final java.util.concurrent.CountedCompleter<?> firstComplete(); + method public final java.util.concurrent.CountedCompleter<?> getCompleter(); + method public final int getPendingCount(); + method public T getRawResult(); + method public final java.util.concurrent.CountedCompleter<?> getRoot(); + method public final void helpComplete(int); + method public final java.util.concurrent.CountedCompleter<?> nextComplete(); + method public void onCompletion(java.util.concurrent.CountedCompleter<?>); + method public boolean onExceptionalCompletion(Throwable, java.util.concurrent.CountedCompleter<?>); + method public final void propagateCompletion(); + method public final void quietlyCompleteRoot(); + method public final void setPendingCount(int); + method protected void setRawResult(T); + method public final void tryComplete(); + } + + public class CyclicBarrier { + ctor public CyclicBarrier(int, Runnable); + ctor public CyclicBarrier(int); + method public int await() throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException; + method public int await(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException, java.util.concurrent.TimeoutException; + method public int getNumberWaiting(); + method public int getParties(); + method public boolean isBroken(); + method public void reset(); + } + + public class DelayQueue<E extends java.util.concurrent.Delayed> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> { + ctor public DelayQueue(); + ctor public DelayQueue(java.util.Collection<? extends E>); + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public boolean offer(E, long, java.util.concurrent.TimeUnit); + method public E peek(); + method public E poll(); + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void put(E); + method public int remainingCapacity(); + method public int size(); + method public E take() throws java.lang.InterruptedException; + } + + public interface Delayed extends java.lang.Comparable<java.util.concurrent.Delayed> { + method public long getDelay(java.util.concurrent.TimeUnit); + } + + 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; + } + + public class ExecutionException extends java.lang.Exception { + ctor protected ExecutionException(); + ctor protected ExecutionException(String); + ctor public ExecutionException(String, Throwable); + ctor public ExecutionException(Throwable); + } + + public interface Executor { + method public void execute(Runnable); + } + + public class ExecutorCompletionService<V> implements java.util.concurrent.CompletionService<V> { + 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(); + method public java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>); + method public java.util.concurrent.Future<V> submit(Runnable, V); + method public java.util.concurrent.Future<V> take() throws java.lang.InterruptedException; + } + + public interface ExecutorService extends java.util.concurrent.Executor { + method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) 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>>) 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 public boolean isShutdown(); + method public boolean isTerminated(); + method public void shutdown(); + method public java.util.List<java.lang.Runnable> shutdownNow(); + method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>); + method public <T> java.util.concurrent.Future<T> submit(Runnable, T); + method public java.util.concurrent.Future<?> submit(Runnable); + } + + public class Executors { + method public static <T> java.util.concurrent.Callable<T> callable(Runnable, T); + method public static java.util.concurrent.Callable<java.lang.Object> callable(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<?>); + method public static java.util.concurrent.ThreadFactory defaultThreadFactory(); + method public static java.util.concurrent.ExecutorService newCachedThreadPool(); + method public static java.util.concurrent.ExecutorService newCachedThreadPool(java.util.concurrent.ThreadFactory); + method public static java.util.concurrent.ExecutorService newFixedThreadPool(int); + method public static java.util.concurrent.ExecutorService newFixedThreadPool(int, java.util.concurrent.ThreadFactory); + method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int); + method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int, java.util.concurrent.ThreadFactory); + method public static java.util.concurrent.ExecutorService newSingleThreadExecutor(); + method public static java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory); + method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(); + 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 <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); + } + + public final class Flow { + method public static int defaultBufferSize(); + } + + public static interface Flow.Processor<T, R> extends java.util.concurrent.Flow.Subscriber<T> java.util.concurrent.Flow.Publisher<R> { + } + + @java.lang.FunctionalInterface public static interface Flow.Publisher<T> { + method public void subscribe(java.util.concurrent.Flow.Subscriber<? super T>); + } + + public static interface Flow.Subscriber<T> { + method public void onComplete(); + method public void onError(Throwable); + method public void onNext(T); + method public void onSubscribe(java.util.concurrent.Flow.Subscription); + } + + public static interface Flow.Subscription { + method public void cancel(); + method public void request(long); + } + + public class ForkJoinPool extends java.util.concurrent.AbstractExecutorService { + ctor public ForkJoinPool(); + ctor public ForkJoinPool(int); + ctor public ForkJoinPool(int, java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory, java.lang.Thread.UncaughtExceptionHandler, boolean); + ctor public ForkJoinPool(int, java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory, java.lang.Thread.UncaughtExceptionHandler, boolean, int, int, int, java.util.function.Predicate<? super java.util.concurrent.ForkJoinPool>, long, java.util.concurrent.TimeUnit); + method public boolean awaitQuiescence(long, java.util.concurrent.TimeUnit); + method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public static java.util.concurrent.ForkJoinPool commonPool(); + method protected int drainTasksTo(java.util.Collection<? super java.util.concurrent.ForkJoinTask<?>>); + method public void execute(java.util.concurrent.ForkJoinTask<?>); + method public void execute(Runnable); + method public int getActiveThreadCount(); + method public boolean getAsyncMode(); + method public static int getCommonPoolParallelism(); + method public java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory getFactory(); + method public int getParallelism(); + method public int getPoolSize(); + method public int getQueuedSubmissionCount(); + method public long getQueuedTaskCount(); + method public int getRunningThreadCount(); + method public long getStealCount(); + method public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler(); + method public boolean hasQueuedSubmissions(); + method public <T> T invoke(java.util.concurrent.ForkJoinTask<T>); + method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>); + method public boolean isQuiescent(); + method public boolean isShutdown(); + method public boolean isTerminated(); + method public boolean isTerminating(); + method public static void managedBlock(java.util.concurrent.ForkJoinPool.ManagedBlocker) throws java.lang.InterruptedException; + method protected java.util.concurrent.ForkJoinTask<?> pollSubmission(); + method public void shutdown(); + method public java.util.List<java.lang.Runnable> shutdownNow(); + method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>); + method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.Callable<T>); + method public <T> java.util.concurrent.ForkJoinTask<T> submit(Runnable, T); + method public java.util.concurrent.ForkJoinTask<?> submit(Runnable); + field public static final java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory defaultForkJoinWorkerThreadFactory; + } + + public static interface ForkJoinPool.ForkJoinWorkerThreadFactory { + method public java.util.concurrent.ForkJoinWorkerThread newThread(java.util.concurrent.ForkJoinPool); + } + + public static interface ForkJoinPool.ManagedBlocker { + method public boolean block() throws java.lang.InterruptedException; + method public boolean isReleasable(); + } + + public abstract class ForkJoinTask<V> implements java.util.concurrent.Future<V> java.io.Serializable { + ctor public ForkJoinTask(); + method public static java.util.concurrent.ForkJoinTask<?> adapt(Runnable); + method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(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); + method public void completeExceptionally(Throwable); + method protected abstract boolean exec(); + method public final java.util.concurrent.ForkJoinTask<V> fork(); + method public final V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException; + method public final V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException; + method public final Throwable getException(); + method public final short getForkJoinTaskTag(); + method public static java.util.concurrent.ForkJoinPool getPool(); + method public static int getQueuedTaskCount(); + method public abstract V getRawResult(); + method public static int getSurplusQueuedTaskCount(); + method public static void helpQuiesce(); + method public static boolean inForkJoinPool(); + 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 <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(); + method public final boolean isDone(); + method public final V join(); + method protected static java.util.concurrent.ForkJoinTask<?> peekNextLocalTask(); + method protected static java.util.concurrent.ForkJoinTask<?> pollNextLocalTask(); + method protected static java.util.concurrent.ForkJoinTask<?> pollTask(); + method public final void quietlyComplete(); + method public final void quietlyInvoke(); + method public final void quietlyJoin(); + method public void reinitialize(); + method public final short setForkJoinTaskTag(short); + method protected abstract void setRawResult(V); + method public boolean tryUnfork(); + } + + public class ForkJoinWorkerThread extends java.lang.Thread { + ctor protected ForkJoinWorkerThread(java.util.concurrent.ForkJoinPool); + method public java.util.concurrent.ForkJoinPool getPool(); + method public int getPoolIndex(); + method protected void onStart(); + method protected void onTermination(Throwable); + } + + public interface Future<V> { + method public boolean cancel(boolean); + method public V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException; + method public V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException; + method public boolean isCancelled(); + method public boolean isDone(); + } + + public class FutureTask<V> implements java.util.concurrent.RunnableFuture<V> { + ctor public FutureTask(java.util.concurrent.Callable<V>); + ctor public FutureTask(Runnable, V); + method public boolean cancel(boolean); + method protected void done(); + method public V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException; + method public V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException; + method public boolean isCancelled(); + method public boolean isDone(); + method public void run(); + method protected boolean runAndReset(); + method protected void set(V); + method protected void setException(Throwable); + } + + public class LinkedBlockingDeque<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingDeque<E> java.io.Serializable { + ctor public LinkedBlockingDeque(); + ctor public LinkedBlockingDeque(int); + ctor public LinkedBlockingDeque(java.util.Collection<? extends E>); + method public void addFirst(E); + method public void addLast(E); + method public java.util.Iterator<E> descendingIterator(); + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public void forEach(java.util.function.Consumer<? super E>); + method public E getFirst(); + method public E getLast(); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public boolean offerFirst(E); + method public boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public boolean offerLast(E); + method public boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E peek(); + method public E peekFirst(); + method public E peekLast(); + method public E poll(); + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E pollFirst(); + method public E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E pollLast(); + method public E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E pop(); + method public void push(E); + method public void put(E) throws java.lang.InterruptedException; + method public void putFirst(E) throws java.lang.InterruptedException; + method public void putLast(E) throws java.lang.InterruptedException; + method public int remainingCapacity(); + method public E removeFirst(); + method public boolean removeFirstOccurrence(Object); + method public E removeLast(); + method public boolean removeLastOccurrence(Object); + method public int size(); + method public E take() throws java.lang.InterruptedException; + method public E takeFirst() throws java.lang.InterruptedException; + method public E takeLast() throws java.lang.InterruptedException; + } + + public class LinkedBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable { + ctor public LinkedBlockingQueue(); + ctor public LinkedBlockingQueue(int); + ctor public LinkedBlockingQueue(java.util.Collection<? extends E>); + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public void forEach(java.util.function.Consumer<? super E>); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public boolean offer(E); + method public E peek(); + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E poll(); + method public void put(E) throws java.lang.InterruptedException; + method public int remainingCapacity(); + method public int size(); + method public E take() throws java.lang.InterruptedException; + } + + public class LinkedTransferQueue<E> extends java.util.AbstractQueue<E> implements java.io.Serializable java.util.concurrent.TransferQueue<E> { + ctor public LinkedTransferQueue(); + ctor public LinkedTransferQueue(java.util.Collection<? extends E>); + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public void forEach(java.util.function.Consumer<? super E>); + method public int getWaitingConsumerCount(); + method public boolean hasWaitingConsumer(); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E, long, java.util.concurrent.TimeUnit); + method public boolean offer(E); + method public E peek(); + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E poll(); + method public void put(E); + method public int remainingCapacity(); + method public int size(); + method public E take() throws java.lang.InterruptedException; + method public void transfer(E) throws java.lang.InterruptedException; + method public boolean tryTransfer(E); + method public boolean tryTransfer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + } + + public class Phaser { + ctor public Phaser(); + ctor public Phaser(int); + ctor public Phaser(java.util.concurrent.Phaser); + ctor public Phaser(java.util.concurrent.Phaser, int); + method public int arrive(); + method public int arriveAndAwaitAdvance(); + method public int arriveAndDeregister(); + method public int awaitAdvance(int); + method public int awaitAdvanceInterruptibly(int) throws java.lang.InterruptedException; + method public int awaitAdvanceInterruptibly(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException; + method public int bulkRegister(int); + method public void forceTermination(); + method public int getArrivedParties(); + method public java.util.concurrent.Phaser getParent(); + method public final int getPhase(); + method public int getRegisteredParties(); + method public java.util.concurrent.Phaser getRoot(); + method public int getUnarrivedParties(); + method public boolean isTerminated(); + method protected boolean onAdvance(int, int); + method public int register(); + } + + public class PriorityBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable { + ctor public PriorityBlockingQueue(); + ctor public PriorityBlockingQueue(int); + ctor public PriorityBlockingQueue(int, java.util.Comparator<? super E>); + ctor public PriorityBlockingQueue(java.util.Collection<? extends E>); + method public java.util.Comparator<? super E> comparator(); + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public void forEach(java.util.function.Consumer<? super E>); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E); + method public boolean offer(E, long, java.util.concurrent.TimeUnit); + method public E peek(); + method public E poll(); + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void put(E); + method public int remainingCapacity(); + method public int size(); + method public E take() throws java.lang.InterruptedException; + } + + public abstract class RecursiveAction extends java.util.concurrent.ForkJoinTask<java.lang.Void> { + ctor public RecursiveAction(); + method protected abstract void compute(); + method protected final boolean exec(); + method public final Void getRawResult(); + method protected final void setRawResult(Void); + } + + public abstract class RecursiveTask<V> extends java.util.concurrent.ForkJoinTask<V> { + ctor public RecursiveTask(); + method protected abstract V compute(); + method protected final boolean exec(); + method public final V getRawResult(); + method protected final void setRawResult(V); + } + + public class RejectedExecutionException extends java.lang.RuntimeException { + ctor public RejectedExecutionException(); + ctor public RejectedExecutionException(String); + ctor public RejectedExecutionException(String, Throwable); + ctor public RejectedExecutionException(Throwable); + } + + public interface RejectedExecutionHandler { + method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor); + } + + public interface RunnableFuture<V> extends java.lang.Runnable java.util.concurrent.Future<V> { + } + + public interface RunnableScheduledFuture<V> extends java.util.concurrent.RunnableFuture<V> java.util.concurrent.ScheduledFuture<V> { + method public boolean isPeriodic(); + } + + public interface ScheduledExecutorService extends java.util.concurrent.ExecutorService { + method public java.util.concurrent.ScheduledFuture<?> schedule(Runnable, 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(Runnable, long, long, java.util.concurrent.TimeUnit); + method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(Runnable, long, long, java.util.concurrent.TimeUnit); + } + + public interface ScheduledFuture<V> extends java.util.concurrent.Delayed java.util.concurrent.Future<V> { + } + + public class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService { + ctor public ScheduledThreadPoolExecutor(int); + 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 <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(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(Runnable, 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(Runnable, long, long, java.util.concurrent.TimeUnit); + method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(Runnable, long, long, java.util.concurrent.TimeUnit); + method public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean); + method public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean); + method public void setRemoveOnCancelPolicy(boolean); + } + + public class Semaphore implements java.io.Serializable { + ctor public Semaphore(int); + ctor public Semaphore(int, boolean); + method public void acquire() throws java.lang.InterruptedException; + method public void acquire(int) throws java.lang.InterruptedException; + method public void acquireUninterruptibly(); + method public void acquireUninterruptibly(int); + method public int availablePermits(); + method public int drainPermits(); + method public final int getQueueLength(); + method protected java.util.Collection<java.lang.Thread> getQueuedThreads(); + method public final boolean hasQueuedThreads(); + method public boolean isFair(); + method protected void reducePermits(int); + method public void release(); + method public void release(int); + method public boolean tryAcquire(); + method public boolean tryAcquire(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public boolean tryAcquire(int); + method public boolean tryAcquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + } + + public class SubmissionPublisher<T> implements java.lang.AutoCloseable java.util.concurrent.Flow.Publisher<T> { + ctor public SubmissionPublisher(java.util.concurrent.Executor, int, java.util.function.BiConsumer<? super java.util.concurrent.Flow.Subscriber<? super T>,? super java.lang.Throwable>); + ctor public SubmissionPublisher(java.util.concurrent.Executor, int); + ctor public SubmissionPublisher(); + method public void close(); + method public void closeExceptionally(Throwable); + method public java.util.concurrent.CompletableFuture<java.lang.Void> consume(java.util.function.Consumer<? super T>); + method public int estimateMaximumLag(); + method public long estimateMinimumDemand(); + method public Throwable getClosedException(); + method public java.util.concurrent.Executor getExecutor(); + method public int getMaxBufferCapacity(); + method public int getNumberOfSubscribers(); + method public java.util.List<java.util.concurrent.Flow.Subscriber<? super T>> getSubscribers(); + method public boolean hasSubscribers(); + method public boolean isClosed(); + method public boolean isSubscribed(java.util.concurrent.Flow.Subscriber<? super T>); + method public int offer(T, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>,? super T>); + method public int offer(T, long, java.util.concurrent.TimeUnit, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>,? super T>); + method public int submit(T); + method public void subscribe(java.util.concurrent.Flow.Subscriber<? super T>); + } + + public class SynchronousQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable { + ctor public SynchronousQueue(); + ctor public SynchronousQueue(boolean); + method public int drainTo(java.util.Collection<? super E>); + method public int drainTo(java.util.Collection<? super E>, int); + method public java.util.Iterator<E> iterator(); + method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public boolean offer(E); + method public E peek(); + method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public E poll(); + method public void put(E) throws java.lang.InterruptedException; + method public int remainingCapacity(); + method public int size(); + method public E take() throws java.lang.InterruptedException; + } + + public interface ThreadFactory { + method public Thread newThread(Runnable); + } + + public class ThreadLocalRandom extends java.util.Random { + method public static java.util.concurrent.ThreadLocalRandom current(); + method public double nextDouble(double); + method public double nextDouble(double, double); + method public int nextInt(int, int); + method public long nextLong(long); + method public long nextLong(long, long); + } + + public class ThreadPoolExecutor extends java.util.concurrent.AbstractExecutorService { + ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>); + ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory); + ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.RejectedExecutionHandler); + ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler); + method protected void afterExecute(Runnable, Throwable); + method public void allowCoreThreadTimeOut(boolean); + method public boolean allowsCoreThreadTimeOut(); + method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method protected void beforeExecute(Thread, Runnable); + method public void execute(Runnable); + method @Deprecated protected void finalize(); + method public int getActiveCount(); + method public long getCompletedTaskCount(); + method public int getCorePoolSize(); + method public long getKeepAliveTime(java.util.concurrent.TimeUnit); + method public int getLargestPoolSize(); + method public int getMaximumPoolSize(); + method public int getPoolSize(); + method public java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue(); + method public java.util.concurrent.RejectedExecutionHandler getRejectedExecutionHandler(); + method public long getTaskCount(); + method public java.util.concurrent.ThreadFactory getThreadFactory(); + method public boolean isShutdown(); + method public boolean isTerminated(); + method public boolean isTerminating(); + method public int prestartAllCoreThreads(); + method public boolean prestartCoreThread(); + method public void purge(); + method public boolean remove(Runnable); + method public void setCorePoolSize(int); + method public void setKeepAliveTime(long, java.util.concurrent.TimeUnit); + method public void setMaximumPoolSize(int); + method public void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler); + method public void setThreadFactory(java.util.concurrent.ThreadFactory); + method public void shutdown(); + method public java.util.List<java.lang.Runnable> shutdownNow(); + method protected void terminated(); + } + + public static class ThreadPoolExecutor.AbortPolicy implements java.util.concurrent.RejectedExecutionHandler { + ctor public ThreadPoolExecutor.AbortPolicy(); + method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor); + } + + public static class ThreadPoolExecutor.CallerRunsPolicy implements java.util.concurrent.RejectedExecutionHandler { + ctor public ThreadPoolExecutor.CallerRunsPolicy(); + method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor); + } + + public static class ThreadPoolExecutor.DiscardOldestPolicy implements java.util.concurrent.RejectedExecutionHandler { + ctor public ThreadPoolExecutor.DiscardOldestPolicy(); + method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor); + } + + public static class ThreadPoolExecutor.DiscardPolicy implements java.util.concurrent.RejectedExecutionHandler { + ctor public ThreadPoolExecutor.DiscardPolicy(); + method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor); + } + + public enum TimeUnit { + method public long convert(long, java.util.concurrent.TimeUnit); + method public long convert(java.time.Duration); + method public static java.util.concurrent.TimeUnit of(java.time.temporal.ChronoUnit); + method public void sleep(long) throws java.lang.InterruptedException; + method public void timedJoin(Thread, long) throws java.lang.InterruptedException; + method public void timedWait(Object, long) throws java.lang.InterruptedException; + method public java.time.temporal.ChronoUnit toChronoUnit(); + method public long toDays(long); + method public long toHours(long); + method public long toMicros(long); + method public long toMillis(long); + method public long toMinutes(long); + method public long toNanos(long); + method public long toSeconds(long); + enum_constant public static final java.util.concurrent.TimeUnit DAYS; + enum_constant public static final java.util.concurrent.TimeUnit HOURS; + enum_constant public static final java.util.concurrent.TimeUnit MICROSECONDS; + enum_constant public static final java.util.concurrent.TimeUnit MILLISECONDS; + enum_constant public static final java.util.concurrent.TimeUnit MINUTES; + enum_constant public static final java.util.concurrent.TimeUnit NANOSECONDS; + enum_constant public static final java.util.concurrent.TimeUnit SECONDS; + } + + public class TimeoutException extends java.lang.Exception { + ctor public TimeoutException(); + ctor public TimeoutException(String); + } + + public interface TransferQueue<E> extends java.util.concurrent.BlockingQueue<E> { + method public int getWaitingConsumerCount(); + method public boolean hasWaitingConsumer(); + method public void transfer(E) throws java.lang.InterruptedException; + method public boolean tryTransfer(E); + method public boolean tryTransfer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + } + +} + +package java.util.concurrent.atomic { + + public class AtomicBoolean implements java.io.Serializable { + ctor public AtomicBoolean(boolean); + ctor public AtomicBoolean(); + method public final boolean compareAndExchange(boolean, boolean); + method public final boolean compareAndExchangeAcquire(boolean, boolean); + method public final boolean compareAndExchangeRelease(boolean, boolean); + method public final boolean compareAndSet(boolean, boolean); + method public final boolean get(); + method public final boolean getAcquire(); + method public final boolean getAndSet(boolean); + method public final boolean getOpaque(); + method public final boolean getPlain(); + method public final void lazySet(boolean); + method public final void set(boolean); + method public final void setOpaque(boolean); + method public final void setPlain(boolean); + method public final void setRelease(boolean); + method @Deprecated public boolean weakCompareAndSet(boolean, boolean); + method public final boolean weakCompareAndSetAcquire(boolean, boolean); + method public boolean weakCompareAndSetPlain(boolean, boolean); + method public final boolean weakCompareAndSetRelease(boolean, boolean); + method public final boolean weakCompareAndSetVolatile(boolean, boolean); + } + + public class AtomicInteger extends java.lang.Number implements java.io.Serializable { + ctor public AtomicInteger(int); + ctor public AtomicInteger(); + method public final int accumulateAndGet(int, java.util.function.IntBinaryOperator); + method public final int addAndGet(int); + method public final int compareAndExchange(int, int); + method public final int compareAndExchangeAcquire(int, int); + method public final int compareAndExchangeRelease(int, int); + method public final boolean compareAndSet(int, int); + method public final int decrementAndGet(); + method public double doubleValue(); + method public float floatValue(); + method public final int get(); + method public final int getAcquire(); + method public final int getAndAccumulate(int, java.util.function.IntBinaryOperator); + method public final int getAndAdd(int); + method public final int getAndDecrement(); + method public final int getAndIncrement(); + method public final int getAndSet(int); + method public final int getAndUpdate(java.util.function.IntUnaryOperator); + method public final int getOpaque(); + method public final int getPlain(); + method public final int incrementAndGet(); + method public int intValue(); + method public final void lazySet(int); + method public long longValue(); + method public final void set(int); + method public final void setOpaque(int); + method public final void setPlain(int); + method public final void setRelease(int); + method public final int updateAndGet(java.util.function.IntUnaryOperator); + method @Deprecated public final boolean weakCompareAndSet(int, int); + method public final boolean weakCompareAndSetAcquire(int, int); + method public final boolean weakCompareAndSetPlain(int, int); + method public final boolean weakCompareAndSetRelease(int, int); + method public final boolean weakCompareAndSetVolatile(int, int); + } + + public class AtomicIntegerArray implements java.io.Serializable { + ctor public AtomicIntegerArray(int); + ctor public AtomicIntegerArray(int[]); + method public final int accumulateAndGet(int, int, java.util.function.IntBinaryOperator); + method public final int addAndGet(int, int); + method public final int compareAndExchange(int, int, int); + method public final int compareAndExchangeAcquire(int, int, int); + method public final int compareAndExchangeRelease(int, int, int); + method public final boolean compareAndSet(int, int, int); + method public final int decrementAndGet(int); + method public final int get(int); + method public final int getAcquire(int); + method public final int getAndAccumulate(int, int, java.util.function.IntBinaryOperator); + method public final int getAndAdd(int, int); + method public final int getAndDecrement(int); + method public final int getAndIncrement(int); + method public final int getAndSet(int, int); + method public final int getAndUpdate(int, java.util.function.IntUnaryOperator); + method public final int getOpaque(int); + method public final int getPlain(int); + method public final int incrementAndGet(int); + method public final void lazySet(int, int); + method public final int length(); + method public final void set(int, int); + method public final void setOpaque(int, int); + method public final void setPlain(int, int); + method public final void setRelease(int, int); + method public final int updateAndGet(int, java.util.function.IntUnaryOperator); + method @Deprecated public final boolean weakCompareAndSet(int, int, int); + method public final boolean weakCompareAndSetAcquire(int, int, int); + method public final boolean weakCompareAndSetPlain(int, int, int); + method public final boolean weakCompareAndSetRelease(int, int, int); + method public final boolean weakCompareAndSetVolatile(int, int, int); + } + + 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); + method public abstract boolean compareAndSet(T, int, int); + method public int decrementAndGet(T); + method public abstract int get(T); + method public final int getAndAccumulate(T, int, java.util.function.IntBinaryOperator); + method public int getAndAdd(T, int); + method public int getAndDecrement(T); + method public int getAndIncrement(T); + method public int getAndSet(T, int); + 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 <U> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(Class<U>, 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); + } + + public class AtomicLong extends java.lang.Number implements java.io.Serializable { + ctor public AtomicLong(long); + ctor public AtomicLong(); + method public final long accumulateAndGet(long, java.util.function.LongBinaryOperator); + method public final long addAndGet(long); + method public final long compareAndExchange(long, long); + method public final long compareAndExchangeAcquire(long, long); + method public final long compareAndExchangeRelease(long, long); + method public final boolean compareAndSet(long, long); + method public final long decrementAndGet(); + method public double doubleValue(); + method public float floatValue(); + method public final long get(); + method public final long getAcquire(); + method public final long getAndAccumulate(long, java.util.function.LongBinaryOperator); + method public final long getAndAdd(long); + method public final long getAndDecrement(); + method public final long getAndIncrement(); + method public final long getAndSet(long); + method public final long getAndUpdate(java.util.function.LongUnaryOperator); + method public final long getOpaque(); + method public final long getPlain(); + method public final long incrementAndGet(); + method public int intValue(); + method public final void lazySet(long); + method public long longValue(); + method public final void set(long); + method public final void setOpaque(long); + method public final void setPlain(long); + method public final void setRelease(long); + method public final long updateAndGet(java.util.function.LongUnaryOperator); + method @Deprecated public final boolean weakCompareAndSet(long, long); + method public final boolean weakCompareAndSetAcquire(long, long); + method public final boolean weakCompareAndSetPlain(long, long); + method public final boolean weakCompareAndSetRelease(long, long); + method public final boolean weakCompareAndSetVolatile(long, long); + } + + public class AtomicLongArray implements java.io.Serializable { + ctor public AtomicLongArray(int); + ctor public AtomicLongArray(long[]); + method public final long accumulateAndGet(int, long, java.util.function.LongBinaryOperator); + method public long addAndGet(int, long); + method public final long compareAndExchange(int, long, long); + method public final long compareAndExchangeAcquire(int, long, long); + method public final long compareAndExchangeRelease(int, long, long); + method public final boolean compareAndSet(int, long, long); + method public final long decrementAndGet(int); + method public final long get(int); + method public final long getAcquire(int); + method public final long getAndAccumulate(int, long, java.util.function.LongBinaryOperator); + method public final long getAndAdd(int, long); + method public final long getAndDecrement(int); + method public final long getAndIncrement(int); + method public final long getAndSet(int, long); + method public final long getAndUpdate(int, java.util.function.LongUnaryOperator); + method public final long getOpaque(int); + method public final long getPlain(int); + method public final long incrementAndGet(int); + method public final void lazySet(int, long); + method public final int length(); + method public final void set(int, long); + method public final void setOpaque(int, long); + method public final void setPlain(int, long); + method public final void setRelease(int, long); + method public final long updateAndGet(int, java.util.function.LongUnaryOperator); + method @Deprecated public final boolean weakCompareAndSet(int, long, long); + method public final boolean weakCompareAndSetAcquire(int, long, long); + method public final boolean weakCompareAndSetPlain(int, long, long); + method public final boolean weakCompareAndSetRelease(int, long, long); + method public final boolean weakCompareAndSetVolatile(int, long, long); + } + + 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); + method public abstract boolean compareAndSet(T, long, long); + method public long decrementAndGet(T); + method public abstract long get(T); + method public final long getAndAccumulate(T, long, java.util.function.LongBinaryOperator); + method public long getAndAdd(T, long); + method public long getAndDecrement(T); + method public long getAndIncrement(T); + method public long getAndSet(T, long); + 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 <U> java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(Class<U>, 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<V> { + ctor public AtomicMarkableReference(V, boolean); + method public boolean attemptMark(V, boolean); + method public boolean compareAndSet(V, V, boolean, boolean); + method public V get(boolean[]); + method public V getReference(); + method public boolean isMarked(); + method public void set(V, boolean); + method public boolean weakCompareAndSet(V, V, boolean, boolean); + } + + 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>); + method public final V compareAndExchange(V, V); + method public final V compareAndExchangeAcquire(V, V); + method public final V compareAndExchangeRelease(V, V); + method public final boolean compareAndSet(V, V); + method public final V get(); + method public final V getAcquire(); + method public final V getAndAccumulate(V, java.util.function.BinaryOperator<V>); + method public final V getAndSet(V); + method public final V getAndUpdate(java.util.function.UnaryOperator<V>); + method public final V getOpaque(); + method public final V getPlain(); + method public final void lazySet(V); + method public final void set(V); + method public final void setOpaque(V); + method public final void setPlain(V); + method public final void setRelease(V); + method public final V updateAndGet(java.util.function.UnaryOperator<V>); + method @Deprecated public final boolean weakCompareAndSet(V, V); + method public final boolean weakCompareAndSetAcquire(V, V); + method public final boolean weakCompareAndSetPlain(V, V); + method public final boolean weakCompareAndSetRelease(V, V); + method public final boolean weakCompareAndSetVolatile(V, V); + } + + 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>); + method public final E compareAndExchange(int, E, E); + method public final E compareAndExchangeAcquire(int, E, E); + method public final E compareAndExchangeRelease(int, E, E); + method public final boolean compareAndSet(int, E, E); + method public final E get(int); + method public final E getAcquire(int); + method public final E getAndAccumulate(int, E, java.util.function.BinaryOperator<E>); + method public final E getAndSet(int, E); + method public final E getAndUpdate(int, java.util.function.UnaryOperator<E>); + method public final E getOpaque(int); + method public final E getPlain(int); + method public final void lazySet(int, E); + method public final int length(); + method public final void set(int, E); + method public final void setOpaque(int, E); + method public final void setPlain(int, E); + method public final void setRelease(int, E); + method public final E updateAndGet(int, java.util.function.UnaryOperator<E>); + method @Deprecated public final boolean weakCompareAndSet(int, E, E); + method public final boolean weakCompareAndSetAcquire(int, E, E); + method public final boolean weakCompareAndSetPlain(int, E, E); + method public final boolean weakCompareAndSetRelease(int, E, E); + method public final boolean weakCompareAndSetVolatile(int, E, E); + } + + 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); + method public abstract V get(T); + method public final V getAndAccumulate(T, V, java.util.function.BinaryOperator<V>); + 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 <U, W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U,W> newUpdater(Class<U>, Class<W>, 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<V> { + ctor public AtomicStampedReference(V, int); + method public boolean attemptStamp(V, int); + method public boolean compareAndSet(V, V, int, int); + method public V get(int[]); + method public V getReference(); + method public int getStamp(); + method public void set(V, int); + method public boolean weakCompareAndSet(V, V, int, int); + } + + public class DoubleAccumulator extends java.lang.Number implements java.io.Serializable { + ctor public DoubleAccumulator(java.util.function.DoubleBinaryOperator, double); + method public void accumulate(double); + method public double doubleValue(); + method public float floatValue(); + method public double get(); + method public double getThenReset(); + method public int intValue(); + method public long longValue(); + method public void reset(); + } + + public class DoubleAdder extends java.lang.Number implements java.io.Serializable { + ctor public DoubleAdder(); + method public void add(double); + method public double doubleValue(); + method public float floatValue(); + method public int intValue(); + method public long longValue(); + method public void reset(); + method public double sum(); + method public double sumThenReset(); + } + + public class LongAccumulator extends java.lang.Number implements java.io.Serializable { + ctor public LongAccumulator(java.util.function.LongBinaryOperator, long); + method public void accumulate(long); + method public double doubleValue(); + method public float floatValue(); + method public long get(); + method public long getThenReset(); + method public int intValue(); + method public long longValue(); + method public void reset(); + } + + public class LongAdder extends java.lang.Number implements java.io.Serializable { + ctor public LongAdder(); + method public void add(long); + method public void decrement(); + method public double doubleValue(); + method public float floatValue(); + method public void increment(); + method public int intValue(); + method public long longValue(); + method public void reset(); + method public long sum(); + method public long sumThenReset(); + } + +} + +package java.util.concurrent.locks { + + public abstract class AbstractOwnableSynchronizer implements java.io.Serializable { + ctor protected AbstractOwnableSynchronizer(); + method protected final Thread getExclusiveOwnerThread(); + method protected final void setExclusiveOwnerThread(Thread); + } + + public abstract class AbstractQueuedLongSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable { + ctor protected AbstractQueuedLongSynchronizer(); + method public final void acquire(long); + method public final void acquireInterruptibly(long) throws java.lang.InterruptedException; + method public final void acquireShared(long); + method public final void acquireSharedInterruptibly(long) throws java.lang.InterruptedException; + method protected final boolean compareAndSetState(long, long); + method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads(); + method public final Thread getFirstQueuedThread(); + method public final int getQueueLength(); + method public final java.util.Collection<java.lang.Thread> getQueuedThreads(); + method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads(); + method protected final long getState(); + method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject); + method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject); + method public final boolean hasContended(); + method public final boolean hasQueuedPredecessors(); + method public final boolean hasQueuedThreads(); + method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject); + method protected boolean isHeldExclusively(); + method public final boolean isQueued(Thread); + method public final boolean owns(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject); + method public final boolean release(long); + method public final boolean releaseShared(long); + method protected final void setState(long); + method protected boolean tryAcquire(long); + method public final boolean tryAcquireNanos(long, long) throws java.lang.InterruptedException; + method protected long tryAcquireShared(long); + method public final boolean tryAcquireSharedNanos(long, long) throws java.lang.InterruptedException; + method protected boolean tryRelease(long); + method protected boolean tryReleaseShared(long); + } + + public class AbstractQueuedLongSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable { + ctor public AbstractQueuedLongSynchronizer.ConditionObject(); + method public final void await() throws java.lang.InterruptedException; + method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public final long awaitNanos(long) throws java.lang.InterruptedException; + method public final void awaitUninterruptibly(); + method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException; + method protected final int getWaitQueueLength(); + method protected final java.util.Collection<java.lang.Thread> getWaitingThreads(); + method protected final boolean hasWaiters(); + method public final void signal(); + method public final void signalAll(); + } + + public abstract class AbstractQueuedSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable { + ctor protected AbstractQueuedSynchronizer(); + method public final void acquire(int); + method public final void acquireInterruptibly(int) throws java.lang.InterruptedException; + method public final void acquireShared(int); + method public final void acquireSharedInterruptibly(int) throws java.lang.InterruptedException; + method protected final boolean compareAndSetState(int, int); + method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads(); + method public final Thread getFirstQueuedThread(); + method public final int getQueueLength(); + method public final java.util.Collection<java.lang.Thread> getQueuedThreads(); + method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads(); + method protected final int getState(); + method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject); + method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject); + method public final boolean hasContended(); + method public final boolean hasQueuedPredecessors(); + method public final boolean hasQueuedThreads(); + method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject); + method protected boolean isHeldExclusively(); + method public final boolean isQueued(Thread); + method public final boolean owns(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject); + method public final boolean release(int); + method public final boolean releaseShared(int); + method protected final void setState(int); + method protected boolean tryAcquire(int); + method public final boolean tryAcquireNanos(int, long) throws java.lang.InterruptedException; + method protected int tryAcquireShared(int); + method public final boolean tryAcquireSharedNanos(int, long) throws java.lang.InterruptedException; + method protected boolean tryRelease(int); + method protected boolean tryReleaseShared(int); + } + + public class AbstractQueuedSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable { + ctor public AbstractQueuedSynchronizer.ConditionObject(); + method public final void await() throws java.lang.InterruptedException; + method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public final long awaitNanos(long) throws java.lang.InterruptedException; + method public final void awaitUninterruptibly(); + method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException; + method protected final int getWaitQueueLength(); + method protected final java.util.Collection<java.lang.Thread> getWaitingThreads(); + method protected final boolean hasWaiters(); + method public final void signal(); + method public final void signalAll(); + } + + public interface Condition { + method public void await() throws java.lang.InterruptedException; + method public boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public long awaitNanos(long) throws java.lang.InterruptedException; + method public void awaitUninterruptibly(); + method public boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException; + method public void signal(); + method public void signalAll(); + } + + public interface Lock { + method public void lock(); + method public void lockInterruptibly() throws java.lang.InterruptedException; + method public java.util.concurrent.locks.Condition newCondition(); + method public boolean tryLock(); + method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void unlock(); + } + + public class LockSupport { + method public static Object getBlocker(Thread); + method public static void park(Object); + method public static void park(); + method public static void parkNanos(Object, long); + method public static void parkNanos(long); + method public static void parkUntil(Object, long); + method public static void parkUntil(long); + method public static void unpark(Thread); + } + + public interface ReadWriteLock { + method public java.util.concurrent.locks.Lock readLock(); + method public java.util.concurrent.locks.Lock writeLock(); + } + + public class ReentrantLock implements java.util.concurrent.locks.Lock java.io.Serializable { + ctor public ReentrantLock(); + ctor public ReentrantLock(boolean); + method public int getHoldCount(); + method protected Thread getOwner(); + method public final int getQueueLength(); + method protected java.util.Collection<java.lang.Thread> getQueuedThreads(); + method public int getWaitQueueLength(java.util.concurrent.locks.Condition); + method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition); + method public final boolean hasQueuedThread(Thread); + method public final boolean hasQueuedThreads(); + method public boolean hasWaiters(java.util.concurrent.locks.Condition); + method public final boolean isFair(); + method public boolean isHeldByCurrentThread(); + method public boolean isLocked(); + method public void lock(); + method public void lockInterruptibly() throws java.lang.InterruptedException; + method public java.util.concurrent.locks.Condition newCondition(); + method public boolean tryLock(); + method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void unlock(); + } + + public class ReentrantReadWriteLock implements java.util.concurrent.locks.ReadWriteLock java.io.Serializable { + ctor public ReentrantReadWriteLock(); + ctor public ReentrantReadWriteLock(boolean); + method protected Thread getOwner(); + method public final int getQueueLength(); + method protected java.util.Collection<java.lang.Thread> getQueuedReaderThreads(); + method protected java.util.Collection<java.lang.Thread> getQueuedThreads(); + method protected java.util.Collection<java.lang.Thread> getQueuedWriterThreads(); + method public int getReadHoldCount(); + method public int getReadLockCount(); + method public int getWaitQueueLength(java.util.concurrent.locks.Condition); + method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition); + method public int getWriteHoldCount(); + method public final boolean hasQueuedThread(Thread); + method public final boolean hasQueuedThreads(); + method public boolean hasWaiters(java.util.concurrent.locks.Condition); + method public final boolean isFair(); + method public boolean isWriteLocked(); + method public boolean isWriteLockedByCurrentThread(); + method public java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock readLock(); + method public java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock writeLock(); + } + + public static class ReentrantReadWriteLock.ReadLock implements java.util.concurrent.locks.Lock java.io.Serializable { + ctor protected ReentrantReadWriteLock.ReadLock(java.util.concurrent.locks.ReentrantReadWriteLock); + method public void lock(); + method public void lockInterruptibly() throws java.lang.InterruptedException; + method public java.util.concurrent.locks.Condition newCondition(); + method public boolean tryLock(); + method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void unlock(); + } + + public static class ReentrantReadWriteLock.WriteLock implements java.util.concurrent.locks.Lock java.io.Serializable { + ctor protected ReentrantReadWriteLock.WriteLock(java.util.concurrent.locks.ReentrantReadWriteLock); + method public int getHoldCount(); + method public boolean isHeldByCurrentThread(); + method public void lock(); + method public void lockInterruptibly() throws java.lang.InterruptedException; + method public java.util.concurrent.locks.Condition newCondition(); + method public boolean tryLock(); + method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void unlock(); + } + + public class StampedLock implements java.io.Serializable { + ctor public StampedLock(); + method public java.util.concurrent.locks.Lock asReadLock(); + method public java.util.concurrent.locks.ReadWriteLock asReadWriteLock(); + method public java.util.concurrent.locks.Lock asWriteLock(); + method public int getReadLockCount(); + method public static boolean isLockStamp(long); + method public static boolean isOptimisticReadStamp(long); + method public static boolean isReadLockStamp(long); + method public boolean isReadLocked(); + method public static boolean isWriteLockStamp(long); + method public boolean isWriteLocked(); + method public long readLock(); + method public long readLockInterruptibly() throws java.lang.InterruptedException; + method public long tryConvertToOptimisticRead(long); + method public long tryConvertToReadLock(long); + method public long tryConvertToWriteLock(long); + method public long tryOptimisticRead(); + method public long tryReadLock(); + method public long tryReadLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public boolean tryUnlockRead(); + method public boolean tryUnlockWrite(); + method public long tryWriteLock(); + method public long tryWriteLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException; + method public void unlock(long); + method public void unlockRead(long); + method public void unlockWrite(long); + method public boolean validate(long); + method public long writeLock(); + method public long writeLockInterruptibly() throws java.lang.InterruptedException; + } + +} + +package java.util.function { + + @java.lang.FunctionalInterface public interface BiConsumer<T, U> { + method public void accept(T, U); + method public default java.util.function.BiConsumer<T,U> andThen(java.util.function.BiConsumer<? super T,? super U>); + } + + @java.lang.FunctionalInterface public 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 R apply(T, U); + } + + @java.lang.FunctionalInterface public 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 boolean test(T, U); + } + + @java.lang.FunctionalInterface public interface BinaryOperator<T> extends java.util.function.BiFunction<T,T,T> { + 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>); + } + + @java.lang.FunctionalInterface public interface BooleanSupplier { + method public boolean getAsBoolean(); + } + + @java.lang.FunctionalInterface public interface Consumer<T> { + method public void accept(T); + method public default java.util.function.Consumer<T> andThen(java.util.function.Consumer<? super T>); + } + + @java.lang.FunctionalInterface public interface DoubleBinaryOperator { + method public double applyAsDouble(double, double); + } + + @java.lang.FunctionalInterface public interface DoubleConsumer { + method public void accept(double); + method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer); + } + + @java.lang.FunctionalInterface public interface DoubleFunction<R> { + method public R apply(double); + } + + @java.lang.FunctionalInterface public interface DoublePredicate { + method public default java.util.function.DoublePredicate and(java.util.function.DoublePredicate); + method public default java.util.function.DoublePredicate negate(); + method public default java.util.function.DoublePredicate or(java.util.function.DoublePredicate); + method public boolean test(double); + } + + @java.lang.FunctionalInterface public interface DoubleSupplier { + method public double getAsDouble(); + } + + @java.lang.FunctionalInterface public interface DoubleToIntFunction { + method public int applyAsInt(double); + } + + @java.lang.FunctionalInterface public interface DoubleToLongFunction { + method public long applyAsLong(double); + } + + @java.lang.FunctionalInterface public interface DoubleUnaryOperator { + method public default java.util.function.DoubleUnaryOperator andThen(java.util.function.DoubleUnaryOperator); + method public double applyAsDouble(double); + method public default java.util.function.DoubleUnaryOperator compose(java.util.function.DoubleUnaryOperator); + method public static java.util.function.DoubleUnaryOperator identity(); + } + + @java.lang.FunctionalInterface public 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 R apply(T); + 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(); + } + + @java.lang.FunctionalInterface public interface IntBinaryOperator { + method public int applyAsInt(int, int); + } + + @java.lang.FunctionalInterface public interface IntConsumer { + method public void accept(int); + method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer); + } + + @java.lang.FunctionalInterface public interface IntFunction<R> { + method public R apply(int); + } + + @java.lang.FunctionalInterface public interface IntPredicate { + method public default java.util.function.IntPredicate and(java.util.function.IntPredicate); + method public default java.util.function.IntPredicate negate(); + method public default java.util.function.IntPredicate or(java.util.function.IntPredicate); + method public boolean test(int); + } + + @java.lang.FunctionalInterface public interface IntSupplier { + method public int getAsInt(); + } + + @java.lang.FunctionalInterface public interface IntToDoubleFunction { + method public double applyAsDouble(int); + } + + @java.lang.FunctionalInterface public interface IntToLongFunction { + method public long applyAsLong(int); + } + + @java.lang.FunctionalInterface public interface IntUnaryOperator { + method public default java.util.function.IntUnaryOperator andThen(java.util.function.IntUnaryOperator); + method public int applyAsInt(int); + method public default java.util.function.IntUnaryOperator compose(java.util.function.IntUnaryOperator); + method public static java.util.function.IntUnaryOperator identity(); + } + + @java.lang.FunctionalInterface public interface LongBinaryOperator { + method public long applyAsLong(long, long); + } + + @java.lang.FunctionalInterface public interface LongConsumer { + method public void accept(long); + method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer); + } + + @java.lang.FunctionalInterface public interface LongFunction<R> { + method public R apply(long); + } + + @java.lang.FunctionalInterface public interface LongPredicate { + method public default java.util.function.LongPredicate and(java.util.function.LongPredicate); + method public default java.util.function.LongPredicate negate(); + method public default java.util.function.LongPredicate or(java.util.function.LongPredicate); + method public boolean test(long); + } + + @java.lang.FunctionalInterface public interface LongSupplier { + method public long getAsLong(); + } + + @java.lang.FunctionalInterface public interface LongToDoubleFunction { + method public double applyAsDouble(long); + } + + @java.lang.FunctionalInterface public interface LongToIntFunction { + method public int applyAsInt(long); + } + + @java.lang.FunctionalInterface public interface LongUnaryOperator { + method public default java.util.function.LongUnaryOperator andThen(java.util.function.LongUnaryOperator); + method public long applyAsLong(long); + method public default java.util.function.LongUnaryOperator compose(java.util.function.LongUnaryOperator); + method public static java.util.function.LongUnaryOperator identity(); + } + + @java.lang.FunctionalInterface public interface ObjDoubleConsumer<T> { + method public void accept(T, double); + } + + @java.lang.FunctionalInterface public interface ObjIntConsumer<T> { + method public void accept(T, int); + } + + @java.lang.FunctionalInterface public interface ObjLongConsumer<T> { + method public void accept(T, long); + } + + @java.lang.FunctionalInterface public interface Predicate<T> { + method public default java.util.function.Predicate<T> and(java.util.function.Predicate<? super T>); + method public static <T> java.util.function.Predicate<T> isEqual(Object); + method public default java.util.function.Predicate<T> negate(); + method public static <T> java.util.function.Predicate<T> not(java.util.function.Predicate<? super T>); + method public default java.util.function.Predicate<T> or(java.util.function.Predicate<? super T>); + method public boolean test(T); + } + + @java.lang.FunctionalInterface public interface Supplier<T> { + method public T get(); + } + + @java.lang.FunctionalInterface public interface ToDoubleBiFunction<T, U> { + method public double applyAsDouble(T, U); + } + + @java.lang.FunctionalInterface public interface ToDoubleFunction<T> { + method public double applyAsDouble(T); + } + + @java.lang.FunctionalInterface public interface ToIntBiFunction<T, U> { + method public int applyAsInt(T, U); + } + + @java.lang.FunctionalInterface public interface ToIntFunction<T> { + method public int applyAsInt(T); + } + + @java.lang.FunctionalInterface public interface ToLongBiFunction<T, U> { + method public long applyAsLong(T, U); + } + + @java.lang.FunctionalInterface public interface ToLongFunction<T> { + method public long applyAsLong(T); + } + + @java.lang.FunctionalInterface public interface UnaryOperator<T> extends java.util.function.Function<T,T> { + method public static <T> java.util.function.UnaryOperator<T> identity(); + } + +} + +package java.util.jar { + + public class Attributes implements java.lang.Cloneable java.util.Map<java.lang.Object,java.lang.Object> { + ctor public Attributes(); + ctor public Attributes(int); + ctor public Attributes(java.util.jar.Attributes); + method public void clear(); + method public Object clone(); + method public boolean containsKey(Object); + method public boolean containsValue(Object); + method public java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> entrySet(); + method public Object get(Object); + method public String getValue(String); + method public String getValue(java.util.jar.Attributes.Name); + method public boolean isEmpty(); + method public java.util.Set<java.lang.Object> keySet(); + method public Object put(Object, Object); + method public void putAll(java.util.Map<?,?>); + method public String putValue(String, String); + method public Object remove(Object); + method public int size(); + method public java.util.Collection<java.lang.Object> values(); + field protected java.util.Map<java.lang.Object,java.lang.Object> map; + } + + public static class Attributes.Name { + ctor public Attributes.Name(String); + field public static final java.util.jar.Attributes.Name CLASS_PATH; + field public static final java.util.jar.Attributes.Name CONTENT_TYPE; + field @Deprecated public static final java.util.jar.Attributes.Name EXTENSION_INSTALLATION; + field public static final java.util.jar.Attributes.Name EXTENSION_LIST; + field public static final java.util.jar.Attributes.Name EXTENSION_NAME; + field public static final java.util.jar.Attributes.Name IMPLEMENTATION_TITLE; + field @Deprecated public static final java.util.jar.Attributes.Name IMPLEMENTATION_URL; + field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR; + field @Deprecated public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR_ID; + field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VERSION; + field public static final java.util.jar.Attributes.Name MAIN_CLASS; + field public static final java.util.jar.Attributes.Name MANIFEST_VERSION; + field public static final java.util.jar.Attributes.Name SEALED; + field public static final java.util.jar.Attributes.Name SIGNATURE_VERSION; + field public static final java.util.jar.Attributes.Name SPECIFICATION_TITLE; + field public static final java.util.jar.Attributes.Name SPECIFICATION_VENDOR; + field public static final java.util.jar.Attributes.Name SPECIFICATION_VERSION; + } + + public class JarEntry extends java.util.zip.ZipEntry { + ctor public JarEntry(String); + ctor public JarEntry(java.util.zip.ZipEntry); + ctor public JarEntry(java.util.jar.JarEntry); + method public java.util.jar.Attributes getAttributes() throws java.io.IOException; + method public java.security.cert.Certificate[] getCertificates(); + method public java.security.CodeSigner[] getCodeSigners(); + method public String getRealName(); + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + } + + public class JarException extends java.util.zip.ZipException { + ctor public JarException(); + ctor public JarException(String); + } + + public class JarFile extends java.util.zip.ZipFile { + ctor public JarFile(String) throws java.io.IOException; + ctor public JarFile(String, boolean) throws java.io.IOException; + ctor public JarFile(java.io.File) throws java.io.IOException; + ctor public JarFile(java.io.File, boolean) throws java.io.IOException; + ctor public JarFile(java.io.File, boolean, int) throws java.io.IOException; + method public java.util.Enumeration<java.util.jar.JarEntry> entries(); + method public java.util.jar.JarEntry getJarEntry(String); + method public java.util.jar.Manifest getManifest() throws java.io.IOException; + method public java.util.stream.Stream<java.util.jar.JarEntry> stream(); + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + field public static final String MANIFEST_NAME = "META-INF/MANIFEST.MF"; + } + + public class JarInputStream extends java.util.zip.ZipInputStream { + ctor public JarInputStream(java.io.InputStream) throws java.io.IOException; + ctor public JarInputStream(java.io.InputStream, boolean) throws java.io.IOException; + method public java.util.jar.Manifest getManifest(); + method public java.util.jar.JarEntry getNextJarEntry() throws java.io.IOException; + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + } + + public class JarOutputStream extends java.util.zip.ZipOutputStream { + ctor public JarOutputStream(java.io.OutputStream, java.util.jar.Manifest) throws java.io.IOException; + ctor public JarOutputStream(java.io.OutputStream) throws java.io.IOException; + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + } + + public class Manifest implements java.lang.Cloneable { + ctor public Manifest(); + ctor public Manifest(java.io.InputStream) throws java.io.IOException; + ctor public Manifest(java.util.jar.Manifest); + method public void clear(); + method public Object clone(); + method public java.util.jar.Attributes getAttributes(String); + method public java.util.Map<java.lang.String,java.util.jar.Attributes> getEntries(); + method public java.util.jar.Attributes getMainAttributes(); + method public void read(java.io.InputStream) throws java.io.IOException; + method public void write(java.io.OutputStream) throws java.io.IOException; + } + + public abstract class Pack200 { + method public static java.util.jar.Pack200.Packer newPacker(); + method public static java.util.jar.Pack200.Unpacker newUnpacker(); + } + + public static interface Pack200.Packer { + method @Deprecated public default void addPropertyChangeListener(java.beans.PropertyChangeListener); + method public void pack(java.util.jar.JarFile, java.io.OutputStream) throws java.io.IOException; + method public void pack(java.util.jar.JarInputStream, java.io.OutputStream) throws java.io.IOException; + method public java.util.SortedMap<java.lang.String,java.lang.String> properties(); + method @Deprecated public default void removePropertyChangeListener(java.beans.PropertyChangeListener); + field public static final String CLASS_ATTRIBUTE_PFX = "pack.class.attribute."; + field public static final String CODE_ATTRIBUTE_PFX = "pack.code.attribute."; + field public static final String DEFLATE_HINT = "pack.deflate.hint"; + field public static final String EFFORT = "pack.effort"; + field public static final String ERROR = "error"; + field public static final String FALSE = "false"; + field public static final String FIELD_ATTRIBUTE_PFX = "pack.field.attribute."; + field public static final String KEEP = "keep"; + field public static final String KEEP_FILE_ORDER = "pack.keep.file.order"; + field public static final String LATEST = "latest"; + field public static final String METHOD_ATTRIBUTE_PFX = "pack.method.attribute."; + field public static final String MODIFICATION_TIME = "pack.modification.time"; + field public static final String PASS = "pass"; + field public static final String PASS_FILE_PFX = "pack.pass.file."; + field public static final String PROGRESS = "pack.progress"; + field public static final String SEGMENT_LIMIT = "pack.segment.limit"; + field public static final String STRIP = "strip"; + field public static final String TRUE = "true"; + field public static final String UNKNOWN_ATTRIBUTE = "pack.unknown.attribute"; + } + + public static interface Pack200.Unpacker { + method @Deprecated public default void addPropertyChangeListener(java.beans.PropertyChangeListener); + method public java.util.SortedMap<java.lang.String,java.lang.String> properties(); + method @Deprecated public default void removePropertyChangeListener(java.beans.PropertyChangeListener); + method public void unpack(java.io.InputStream, java.util.jar.JarOutputStream) throws java.io.IOException; + method public void unpack(java.io.File, java.util.jar.JarOutputStream) throws java.io.IOException; + field public static final String DEFLATE_HINT = "unpack.deflate.hint"; + field public static final String FALSE = "false"; + field public static final String KEEP = "keep"; + field public static final String PROGRESS = "unpack.progress"; + field public static final String TRUE = "true"; + } + +} + +package java.util.logging { + + public class ConsoleHandler extends java.util.logging.StreamHandler { + ctor public ConsoleHandler(); + method public void close(); + } + + public class ErrorManager { + ctor public ErrorManager(); + method public void error(String, Exception, int); + field public static final int CLOSE_FAILURE = 3; // 0x3 + field public static final int FLUSH_FAILURE = 2; // 0x2 + field public static final int FORMAT_FAILURE = 5; // 0x5 + field public static final int GENERIC_FAILURE = 0; // 0x0 + field public static final int OPEN_FAILURE = 4; // 0x4 + field public static final int WRITE_FAILURE = 1; // 0x1 + } + + public class FileHandler extends java.util.logging.StreamHandler { + ctor public FileHandler() throws java.io.IOException, java.lang.SecurityException; + ctor public FileHandler(String) throws java.io.IOException, java.lang.SecurityException; + ctor public FileHandler(String, boolean) throws java.io.IOException, java.lang.SecurityException; + ctor public FileHandler(String, int, int) throws java.io.IOException, java.lang.SecurityException; + ctor public FileHandler(String, int, int, boolean) throws java.io.IOException, java.lang.SecurityException; + } + + @java.lang.FunctionalInterface public interface Filter { + method public boolean isLoggable(java.util.logging.LogRecord); + } + + public abstract class Formatter { + ctor protected Formatter(); + method public abstract String format(java.util.logging.LogRecord); + method public String formatMessage(java.util.logging.LogRecord); + method public String getHead(java.util.logging.Handler); + method public String getTail(java.util.logging.Handler); + } + + public abstract class Handler { + ctor protected Handler(); + method public abstract void close() throws java.lang.SecurityException; + method public abstract void flush(); + method public String getEncoding(); + method public java.util.logging.ErrorManager getErrorManager(); + method public java.util.logging.Filter getFilter(); + method public java.util.logging.Formatter getFormatter(); + method public java.util.logging.Level getLevel(); + method public boolean isLoggable(java.util.logging.LogRecord); + method public abstract void publish(java.util.logging.LogRecord); + method protected void reportError(String, Exception, int); + method public void setEncoding(String) throws java.lang.SecurityException, java.io.UnsupportedEncodingException; + method public void setErrorManager(java.util.logging.ErrorManager); + method public void setFilter(java.util.logging.Filter) throws java.lang.SecurityException; + method public void setFormatter(java.util.logging.Formatter) throws java.lang.SecurityException; + method public void setLevel(java.util.logging.Level) throws java.lang.SecurityException; + } + + public class Level implements java.io.Serializable { + ctor protected Level(@NonNull String, int); + ctor protected Level(@NonNull String, int, @Nullable String); + method @NonNull public String getLocalizedName(); + method @NonNull public String getName(); + method @Nullable public String getResourceBundleName(); + method public final int intValue(); + method @NonNull public static java.util.logging.Level parse(@NonNull String) throws java.lang.IllegalArgumentException; + method @NonNull public final String toString(); + field @NonNull public static final java.util.logging.Level ALL; + field @NonNull public static final java.util.logging.Level CONFIG; + field @NonNull public static final java.util.logging.Level FINE; + field @NonNull public static final java.util.logging.Level FINER; + field @NonNull public static final java.util.logging.Level FINEST; + field @NonNull public static final java.util.logging.Level INFO; + field @NonNull public static final java.util.logging.Level OFF; + field @NonNull public static final java.util.logging.Level SEVERE; + field @NonNull public static final java.util.logging.Level WARNING; + } + + public class LogManager { + ctor protected LogManager(); + method public boolean addLogger(java.util.logging.Logger); + method @Deprecated public void addPropertyChangeListener(java.beans.PropertyChangeListener) throws java.lang.SecurityException; + method public void checkAccess() throws java.lang.SecurityException; + method public static java.util.logging.LogManager getLogManager(); + method public java.util.logging.Logger getLogger(String); + method public java.util.Enumeration<java.lang.String> getLoggerNames(); + method public static java.util.logging.LoggingMXBean getLoggingMXBean(); + method public String getProperty(String); + method public void readConfiguration() throws java.io.IOException, java.lang.SecurityException; + method public void readConfiguration(java.io.InputStream) throws java.io.IOException, java.lang.SecurityException; + method @Deprecated public void removePropertyChangeListener(java.beans.PropertyChangeListener) throws java.lang.SecurityException; + method public void reset() throws java.lang.SecurityException; + field public static final String LOGGING_MXBEAN_NAME = "java.util.logging:type=Logging"; + } + + public class LogRecord implements java.io.Serializable { + ctor public LogRecord(java.util.logging.Level, String); + method public java.util.logging.Level getLevel(); + method public String getLoggerName(); + method public String getMessage(); + method public long getMillis(); + method public Object[] getParameters(); + method public java.util.ResourceBundle getResourceBundle(); + method public String getResourceBundleName(); + method public long getSequenceNumber(); + method public String getSourceClassName(); + method public String getSourceMethodName(); + method public int getThreadID(); + method public Throwable getThrown(); + method public void setLevel(java.util.logging.Level); + method public void setLoggerName(String); + method public void setMessage(String); + method public void setMillis(long); + method public void setParameters(Object[]); + method public void setResourceBundle(java.util.ResourceBundle); + method public void setResourceBundleName(String); + method public void setSequenceNumber(long); + method public void setSourceClassName(String); + method public void setSourceMethodName(String); + method public void setThreadID(int); + method public void setThrown(Throwable); + } + + public class Logger { + ctor protected Logger(@Nullable String, @Nullable String); + method public void addHandler(@NonNull java.util.logging.Handler) throws java.lang.SecurityException; + method public void config(@Nullable String); + method public void config(@NonNull java.util.function.Supplier<java.lang.String>); + method public void entering(@Nullable String, @Nullable String); + method public void entering(@Nullable String, @Nullable String, @Nullable Object); + method public void entering(@Nullable String, @Nullable String, @Nullable Object[]); + method public void exiting(@Nullable String, @Nullable String); + method public void exiting(@Nullable String, @Nullable String, @Nullable Object); + method public void fine(@Nullable String); + method public void fine(@NonNull java.util.function.Supplier<java.lang.String>); + method public void finer(@Nullable String); + method public void finer(@NonNull java.util.function.Supplier<java.lang.String>); + method public void finest(@Nullable String); + method public void finest(@NonNull java.util.function.Supplier<java.lang.String>); + method @NonNull public static java.util.logging.Logger getAnonymousLogger(); + method @NonNull public static java.util.logging.Logger getAnonymousLogger(@Nullable String); + method @Nullable public java.util.logging.Filter getFilter(); + method @NonNull public static final java.util.logging.Logger getGlobal(); + method @NonNull public java.util.logging.Handler[] getHandlers(); + method @Nullable public java.util.logging.Level getLevel(); + method @NonNull public static java.util.logging.Logger getLogger(@NonNull String); + method @NonNull public static java.util.logging.Logger getLogger(@NonNull String, @Nullable String); + method @Nullable public String getName(); + method @Nullable public java.util.logging.Logger getParent(); + method @Nullable public java.util.ResourceBundle getResourceBundle(); + method @Nullable public String getResourceBundleName(); + method public boolean getUseParentHandlers(); + method public void info(@Nullable String); + method public void info(@NonNull java.util.function.Supplier<java.lang.String>); + method public boolean isLoggable(@NonNull java.util.logging.Level); + method public void log(@NonNull java.util.logging.LogRecord); + method public void log(@NonNull java.util.logging.Level, @Nullable String); + method public void log(@NonNull java.util.logging.Level, @NonNull java.util.function.Supplier<java.lang.String>); + method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Object); + method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Object[]); + method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Throwable); + method public void log(@NonNull java.util.logging.Level, @Nullable Throwable, @NonNull java.util.function.Supplier<java.lang.String>); + method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String); + method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @NonNull java.util.function.Supplier<java.lang.String>); + method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Object); + method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Object[]); + method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Throwable); + method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable Throwable, @NonNull java.util.function.Supplier<java.lang.String>); + method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String); + method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Object); + method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Object[]); + method public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable java.util.ResourceBundle, @Nullable String, @Nullable java.lang.Object...); + method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Throwable); + method public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable java.util.ResourceBundle, @Nullable String, @Nullable Throwable); + method public void removeHandler(@Nullable java.util.logging.Handler) throws java.lang.SecurityException; + method public void setFilter(@Nullable java.util.logging.Filter) throws java.lang.SecurityException; + method public void setLevel(@Nullable java.util.logging.Level) throws java.lang.SecurityException; + method public void setParent(@NonNull java.util.logging.Logger); + method public void setResourceBundle(@NonNull java.util.ResourceBundle); + method public void setUseParentHandlers(boolean); + method public void severe(@Nullable String); + method public void severe(@NonNull java.util.function.Supplier<java.lang.String>); + method public void throwing(@Nullable String, @Nullable String, @Nullable Throwable); + method public void warning(@Nullable String); + method public void warning(@NonNull java.util.function.Supplier<java.lang.String>); + field @NonNull public static final String GLOBAL_LOGGER_NAME = "global"; + field @Deprecated @NonNull public static final java.util.logging.Logger global; + } + + public interface LoggingMXBean { + method public String getLoggerLevel(String); + method public java.util.List<java.lang.String> getLoggerNames(); + method public String getParentLoggerName(String); + method public void setLoggerLevel(String, String); + } + + public final class LoggingPermission extends java.security.BasicPermission { + ctor public LoggingPermission(String, String) throws java.lang.IllegalArgumentException; + } + + public class MemoryHandler extends java.util.logging.Handler { + ctor public MemoryHandler(); + ctor public MemoryHandler(java.util.logging.Handler, int, java.util.logging.Level); + method public void close() throws java.lang.SecurityException; + method public void flush(); + method public java.util.logging.Level getPushLevel(); + method public void publish(java.util.logging.LogRecord); + method public void push(); + method public void setPushLevel(java.util.logging.Level) throws java.lang.SecurityException; + } + + public class SimpleFormatter extends java.util.logging.Formatter { + ctor public SimpleFormatter(); + method public String format(java.util.logging.LogRecord); + } + + public class SocketHandler extends java.util.logging.StreamHandler { + ctor public SocketHandler() throws java.io.IOException; + ctor public SocketHandler(String, int) throws java.io.IOException; + } + + public class StreamHandler extends java.util.logging.Handler { + ctor public StreamHandler(); + ctor public StreamHandler(java.io.OutputStream, java.util.logging.Formatter); + method public void close() throws java.lang.SecurityException; + method public void flush(); + method public void publish(java.util.logging.LogRecord); + method protected void setOutputStream(java.io.OutputStream) throws java.lang.SecurityException; + } + + public class XMLFormatter extends java.util.logging.Formatter { + ctor public XMLFormatter(); + method public String format(java.util.logging.LogRecord); + } + +} + +package java.util.prefs { + + public abstract class AbstractPreferences extends java.util.prefs.Preferences { + ctor protected AbstractPreferences(java.util.prefs.AbstractPreferences, String); + method public String absolutePath(); + method public void addNodeChangeListener(java.util.prefs.NodeChangeListener); + method public void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener); + method protected final java.util.prefs.AbstractPreferences[] cachedChildren(); + method protected abstract java.util.prefs.AbstractPreferences childSpi(String); + method public String[] childrenNames() throws java.util.prefs.BackingStoreException; + method protected abstract String[] childrenNamesSpi() throws java.util.prefs.BackingStoreException; + method public void clear() throws java.util.prefs.BackingStoreException; + method public void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException; + method public void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException; + method public void flush() throws java.util.prefs.BackingStoreException; + method protected abstract void flushSpi() throws java.util.prefs.BackingStoreException; + method public String get(String, String); + method public boolean getBoolean(String, boolean); + method public byte[] getByteArray(String, byte[]); + method protected java.util.prefs.AbstractPreferences getChild(String) throws java.util.prefs.BackingStoreException; + method public double getDouble(String, double); + method public float getFloat(String, float); + method public int getInt(String, int); + method public long getLong(String, long); + method protected abstract String getSpi(String); + method protected boolean isRemoved(); + method public boolean isUserNode(); + method public String[] keys() throws java.util.prefs.BackingStoreException; + method protected abstract String[] keysSpi() throws java.util.prefs.BackingStoreException; + method public String name(); + method public java.util.prefs.Preferences node(String); + method public boolean nodeExists(String) throws java.util.prefs.BackingStoreException; + method public java.util.prefs.Preferences parent(); + method public void put(String, String); + method public void putBoolean(String, boolean); + method public void putByteArray(String, byte[]); + method public void putDouble(String, double); + method public void putFloat(String, float); + method public void putInt(String, int); + method public void putLong(String, long); + method protected abstract void putSpi(String, String); + method public void remove(String); + method public void removeNode() throws java.util.prefs.BackingStoreException; + method public void removeNodeChangeListener(java.util.prefs.NodeChangeListener); + method protected abstract void removeNodeSpi() throws java.util.prefs.BackingStoreException; + method public void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener); + method protected abstract void removeSpi(String); + method public void sync() throws java.util.prefs.BackingStoreException; + method protected abstract void syncSpi() throws java.util.prefs.BackingStoreException; + field protected final Object lock; + field protected boolean newNode; + } + + public class BackingStoreException extends java.lang.Exception { + ctor public BackingStoreException(String); + ctor public BackingStoreException(Throwable); + } + + public class InvalidPreferencesFormatException extends java.lang.Exception { + ctor public InvalidPreferencesFormatException(Throwable); + ctor public InvalidPreferencesFormatException(String); + ctor public InvalidPreferencesFormatException(String, Throwable); + } + + public class NodeChangeEvent extends java.util.EventObject { + ctor public NodeChangeEvent(java.util.prefs.Preferences, java.util.prefs.Preferences); + method public java.util.prefs.Preferences getChild(); + method public java.util.prefs.Preferences getParent(); + } + + public interface NodeChangeListener extends java.util.EventListener { + method public void childAdded(java.util.prefs.NodeChangeEvent); + method public void childRemoved(java.util.prefs.NodeChangeEvent); + } + + public class PreferenceChangeEvent extends java.util.EventObject { + ctor public PreferenceChangeEvent(java.util.prefs.Preferences, String, String); + method public String getKey(); + method public String getNewValue(); + method public java.util.prefs.Preferences getNode(); + } + + @java.lang.FunctionalInterface public interface PreferenceChangeListener extends java.util.EventListener { + method public void preferenceChange(java.util.prefs.PreferenceChangeEvent); + } + + public abstract class Preferences { + ctor protected Preferences(); + method public abstract String absolutePath(); + method public abstract void addNodeChangeListener(java.util.prefs.NodeChangeListener); + method public abstract void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener); + method public abstract String[] childrenNames() throws java.util.prefs.BackingStoreException; + method public abstract void clear() throws java.util.prefs.BackingStoreException; + method public abstract void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException; + method public abstract void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException; + method public abstract void flush() throws java.util.prefs.BackingStoreException; + method public abstract String get(String, String); + method public abstract boolean getBoolean(String, boolean); + method public abstract byte[] getByteArray(String, byte[]); + method public abstract double getDouble(String, double); + method public abstract float getFloat(String, float); + method public abstract int getInt(String, int); + method public abstract long getLong(String, long); + method public static void importPreferences(java.io.InputStream) throws java.io.IOException, java.util.prefs.InvalidPreferencesFormatException; + method public abstract boolean isUserNode(); + method public abstract String[] keys() throws java.util.prefs.BackingStoreException; + method public abstract String name(); + method public abstract java.util.prefs.Preferences node(String); + method public abstract boolean nodeExists(String) throws java.util.prefs.BackingStoreException; + method public abstract java.util.prefs.Preferences parent(); + method public abstract void put(String, String); + method public abstract void putBoolean(String, boolean); + method public abstract void putByteArray(String, byte[]); + method public abstract void putDouble(String, double); + method public abstract void putFloat(String, float); + method public abstract void putInt(String, int); + method public abstract void putLong(String, long); + method public abstract void remove(String); + method public abstract void removeNode() throws java.util.prefs.BackingStoreException; + method public abstract void removeNodeChangeListener(java.util.prefs.NodeChangeListener); + method public abstract void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener); + method public abstract void sync() throws java.util.prefs.BackingStoreException; + method public static java.util.prefs.Preferences systemNodeForPackage(Class<?>); + method public static java.util.prefs.Preferences systemRoot(); + method public abstract String toString(); + method public static java.util.prefs.Preferences userNodeForPackage(Class<?>); + method public static java.util.prefs.Preferences userRoot(); + field public static final int MAX_KEY_LENGTH = 80; // 0x50 + field public static final int MAX_NAME_LENGTH = 80; // 0x50 + field public static final int MAX_VALUE_LENGTH = 8192; // 0x2000 + } + + public interface PreferencesFactory { + method public java.util.prefs.Preferences systemRoot(); + method public java.util.prefs.Preferences userRoot(); + } + +} + +package java.util.regex { + + public interface MatchResult { + method public int end(); + method public int end(int); + method public String group(); + method public String group(int); + method public int groupCount(); + method public int start(); + method public int start(int); + } + + public final class Matcher implements java.util.regex.MatchResult { + method @NonNull public java.util.regex.Matcher appendReplacement(@NonNull StringBuffer, @NonNull String); + method @NonNull public StringBuffer appendTail(@NonNull StringBuffer); + method public int end(); + method public int end(int); + method public int end(@NonNull String); + method public boolean find(); + method public boolean find(int); + method @NonNull public String group(); + method @Nullable public String group(int); + method @Nullable public String group(@NonNull String); + method public int groupCount(); + method public boolean hasAnchoringBounds(); + method public boolean hasTransparentBounds(); + method public boolean hitEnd(); + method public boolean lookingAt(); + method public boolean matches(); + method @NonNull public java.util.regex.Pattern pattern(); + method @NonNull public static String quoteReplacement(@NonNull String); + method @NonNull public java.util.regex.Matcher region(int, int); + method public int regionEnd(); + method public int regionStart(); + method @NonNull public String replaceAll(@NonNull String); + method @NonNull public String replaceFirst(@NonNull String); + method public boolean requireEnd(); + method @NonNull public java.util.regex.Matcher reset(); + method @NonNull public java.util.regex.Matcher reset(@NonNull CharSequence); + method public int start(); + method public int start(int); + method public int start(@NonNull String); + method @NonNull public java.util.regex.MatchResult toMatchResult(); + method @NonNull public java.util.regex.Matcher useAnchoringBounds(boolean); + method @NonNull public java.util.regex.Matcher usePattern(@NonNull java.util.regex.Pattern); + method @NonNull public java.util.regex.Matcher useTransparentBounds(boolean); + } + + public final class Pattern implements java.io.Serializable { + method @NonNull public java.util.function.Predicate<java.lang.String> asPredicate(); + method @NonNull public static java.util.regex.Pattern compile(@NonNull String); + method @NonNull public static java.util.regex.Pattern compile(@NonNull String, int); + method public int flags(); + method @NonNull public java.util.regex.Matcher matcher(@NonNull CharSequence); + method public static boolean matches(@NonNull String, @NonNull CharSequence); + method @NonNull public String pattern(); + method @NonNull public static String quote(@NonNull String); + method @NonNull public String[] split(@NonNull CharSequence, int); + method @NonNull public String[] split(@NonNull CharSequence); + method @NonNull public java.util.stream.Stream<java.lang.String> splitAsStream(@NonNull CharSequence); + field public static final int CANON_EQ = 128; // 0x80 + field public static final int CASE_INSENSITIVE = 2; // 0x2 + field public static final int COMMENTS = 4; // 0x4 + field public static final int DOTALL = 32; // 0x20 + field public static final int LITERAL = 16; // 0x10 + field public static final int MULTILINE = 8; // 0x8 + field public static final int UNICODE_CASE = 64; // 0x40 + field public static final int UNICODE_CHARACTER_CLASS = 256; // 0x100 + field public static final int UNIX_LINES = 1; // 0x1 + } + + public class PatternSyntaxException extends java.lang.IllegalArgumentException { + ctor public PatternSyntaxException(String, String, int); + method public String getDescription(); + method public int getIndex(); + method public String getPattern(); + } + +} + +package java.util.stream { + + public interface BaseStream<T, S extends java.util.stream.BaseStream<T, S>> extends java.lang.AutoCloseable { + method public void close(); + method public boolean isParallel(); + method public java.util.Iterator<T> iterator(); + method public S onClose(Runnable); + method public S parallel(); + method public S sequential(); + method public java.util.Spliterator<T> spliterator(); + method public S unordered(); + } + + public interface Collector<T, A, R> { + method public java.util.function.BiConsumer<A,T> accumulator(); + method public java.util.Set<java.util.stream.Collector.Characteristics> characteristics(); + method public java.util.function.BinaryOperator<A> combiner(); + method public java.util.function.Function<A,R> finisher(); + 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 java.util.function.Supplier<A> supplier(); + } + + public enum Collector.Characteristics { + enum_constant public static final java.util.stream.Collector.Characteristics CONCURRENT; + enum_constant public static final java.util.stream.Collector.Characteristics IDENTITY_FINISH; + enum_constant public static final java.util.stream.Collector.Characteristics UNORDERED; + } + + public final class Collectors { + 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, A, R> java.util.stream.Collector<T,?,R> filtering(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T,A,R>); + method public static <T, U, A, R> java.util.stream.Collector<T,?,R> flatMapping(java.util.function.Function<? super T,? extends java.util.stream.Stream<? extends U>>, java.util.stream.Collector<? super U,A,R>); + 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(CharSequence); + method public static java.util.stream.Collector<java.lang.CharSequence,?,java.lang.String> joining(CharSequence, CharSequence, CharSequence); + 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(); + method public static <T> java.util.stream.Collector<T,?,java.util.List<T>> toUnmodifiableList(); + method public static <T, K, U> java.util.stream.Collector<T,?,java.util.Map<K,U>> toUnmodifiableMap(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>> toUnmodifiableMap(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> java.util.stream.Collector<T,?,java.util.Set<T>> toUnmodifiableSet(); + } + + public interface DoubleStream extends java.util.stream.BaseStream<java.lang.Double,java.util.stream.DoubleStream> { + method public boolean allMatch(java.util.function.DoublePredicate); + method public boolean anyMatch(java.util.function.DoublePredicate); + method public java.util.OptionalDouble average(); + method public java.util.stream.Stream<java.lang.Double> boxed(); + method public static java.util.stream.DoubleStream.Builder builder(); + method public <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 long count(); + method public java.util.stream.DoubleStream distinct(); + method public static java.util.stream.DoubleStream empty(); + method public java.util.stream.DoubleStream filter(java.util.function.DoublePredicate); + method public java.util.OptionalDouble findAny(); + method public java.util.OptionalDouble findFirst(); + method public java.util.stream.DoubleStream flatMap(java.util.function.DoubleFunction<? extends java.util.stream.DoubleStream>); + method public void forEach(java.util.function.DoubleConsumer); + method public void forEachOrdered(java.util.function.DoubleConsumer); + method public static java.util.stream.DoubleStream generate(java.util.function.DoubleSupplier); + method public static java.util.stream.DoubleStream iterate(double, java.util.function.DoubleUnaryOperator); + method public java.util.PrimitiveIterator.OfDouble iterator(); + method public java.util.stream.DoubleStream limit(long); + method public java.util.stream.DoubleStream map(java.util.function.DoubleUnaryOperator); + method public java.util.stream.IntStream mapToInt(java.util.function.DoubleToIntFunction); + method public java.util.stream.LongStream mapToLong(java.util.function.DoubleToLongFunction); + method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>); + method public java.util.OptionalDouble max(); + method public java.util.OptionalDouble min(); + method public boolean noneMatch(java.util.function.DoublePredicate); + method public static java.util.stream.DoubleStream of(double); + method public static java.util.stream.DoubleStream of(double...); + method public java.util.stream.DoubleStream parallel(); + method public java.util.stream.DoubleStream peek(java.util.function.DoubleConsumer); + method public double reduce(double, java.util.function.DoubleBinaryOperator); + method public java.util.OptionalDouble reduce(java.util.function.DoubleBinaryOperator); + method public java.util.stream.DoubleStream sequential(); + method public java.util.stream.DoubleStream skip(long); + method public java.util.stream.DoubleStream sorted(); + method public java.util.Spliterator.OfDouble spliterator(); + method public double sum(); + method public java.util.DoubleSummaryStatistics summaryStatistics(); + method public double[] toArray(); + } + + public static interface DoubleStream.Builder extends java.util.function.DoubleConsumer { + method public default java.util.stream.DoubleStream.Builder add(double); + method public java.util.stream.DoubleStream build(); + } + + public interface IntStream extends java.util.stream.BaseStream<java.lang.Integer,java.util.stream.IntStream> { + method public boolean allMatch(java.util.function.IntPredicate); + method public boolean anyMatch(java.util.function.IntPredicate); + method public java.util.stream.DoubleStream asDoubleStream(); + method public java.util.stream.LongStream asLongStream(); + method public java.util.OptionalDouble average(); + method public java.util.stream.Stream<java.lang.Integer> boxed(); + method public static java.util.stream.IntStream.Builder builder(); + method public <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 long count(); + method public java.util.stream.IntStream distinct(); + method public static java.util.stream.IntStream empty(); + method public java.util.stream.IntStream filter(java.util.function.IntPredicate); + method public java.util.OptionalInt findAny(); + method public java.util.OptionalInt findFirst(); + method public java.util.stream.IntStream flatMap(java.util.function.IntFunction<? extends java.util.stream.IntStream>); + method public void forEach(java.util.function.IntConsumer); + method public void forEachOrdered(java.util.function.IntConsumer); + method public static java.util.stream.IntStream generate(java.util.function.IntSupplier); + method public static java.util.stream.IntStream iterate(int, java.util.function.IntUnaryOperator); + method public java.util.PrimitiveIterator.OfInt iterator(); + method public java.util.stream.IntStream limit(long); + method public java.util.stream.IntStream map(java.util.function.IntUnaryOperator); + method public java.util.stream.DoubleStream mapToDouble(java.util.function.IntToDoubleFunction); + method public java.util.stream.LongStream mapToLong(java.util.function.IntToLongFunction); + method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>); + method public java.util.OptionalInt max(); + method public java.util.OptionalInt min(); + method public boolean noneMatch(java.util.function.IntPredicate); + method public static java.util.stream.IntStream of(int); + method public static java.util.stream.IntStream of(int...); + method public java.util.stream.IntStream parallel(); + method public java.util.stream.IntStream peek(java.util.function.IntConsumer); + method public static java.util.stream.IntStream range(int, int); + method public static java.util.stream.IntStream rangeClosed(int, int); + method public int reduce(int, java.util.function.IntBinaryOperator); + method public java.util.OptionalInt reduce(java.util.function.IntBinaryOperator); + method public java.util.stream.IntStream sequential(); + method public java.util.stream.IntStream skip(long); + method public java.util.stream.IntStream sorted(); + method public java.util.Spliterator.OfInt spliterator(); + method public int sum(); + method public java.util.IntSummaryStatistics summaryStatistics(); + method public int[] toArray(); + } + + public static interface IntStream.Builder extends java.util.function.IntConsumer { + method public default java.util.stream.IntStream.Builder add(int); + method public java.util.stream.IntStream build(); + } + + public interface LongStream extends java.util.stream.BaseStream<java.lang.Long,java.util.stream.LongStream> { + method public boolean allMatch(java.util.function.LongPredicate); + method public boolean anyMatch(java.util.function.LongPredicate); + method public java.util.stream.DoubleStream asDoubleStream(); + method public java.util.OptionalDouble average(); + method public java.util.stream.Stream<java.lang.Long> boxed(); + method public static java.util.stream.LongStream.Builder builder(); + method public <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 long count(); + method public java.util.stream.LongStream distinct(); + method public static java.util.stream.LongStream empty(); + method public java.util.stream.LongStream filter(java.util.function.LongPredicate); + method public java.util.OptionalLong findAny(); + method public java.util.OptionalLong findFirst(); + method public java.util.stream.LongStream flatMap(java.util.function.LongFunction<? extends java.util.stream.LongStream>); + method public void forEach(java.util.function.LongConsumer); + method public void forEachOrdered(java.util.function.LongConsumer); + method public static java.util.stream.LongStream generate(java.util.function.LongSupplier); + method public static java.util.stream.LongStream iterate(long, java.util.function.LongUnaryOperator); + method public java.util.PrimitiveIterator.OfLong iterator(); + method public java.util.stream.LongStream limit(long); + method public java.util.stream.LongStream map(java.util.function.LongUnaryOperator); + method public java.util.stream.DoubleStream mapToDouble(java.util.function.LongToDoubleFunction); + method public java.util.stream.IntStream mapToInt(java.util.function.LongToIntFunction); + method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>); + method public java.util.OptionalLong max(); + method public java.util.OptionalLong min(); + method public boolean noneMatch(java.util.function.LongPredicate); + method public static java.util.stream.LongStream of(long); + method public static java.util.stream.LongStream of(long...); + method public java.util.stream.LongStream parallel(); + method public java.util.stream.LongStream peek(java.util.function.LongConsumer); + method public static java.util.stream.LongStream range(long, long); + method public static java.util.stream.LongStream rangeClosed(long, long); + method public long reduce(long, java.util.function.LongBinaryOperator); + method public java.util.OptionalLong reduce(java.util.function.LongBinaryOperator); + method public java.util.stream.LongStream sequential(); + method public java.util.stream.LongStream skip(long); + method public java.util.stream.LongStream sorted(); + method public java.util.Spliterator.OfLong spliterator(); + method public long sum(); + method public java.util.LongSummaryStatistics summaryStatistics(); + method public long[] toArray(); + } + + public static interface LongStream.Builder extends java.util.function.LongConsumer { + method public default java.util.stream.LongStream.Builder add(long); + method public java.util.stream.LongStream build(); + } + + public interface Stream<T> extends java.util.stream.BaseStream<T,java.util.stream.Stream<T>> { + method public boolean allMatch(java.util.function.Predicate<? super T>); + method public boolean anyMatch(java.util.function.Predicate<? super T>); + method public static <T> java.util.stream.Stream.Builder<T> builder(); + method public <R> R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R,? super T>, java.util.function.BiConsumer<R,R>); + method public <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 long count(); + method public java.util.stream.Stream<T> distinct(); + method public static <T> java.util.stream.Stream<T> empty(); + method public java.util.stream.Stream<T> filter(java.util.function.Predicate<? super T>); + method public java.util.Optional<T> findAny(); + method public java.util.Optional<T> findFirst(); + method public <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T,? extends java.util.stream.Stream<? extends R>>); + method public java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super T,? extends java.util.stream.DoubleStream>); + method public java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super T,? extends java.util.stream.IntStream>); + method public java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super T,? extends java.util.stream.LongStream>); + method public void forEach(java.util.function.Consumer<? super T>); + method public void forEachOrdered(java.util.function.Consumer<? super 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 java.util.stream.Stream<T> limit(long); + method public <R> java.util.stream.Stream<R> map(java.util.function.Function<? super T,? extends R>); + method public java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super T>); + method public java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super T>); + method public java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super T>); + method public java.util.Optional<T> max(java.util.Comparator<? super T>); + method public java.util.Optional<T> min(java.util.Comparator<? super T>); + method public boolean noneMatch(java.util.function.Predicate<? super T>); + method public static <T> java.util.stream.Stream<T> of(T); + method @java.lang.SafeVarargs public static <T> java.util.stream.Stream<T> of(T...); + method public java.util.stream.Stream<T> peek(java.util.function.Consumer<? super T>); + method public T reduce(T, java.util.function.BinaryOperator<T>); + method public java.util.Optional<T> reduce(java.util.function.BinaryOperator<T>); + method public <U> U reduce(U, java.util.function.BiFunction<U,? super T,U>, java.util.function.BinaryOperator<U>); + method public java.util.stream.Stream<T> skip(long); + method public java.util.stream.Stream<T> sorted(); + method public java.util.stream.Stream<T> sorted(java.util.Comparator<? super T>); + method public Object[] toArray(); + method public <A> A[] toArray(java.util.function.IntFunction<A[]>); + } + + public static interface Stream.Builder<T> extends java.util.function.Consumer<T> { + method public default java.util.stream.Stream.Builder<T> add(T); + method public java.util.stream.Stream<T> build(); + } + + public final class StreamSupport { + method public static java.util.stream.DoubleStream doubleStream(java.util.Spliterator.OfDouble, boolean); + method public static java.util.stream.DoubleStream doubleStream(java.util.function.Supplier<? extends java.util.Spliterator.OfDouble>, int, boolean); + method public static java.util.stream.IntStream intStream(java.util.Spliterator.OfInt, boolean); + 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 <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); + } + +} + +package java.util.zip { + + public class Adler32 implements java.util.zip.Checksum { + ctor public Adler32(); + method public long getValue(); + method public void reset(); + method public void update(int); + method public void update(byte[], int, int); + method public void update(byte[]); + method public void update(java.nio.ByteBuffer); + } + + public class CRC32 implements java.util.zip.Checksum { + ctor public CRC32(); + method public long getValue(); + method public void reset(); + method public void update(int); + method public void update(byte[], int, int); + method public void update(byte[]); + method public void update(java.nio.ByteBuffer); + } + + public class CheckedInputStream extends java.io.FilterInputStream { + ctor public CheckedInputStream(java.io.InputStream, java.util.zip.Checksum); + method public java.util.zip.Checksum getChecksum(); + } + + public class CheckedOutputStream extends java.io.FilterOutputStream { + ctor public CheckedOutputStream(java.io.OutputStream, java.util.zip.Checksum); + method public java.util.zip.Checksum getChecksum(); + } + + public interface Checksum { + method public long getValue(); + method public void reset(); + method public void update(int); + method public void update(byte[], int, int); + } + + public class DataFormatException extends java.lang.Exception { + ctor public DataFormatException(); + ctor public DataFormatException(String); + } + + public class Deflater { + ctor public Deflater(int, boolean); + ctor public Deflater(int); + ctor public Deflater(); + method public int deflate(byte[], int, int); + method public int deflate(byte[]); + method public int deflate(byte[], int, int, int); + method public void end(); + method protected void finalize(); + method public void finish(); + method public boolean finished(); + method public int getAdler(); + method public long getBytesRead(); + method public long getBytesWritten(); + method public int getTotalIn(); + method public int getTotalOut(); + method public boolean needsInput(); + method public void reset(); + method public void setDictionary(byte[], int, int); + method public void setDictionary(byte[]); + method public void setInput(byte[], int, int); + method public void setInput(byte[]); + method public void setLevel(int); + method public void setStrategy(int); + field public static final int BEST_COMPRESSION = 9; // 0x9 + field public static final int BEST_SPEED = 1; // 0x1 + field public static final int DEFAULT_COMPRESSION = -1; // 0xffffffff + field public static final int DEFAULT_STRATEGY = 0; // 0x0 + field public static final int DEFLATED = 8; // 0x8 + field public static final int FILTERED = 1; // 0x1 + field public static final int FULL_FLUSH = 3; // 0x3 + field public static final int HUFFMAN_ONLY = 2; // 0x2 + field public static final int NO_COMPRESSION = 0; // 0x0 + field public static final int NO_FLUSH = 0; // 0x0 + field public static final int SYNC_FLUSH = 2; // 0x2 + } + + public class DeflaterInputStream extends java.io.FilterInputStream { + ctor public DeflaterInputStream(java.io.InputStream); + ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater); + ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater, int); + field protected final byte[] buf; + field protected final java.util.zip.Deflater def; + } + + public class DeflaterOutputStream extends java.io.FilterOutputStream { + ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, int, boolean); + ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, int); + ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, boolean); + ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater); + ctor public DeflaterOutputStream(java.io.OutputStream, boolean); + ctor public DeflaterOutputStream(java.io.OutputStream); + method protected void deflate() throws java.io.IOException; + method public void finish() throws java.io.IOException; + field protected byte[] buf; + field protected java.util.zip.Deflater def; + } + + public class GZIPInputStream extends java.util.zip.InflaterInputStream { + ctor public GZIPInputStream(java.io.InputStream, int) throws java.io.IOException; + ctor public GZIPInputStream(java.io.InputStream) throws java.io.IOException; + field public static final int GZIP_MAGIC = 35615; // 0x8b1f + field protected java.util.zip.CRC32 crc; + field protected boolean eos; + } + + public class GZIPOutputStream extends java.util.zip.DeflaterOutputStream { + ctor public GZIPOutputStream(java.io.OutputStream, int) throws java.io.IOException; + ctor public GZIPOutputStream(java.io.OutputStream, int, boolean) throws java.io.IOException; + ctor public GZIPOutputStream(java.io.OutputStream) throws java.io.IOException; + ctor public GZIPOutputStream(java.io.OutputStream, boolean) throws java.io.IOException; + field protected java.util.zip.CRC32 crc; + } + + public class Inflater { + ctor public Inflater(boolean); + ctor public Inflater(); + method public void end(); + method protected void finalize(); + method public boolean finished(); + method public int getAdler(); + method public long getBytesRead(); + method public long getBytesWritten(); + method public int getRemaining(); + method public int getTotalIn(); + method public int getTotalOut(); + method public int inflate(byte[], int, int) throws java.util.zip.DataFormatException; + method public int inflate(byte[]) throws java.util.zip.DataFormatException; + method public boolean needsDictionary(); + method public boolean needsInput(); + method public void reset(); + method public void setDictionary(byte[], int, int); + method public void setDictionary(byte[]); + method public void setInput(byte[], int, int); + method public void setInput(byte[]); + } + + public class InflaterInputStream extends java.io.FilterInputStream { + ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater, int); + ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater); + ctor public InflaterInputStream(java.io.InputStream); + method protected void fill() throws java.io.IOException; + field protected byte[] buf; + field @Deprecated protected boolean closed; + field protected java.util.zip.Inflater inf; + field protected int len; + } + + public class InflaterOutputStream extends java.io.FilterOutputStream { + ctor public InflaterOutputStream(java.io.OutputStream); + ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater); + ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater, int); + method public void finish() throws java.io.IOException; + field protected final byte[] buf; + field protected final java.util.zip.Inflater inf; + } + + public class ZipEntry implements java.lang.Cloneable { + ctor public ZipEntry(String); + ctor public ZipEntry(java.util.zip.ZipEntry); + method public Object clone(); + method public String getComment(); + method public long getCompressedSize(); + method public long getCrc(); + method public java.nio.file.attribute.FileTime getCreationTime(); + method public byte[] getExtra(); + method public java.nio.file.attribute.FileTime getLastAccessTime(); + method public java.nio.file.attribute.FileTime getLastModifiedTime(); + method public int getMethod(); + method public String getName(); + method public long getSize(); + method public long getTime(); + method public boolean isDirectory(); + method public void setComment(String); + method public void setCompressedSize(long); + method public void setCrc(long); + method public java.util.zip.ZipEntry setCreationTime(java.nio.file.attribute.FileTime); + method public void setExtra(byte[]); + method public java.util.zip.ZipEntry setLastAccessTime(java.nio.file.attribute.FileTime); + method public java.util.zip.ZipEntry setLastModifiedTime(java.nio.file.attribute.FileTime); + method public void setMethod(int); + method public void setSize(long); + method public void setTime(long); + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int DEFLATED = 8; // 0x8 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + field public static final int STORED = 0; // 0x0 + } + + public class ZipError extends java.lang.InternalError { + ctor public ZipError(String); + } + + public class ZipException extends java.io.IOException { + ctor public ZipException(); + ctor public ZipException(String); + } + + public class ZipFile implements java.io.Closeable { + ctor public ZipFile(String) throws java.io.IOException; + ctor public ZipFile(java.io.File, int) throws java.io.IOException; + ctor public ZipFile(java.io.File) throws java.io.IOException, java.util.zip.ZipException; + ctor public ZipFile(java.io.File, int, java.nio.charset.Charset) throws java.io.IOException; + ctor public ZipFile(String, java.nio.charset.Charset) throws java.io.IOException; + ctor public ZipFile(java.io.File, java.nio.charset.Charset) throws java.io.IOException; + method public void close() throws java.io.IOException; + method public java.util.Enumeration<? extends java.util.zip.ZipEntry> entries(); + method protected void finalize() throws java.io.IOException; + method public String getComment(); + method public java.util.zip.ZipEntry getEntry(String); + method public java.io.InputStream getInputStream(java.util.zip.ZipEntry) throws java.io.IOException; + method public String getName(); + method public int size(); + method public java.util.stream.Stream<? extends java.util.zip.ZipEntry> stream(); + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + field public static final int OPEN_DELETE = 4; // 0x4 + field public static final int OPEN_READ = 1; // 0x1 + } + + public class ZipInputStream extends java.util.zip.InflaterInputStream { + ctor public ZipInputStream(java.io.InputStream); + ctor public ZipInputStream(java.io.InputStream, java.nio.charset.Charset); + method public void closeEntry() throws java.io.IOException; + method protected java.util.zip.ZipEntry createZipEntry(String); + method public java.util.zip.ZipEntry getNextEntry() throws java.io.IOException; + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + } + + public class ZipOutputStream extends java.util.zip.DeflaterOutputStream { + ctor public ZipOutputStream(java.io.OutputStream); + ctor public ZipOutputStream(java.io.OutputStream, java.nio.charset.Charset); + method public void closeEntry() throws java.io.IOException; + method public void putNextEntry(java.util.zip.ZipEntry) throws java.io.IOException; + method public void setComment(String); + method public void setLevel(int); + method public void setMethod(int); + field public static final int CENATT = 36; // 0x24 + field public static final int CENATX = 38; // 0x26 + field public static final int CENCOM = 32; // 0x20 + field public static final int CENCRC = 16; // 0x10 + field public static final int CENDSK = 34; // 0x22 + field public static final int CENEXT = 30; // 0x1e + field public static final int CENFLG = 8; // 0x8 + field public static final int CENHDR = 46; // 0x2e + field public static final int CENHOW = 10; // 0xa + field public static final int CENLEN = 24; // 0x18 + field public static final int CENNAM = 28; // 0x1c + field public static final int CENOFF = 42; // 0x2a + field public static final long CENSIG = 33639248L; // 0x2014b50L + field public static final int CENSIZ = 20; // 0x14 + field public static final int CENTIM = 12; // 0xc + field public static final int CENVEM = 4; // 0x4 + field public static final int CENVER = 6; // 0x6 + field public static final int DEFLATED = 8; // 0x8 + field public static final int ENDCOM = 20; // 0x14 + field public static final int ENDHDR = 22; // 0x16 + field public static final int ENDOFF = 16; // 0x10 + field public static final long ENDSIG = 101010256L; // 0x6054b50L + field public static final int ENDSIZ = 12; // 0xc + field public static final int ENDSUB = 8; // 0x8 + field public static final int ENDTOT = 10; // 0xa + field public static final int EXTCRC = 4; // 0x4 + field public static final int EXTHDR = 16; // 0x10 + field public static final int EXTLEN = 12; // 0xc + field public static final long EXTSIG = 134695760L; // 0x8074b50L + field public static final int EXTSIZ = 8; // 0x8 + field public static final int LOCCRC = 14; // 0xe + field public static final int LOCEXT = 28; // 0x1c + field public static final int LOCFLG = 6; // 0x6 + field public static final int LOCHDR = 30; // 0x1e + field public static final int LOCHOW = 8; // 0x8 + field public static final int LOCLEN = 22; // 0x16 + field public static final int LOCNAM = 26; // 0x1a + field public static final long LOCSIG = 67324752L; // 0x4034b50L + field public static final int LOCSIZ = 18; // 0x12 + field public static final int LOCTIM = 10; // 0xa + field public static final int LOCVER = 4; // 0x4 + field public static final int STORED = 0; // 0x0 + } + +} + +package javax.crypto { + + public class AEADBadTagException extends javax.crypto.BadPaddingException { + ctor public AEADBadTagException(); + ctor public AEADBadTagException(String); + } + + public class BadPaddingException extends java.security.GeneralSecurityException { + ctor public BadPaddingException(); + ctor public BadPaddingException(String); + } + + public class Cipher { + ctor protected Cipher(javax.crypto.CipherSpi, java.security.Provider, String); + method public final byte[] doFinal() throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException; + method public final int doFinal(byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException; + method public final byte[] doFinal(byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException; + method public final byte[] doFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException; + method public final int doFinal(byte[], int, int, byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException; + method public final int doFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException; + method public final int doFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException; + method public final String getAlgorithm(); + method public final int getBlockSize(); + method public final javax.crypto.ExemptionMechanism getExemptionMechanism(); + method public final byte[] getIV(); + method public static final javax.crypto.Cipher getInstance(String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException; + method public static final javax.crypto.Cipher getInstance(String, String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.NoSuchProviderException; + method public static final javax.crypto.Cipher getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException; + method public static final int getMaxAllowedKeyLength(String) throws java.security.NoSuchAlgorithmException; + method public static final java.security.spec.AlgorithmParameterSpec getMaxAllowedParameterSpec(String) throws java.security.NoSuchAlgorithmException; + method public final int getOutputSize(int); + method public final java.security.AlgorithmParameters getParameters(); + method public final java.security.Provider getProvider(); + method public final void init(int, java.security.Key) throws java.security.InvalidKeyException; + method public final void init(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException; + method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final void init(int, java.security.Key, java.security.AlgorithmParameters) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final void init(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final void init(int, java.security.cert.Certificate) throws java.security.InvalidKeyException; + method public final void init(int, java.security.cert.Certificate, java.security.SecureRandom) throws java.security.InvalidKeyException; + method public final java.security.Key unwrap(byte[], String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException; + method public final byte[] update(byte[]); + method public final byte[] update(byte[], int, int); + method public final int update(byte[], int, int, byte[]) throws javax.crypto.ShortBufferException; + method public final int update(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException; + method public final int update(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException; + method public final void updateAAD(byte[]); + method public final void updateAAD(byte[], int, int); + method public final void updateAAD(java.nio.ByteBuffer); + method public final byte[] wrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException; + field public static final int DECRYPT_MODE = 2; // 0x2 + field public static final int ENCRYPT_MODE = 1; // 0x1 + field public static final int PRIVATE_KEY = 2; // 0x2 + field public static final int PUBLIC_KEY = 1; // 0x1 + field public static final int SECRET_KEY = 3; // 0x3 + field public static final int UNWRAP_MODE = 4; // 0x4 + field public static final int WRAP_MODE = 3; // 0x3 + } + + public class CipherInputStream extends java.io.FilterInputStream { + ctor public CipherInputStream(java.io.InputStream, javax.crypto.Cipher); + ctor protected CipherInputStream(java.io.InputStream); + } + + public class CipherOutputStream extends java.io.FilterOutputStream { + ctor public CipherOutputStream(java.io.OutputStream, javax.crypto.Cipher); + ctor protected CipherOutputStream(java.io.OutputStream); + } + + public abstract class CipherSpi { + ctor public CipherSpi(); + method protected abstract byte[] engineDoFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException; + method protected abstract int engineDoFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException; + method protected int engineDoFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException; + method protected abstract int engineGetBlockSize(); + method protected abstract byte[] engineGetIV(); + method protected int engineGetKeySize(java.security.Key) throws java.security.InvalidKeyException; + method protected abstract int engineGetOutputSize(int); + method protected abstract java.security.AlgorithmParameters engineGetParameters(); + method protected abstract void engineInit(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException; + method protected abstract void engineInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method protected abstract void engineInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method protected abstract void engineSetMode(String) throws java.security.NoSuchAlgorithmException; + method protected abstract void engineSetPadding(String) throws javax.crypto.NoSuchPaddingException; + method protected java.security.Key engineUnwrap(byte[], String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException; + method protected abstract byte[] engineUpdate(byte[], int, int); + method protected abstract int engineUpdate(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException; + method protected int engineUpdate(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException; + method protected void engineUpdateAAD(byte[], int, int); + method protected void engineUpdateAAD(java.nio.ByteBuffer); + method protected byte[] engineWrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException; + } + + public class EncryptedPrivateKeyInfo { + ctor public EncryptedPrivateKeyInfo(byte[]) throws java.io.IOException; + ctor public EncryptedPrivateKeyInfo(String, byte[]) throws java.security.NoSuchAlgorithmException; + ctor public EncryptedPrivateKeyInfo(java.security.AlgorithmParameters, byte[]) throws java.security.NoSuchAlgorithmException; + method public String getAlgName(); + method public java.security.AlgorithmParameters getAlgParameters(); + method public byte[] getEncoded() throws java.io.IOException; + method public byte[] getEncryptedData(); + method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(javax.crypto.Cipher) throws java.security.spec.InvalidKeySpecException; + method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException; + method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, String) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, java.security.Provider) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException; + } + + public class ExemptionMechanism { + ctor protected ExemptionMechanism(javax.crypto.ExemptionMechanismSpi, java.security.Provider, String); + method public final byte[] genExemptionBlob() throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException; + method public final int genExemptionBlob(byte[]) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException; + method public final int genExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException; + method public static final javax.crypto.ExemptionMechanism getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static final javax.crypto.ExemptionMechanism getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static final javax.crypto.ExemptionMechanism getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final String getName(); + method public final int getOutputSize(int) throws java.lang.IllegalStateException; + method public final java.security.Provider getProvider(); + method public final void init(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException; + method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final void init(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final boolean isCryptoAllowed(java.security.Key) throws javax.crypto.ExemptionMechanismException; + } + + public class ExemptionMechanismException extends java.security.GeneralSecurityException { + ctor public ExemptionMechanismException(); + ctor public ExemptionMechanismException(String); + } + + public abstract class ExemptionMechanismSpi { + ctor public ExemptionMechanismSpi(); + method protected abstract byte[] engineGenExemptionBlob() throws javax.crypto.ExemptionMechanismException; + method protected abstract int engineGenExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, javax.crypto.ShortBufferException; + method protected abstract int engineGetOutputSize(int); + method protected abstract void engineInit(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException; + method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method protected abstract void engineInit(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + } + + public class IllegalBlockSizeException extends java.security.GeneralSecurityException { + ctor public IllegalBlockSizeException(); + ctor public IllegalBlockSizeException(String); + } + + public class KeyAgreement { + ctor protected KeyAgreement(javax.crypto.KeyAgreementSpi, java.security.Provider, String); + method public final java.security.Key doPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException; + method public final byte[] generateSecret() throws java.lang.IllegalStateException; + method public final int generateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException; + method public final javax.crypto.SecretKey generateSecret(String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException; + method public final String getAlgorithm(); + method public static final javax.crypto.KeyAgreement getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static final javax.crypto.KeyAgreement getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static final javax.crypto.KeyAgreement getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public final void init(java.security.Key) throws java.security.InvalidKeyException; + method public final void init(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException; + method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + } + + public abstract class KeyAgreementSpi { + ctor public KeyAgreementSpi(); + method protected abstract java.security.Key engineDoPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException; + method protected abstract byte[] engineGenerateSecret() throws java.lang.IllegalStateException; + method protected abstract int engineGenerateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException; + method protected abstract javax.crypto.SecretKey engineGenerateSecret(String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException; + method protected abstract void engineInit(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException; + method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + } + + public class KeyGenerator { + ctor protected KeyGenerator(javax.crypto.KeyGeneratorSpi, java.security.Provider, String); + method public final javax.crypto.SecretKey generateKey(); + method public final String getAlgorithm(); + method public static final javax.crypto.KeyGenerator getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static final javax.crypto.KeyGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static final javax.crypto.KeyGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public final void init(java.security.SecureRandom); + method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException; + method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException; + method public final void init(int); + method public final void init(int, java.security.SecureRandom); + } + + public abstract class KeyGeneratorSpi { + ctor public KeyGeneratorSpi(); + method protected abstract javax.crypto.SecretKey engineGenerateKey(); + method protected abstract void engineInit(java.security.SecureRandom); + method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException; + method protected abstract void engineInit(int, java.security.SecureRandom); + } + + public class Mac implements java.lang.Cloneable { + ctor protected Mac(javax.crypto.MacSpi, java.security.Provider, String); + method public final Object clone() throws java.lang.CloneNotSupportedException; + method public final byte[] doFinal() throws java.lang.IllegalStateException; + method public final void doFinal(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException; + method public final byte[] doFinal(byte[]) throws java.lang.IllegalStateException; + method public final String getAlgorithm(); + method public static final javax.crypto.Mac getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static final javax.crypto.Mac getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static final javax.crypto.Mac getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final int getMacLength(); + method public final java.security.Provider getProvider(); + method public final void init(java.security.Key) throws java.security.InvalidKeyException; + method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method public final void reset(); + method public final void update(byte) throws java.lang.IllegalStateException; + method public final void update(byte[]) throws java.lang.IllegalStateException; + method public final void update(byte[], int, int) throws java.lang.IllegalStateException; + method public final void update(java.nio.ByteBuffer); + } + + public abstract class MacSpi { + ctor public MacSpi(); + method public Object clone() throws java.lang.CloneNotSupportedException; + method protected abstract byte[] engineDoFinal(); + method protected abstract int engineGetMacLength(); + method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException; + method protected abstract void engineReset(); + method protected abstract void engineUpdate(byte); + method protected abstract void engineUpdate(byte[], int, int); + method protected void engineUpdate(java.nio.ByteBuffer); + } + + public class NoSuchPaddingException extends java.security.GeneralSecurityException { + ctor public NoSuchPaddingException(); + ctor public NoSuchPaddingException(String); + } + + public class NullCipher extends javax.crypto.Cipher { + ctor public NullCipher(); + } + + public class SealedObject implements java.io.Serializable { + ctor public SealedObject(java.io.Serializable, javax.crypto.Cipher) throws java.io.IOException, javax.crypto.IllegalBlockSizeException; + ctor protected SealedObject(javax.crypto.SealedObject); + method public final String getAlgorithm(); + method public final Object getObject(java.security.Key) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException; + method public final Object getObject(javax.crypto.Cipher) throws javax.crypto.BadPaddingException, java.lang.ClassNotFoundException, java.io.IOException, javax.crypto.IllegalBlockSizeException; + method public final Object getObject(java.security.Key, String) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + field protected byte[] encodedParams; + } + + public interface SecretKey extends java.security.Key javax.security.auth.Destroyable { + field public static final long serialVersionUID = -4795878709595146952L; // 0xbd719db928b8f538L + } + + public class SecretKeyFactory { + ctor protected SecretKeyFactory(javax.crypto.SecretKeyFactorySpi, java.security.Provider, String); + method public final javax.crypto.SecretKey generateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException; + method public final String getAlgorithm(); + method public static final javax.crypto.SecretKeyFactory getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static final javax.crypto.SecretKeyFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static final javax.crypto.SecretKeyFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.spec.KeySpec getKeySpec(javax.crypto.SecretKey, Class<?>) throws java.security.spec.InvalidKeySpecException; + method public final java.security.Provider getProvider(); + method public final javax.crypto.SecretKey translateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException; + } + + public abstract class SecretKeyFactorySpi { + ctor public SecretKeyFactorySpi(); + method protected abstract javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException; + method protected abstract java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey, Class<?>) throws java.security.spec.InvalidKeySpecException; + method protected abstract javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException; + } + + public class ShortBufferException extends java.security.GeneralSecurityException { + ctor public ShortBufferException(); + ctor public ShortBufferException(String); + } + +} + +package javax.crypto.interfaces { + + public interface DHKey { + method public javax.crypto.spec.DHParameterSpec getParams(); + } + + public interface DHPrivateKey extends javax.crypto.interfaces.DHKey java.security.PrivateKey { + method public java.math.BigInteger getX(); + field public static final long serialVersionUID = 2211791113380396553L; // 0x1eb1dc4c8e677e09L + } + + public interface DHPublicKey extends javax.crypto.interfaces.DHKey java.security.PublicKey { + method public java.math.BigInteger getY(); + field public static final long serialVersionUID = -6628103563352519193L; // 0xa4043eed23df4de7L + } + + public interface PBEKey extends javax.crypto.SecretKey { + method public int getIterationCount(); + method public char[] getPassword(); + method public byte[] getSalt(); + field public static final long serialVersionUID = -1430015993304333921L; // 0xec279007d7f7c19fL + } + +} + +package javax.crypto.spec { + + public class DESKeySpec implements java.security.spec.KeySpec { + ctor public DESKeySpec(byte[]) throws java.security.InvalidKeyException; + ctor public DESKeySpec(byte[], int) throws java.security.InvalidKeyException; + method public byte[] getKey(); + method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException; + method public static boolean isWeak(byte[], int) throws java.security.InvalidKeyException; + field public static final int DES_KEY_LEN = 8; // 0x8 + } + + public class DESedeKeySpec implements java.security.spec.KeySpec { + ctor public DESedeKeySpec(byte[]) throws java.security.InvalidKeyException; + ctor public DESedeKeySpec(byte[], int) throws java.security.InvalidKeyException; + method public byte[] getKey(); + method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException; + field public static final int DES_EDE_KEY_LEN = 24; // 0x18 + } + + public class DHGenParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public DHGenParameterSpec(int, int); + method public int getExponentSize(); + method public int getPrimeSize(); + } + + public class DHParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger); + ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger, int); + method public java.math.BigInteger getG(); + method public int getL(); + method public java.math.BigInteger getP(); + } + + public class DHPrivateKeySpec implements java.security.spec.KeySpec { + ctor public DHPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getG(); + method public java.math.BigInteger getP(); + method public java.math.BigInteger getX(); + } + + public class DHPublicKeySpec implements java.security.spec.KeySpec { + ctor public DHPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public java.math.BigInteger getG(); + method public java.math.BigInteger getP(); + method public java.math.BigInteger getY(); + } + + public class GCMParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public GCMParameterSpec(int, byte[]); + ctor public GCMParameterSpec(int, byte[], int, int); + method public byte[] getIV(); + method public int getTLen(); + } + + public class IvParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public IvParameterSpec(byte[]); + ctor public IvParameterSpec(byte[], int, int); + method public byte[] getIV(); + } + + public class OAEPParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public OAEPParameterSpec(String, String, java.security.spec.AlgorithmParameterSpec, javax.crypto.spec.PSource); + method public String getDigestAlgorithm(); + method public String getMGFAlgorithm(); + method public java.security.spec.AlgorithmParameterSpec getMGFParameters(); + method public javax.crypto.spec.PSource getPSource(); + field public static final javax.crypto.spec.OAEPParameterSpec DEFAULT; + } + + public class PBEKeySpec implements java.security.spec.KeySpec { + ctor public PBEKeySpec(char[]); + ctor public PBEKeySpec(char[], byte[], int, int); + ctor public PBEKeySpec(char[], byte[], int); + method public final void clearPassword(); + method public final int getIterationCount(); + method public final int getKeyLength(); + method public final char[] getPassword(); + method public final byte[] getSalt(); + } + + public class PBEParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public PBEParameterSpec(byte[], int); + ctor public PBEParameterSpec(byte[], int, java.security.spec.AlgorithmParameterSpec); + method public int getIterationCount(); + method public java.security.spec.AlgorithmParameterSpec getParameterSpec(); + method public byte[] getSalt(); + } + + public class PSource { + ctor protected PSource(String); + method public String getAlgorithm(); + } + + public static final class PSource.PSpecified extends javax.crypto.spec.PSource { + ctor public PSource.PSpecified(byte[]); + method public byte[] getValue(); + field public static final javax.crypto.spec.PSource.PSpecified DEFAULT; + } + + public class RC2ParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public RC2ParameterSpec(int); + ctor public RC2ParameterSpec(int, byte[]); + ctor public RC2ParameterSpec(int, byte[], int); + method public int getEffectiveKeyBits(); + method public byte[] getIV(); + } + + public class RC5ParameterSpec implements java.security.spec.AlgorithmParameterSpec { + ctor public RC5ParameterSpec(int, int, int); + ctor public RC5ParameterSpec(int, int, int, byte[]); + ctor public RC5ParameterSpec(int, int, int, byte[], int); + method public byte[] getIV(); + method public int getRounds(); + method public int getVersion(); + method public int getWordSize(); + } + + public class SecretKeySpec implements java.security.spec.KeySpec javax.crypto.SecretKey { + ctor public SecretKeySpec(byte[], String); + ctor public SecretKeySpec(byte[], int, int, String); + method public String getAlgorithm(); + method public byte[] getEncoded(); + method public String getFormat(); + } + +} + +package javax.net { + + public abstract class ServerSocketFactory { + ctor protected ServerSocketFactory(); + method public java.net.ServerSocket createServerSocket() throws java.io.IOException; + method public abstract java.net.ServerSocket createServerSocket(int) throws java.io.IOException; + method public abstract java.net.ServerSocket createServerSocket(int, int) throws java.io.IOException; + method public abstract java.net.ServerSocket createServerSocket(int, int, java.net.InetAddress) throws java.io.IOException; + method public static javax.net.ServerSocketFactory getDefault(); + } + + public abstract class SocketFactory { + ctor protected SocketFactory(); + method public java.net.Socket createSocket() throws java.io.IOException; + method public abstract java.net.Socket createSocket(String, int) throws java.io.IOException, java.net.UnknownHostException; + method public abstract java.net.Socket createSocket(String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException; + method public abstract java.net.Socket createSocket(java.net.InetAddress, int) throws java.io.IOException; + method public abstract java.net.Socket createSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException; + method public static javax.net.SocketFactory getDefault(); + } + +} + +package javax.net.ssl { + + public class CertPathTrustManagerParameters implements javax.net.ssl.ManagerFactoryParameters { + ctor public CertPathTrustManagerParameters(java.security.cert.CertPathParameters); + method public java.security.cert.CertPathParameters getParameters(); + } + + public abstract class ExtendedSSLSession implements javax.net.ssl.SSLSession { + ctor public ExtendedSSLSession(); + method public abstract String[] getLocalSupportedSignatureAlgorithms(); + method public abstract String[] getPeerSupportedSignatureAlgorithms(); + method public java.util.List<javax.net.ssl.SNIServerName> getRequestedServerNames(); + } + + public class HandshakeCompletedEvent extends java.util.EventObject { + ctor public HandshakeCompletedEvent(javax.net.ssl.SSLSocket, javax.net.ssl.SSLSession); + method public String getCipherSuite(); + method public java.security.cert.Certificate[] getLocalCertificates(); + method public java.security.Principal getLocalPrincipal(); + method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException; + method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException; + method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException; + method public javax.net.ssl.SSLSession getSession(); + method public javax.net.ssl.SSLSocket getSocket(); + } + + public interface HandshakeCompletedListener extends java.util.EventListener { + method public void handshakeCompleted(javax.net.ssl.HandshakeCompletedEvent); + } + + public interface HostnameVerifier { + method public boolean verify(String, javax.net.ssl.SSLSession); + } + + public abstract class HttpsURLConnection extends java.net.HttpURLConnection { + ctor protected HttpsURLConnection(java.net.URL); + method public abstract String getCipherSuite(); + method public static javax.net.ssl.HostnameVerifier getDefaultHostnameVerifier(); + method public static javax.net.ssl.SSLSocketFactory getDefaultSSLSocketFactory(); + method public javax.net.ssl.HostnameVerifier getHostnameVerifier(); + method public abstract java.security.cert.Certificate[] getLocalCertificates(); + method public java.security.Principal getLocalPrincipal(); + method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException; + method public javax.net.ssl.SSLSocketFactory getSSLSocketFactory(); + method public abstract java.security.cert.Certificate[] getServerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException; + method public static void setDefaultHostnameVerifier(javax.net.ssl.HostnameVerifier); + method public static void setDefaultSSLSocketFactory(javax.net.ssl.SSLSocketFactory); + method public void setHostnameVerifier(javax.net.ssl.HostnameVerifier); + method public void setSSLSocketFactory(javax.net.ssl.SSLSocketFactory); + field protected javax.net.ssl.HostnameVerifier hostnameVerifier; + } + + public interface KeyManager { + } + + public class KeyManagerFactory { + ctor protected KeyManagerFactory(javax.net.ssl.KeyManagerFactorySpi, java.security.Provider, String); + method public final String getAlgorithm(); + method public static final String getDefaultAlgorithm(); + method public static final javax.net.ssl.KeyManagerFactory getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static final javax.net.ssl.KeyManagerFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static final javax.net.ssl.KeyManagerFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final javax.net.ssl.KeyManager[] getKeyManagers(); + method public final java.security.Provider getProvider(); + method public final void init(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException; + method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException; + } + + public abstract class KeyManagerFactorySpi { + ctor public KeyManagerFactorySpi(); + method protected abstract javax.net.ssl.KeyManager[] engineGetKeyManagers(); + method protected abstract void engineInit(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException; + method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException; + } + + public class KeyStoreBuilderParameters implements javax.net.ssl.ManagerFactoryParameters { + ctor public KeyStoreBuilderParameters(java.security.KeyStore.Builder); + ctor public KeyStoreBuilderParameters(java.util.List<java.security.KeyStore.Builder>); + method public java.util.List<java.security.KeyStore.Builder> getParameters(); + } + + public interface ManagerFactoryParameters { + } + + public final class SNIHostName extends javax.net.ssl.SNIServerName { + ctor public SNIHostName(String); + ctor public SNIHostName(byte[]); + method public static javax.net.ssl.SNIMatcher createSNIMatcher(String); + method public String getAsciiName(); + } + + public abstract class SNIMatcher { + ctor protected SNIMatcher(int); + method public final int getType(); + method public abstract boolean matches(javax.net.ssl.SNIServerName); + } + + public abstract class SNIServerName { + ctor protected SNIServerName(int, byte[]); + method public final byte[] getEncoded(); + method public final int getType(); + } + + public class SSLContext { + ctor protected SSLContext(javax.net.ssl.SSLContextSpi, java.security.Provider, String); + method public final javax.net.ssl.SSLEngine createSSLEngine(); + method public final javax.net.ssl.SSLEngine createSSLEngine(String, int); + method public final javax.net.ssl.SSLSessionContext getClientSessionContext(); + method public static javax.net.ssl.SSLContext getDefault() throws java.security.NoSuchAlgorithmException; + method public final javax.net.ssl.SSLParameters getDefaultSSLParameters(); + method public static javax.net.ssl.SSLContext getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static javax.net.ssl.SSLContext getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static javax.net.ssl.SSLContext getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final String getProtocol(); + method public final java.security.Provider getProvider(); + method public final javax.net.ssl.SSLSessionContext getServerSessionContext(); + method public final javax.net.ssl.SSLServerSocketFactory getServerSocketFactory(); + method public final javax.net.ssl.SSLSocketFactory getSocketFactory(); + method public final javax.net.ssl.SSLParameters getSupportedSSLParameters(); + method public final void init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException; + method public static void setDefault(javax.net.ssl.SSLContext); + } + + public abstract class SSLContextSpi { + ctor public SSLContextSpi(); + method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine(); + method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine(String, int); + method protected abstract javax.net.ssl.SSLSessionContext engineGetClientSessionContext(); + method protected javax.net.ssl.SSLParameters engineGetDefaultSSLParameters(); + method protected abstract javax.net.ssl.SSLSessionContext engineGetServerSessionContext(); + method protected abstract javax.net.ssl.SSLServerSocketFactory engineGetServerSocketFactory(); + method protected abstract javax.net.ssl.SSLSocketFactory engineGetSocketFactory(); + method protected javax.net.ssl.SSLParameters engineGetSupportedSSLParameters(); + method protected abstract void engineInit(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException; + } + + public abstract class SSLEngine { + ctor protected SSLEngine(); + ctor protected SSLEngine(String, int); + method public abstract void beginHandshake() throws javax.net.ssl.SSLException; + method public abstract void closeInbound() throws javax.net.ssl.SSLException; + method public abstract void closeOutbound(); + method public String getApplicationProtocol(); + method public abstract Runnable getDelegatedTask(); + method public abstract boolean getEnableSessionCreation(); + method public abstract String[] getEnabledCipherSuites(); + method public abstract String[] getEnabledProtocols(); + method public String getHandshakeApplicationProtocol(); + method public java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String> getHandshakeApplicationProtocolSelector(); + method public javax.net.ssl.SSLSession getHandshakeSession(); + method public abstract javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus(); + method public abstract boolean getNeedClientAuth(); + method public String getPeerHost(); + method public int getPeerPort(); + method public javax.net.ssl.SSLParameters getSSLParameters(); + method public abstract javax.net.ssl.SSLSession getSession(); + method public abstract String[] getSupportedCipherSuites(); + method public abstract String[] getSupportedProtocols(); + method public abstract boolean getUseClientMode(); + method public abstract boolean getWantClientAuth(); + method public abstract boolean isInboundDone(); + method public abstract boolean isOutboundDone(); + method public abstract void setEnableSessionCreation(boolean); + method public abstract void setEnabledCipherSuites(String[]); + method public abstract void setEnabledProtocols(String[]); + method public void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String>); + method public abstract void setNeedClientAuth(boolean); + method public void setSSLParameters(javax.net.ssl.SSLParameters); + method public abstract void setUseClientMode(boolean); + method public abstract void setWantClientAuth(boolean); + method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException; + method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[]) throws javax.net.ssl.SSLException; + method public abstract javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int) throws javax.net.ssl.SSLException; + method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException; + method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], java.nio.ByteBuffer) throws javax.net.ssl.SSLException; + method public abstract javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer) throws javax.net.ssl.SSLException; + } + + public class SSLEngineResult { + ctor public SSLEngineResult(javax.net.ssl.SSLEngineResult.Status, javax.net.ssl.SSLEngineResult.HandshakeStatus, int, int); + method public final int bytesConsumed(); + method public final int bytesProduced(); + method public final javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus(); + method public final javax.net.ssl.SSLEngineResult.Status getStatus(); + } + + public enum SSLEngineResult.HandshakeStatus { + enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus FINISHED; + enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_TASK; + enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_UNWRAP; + enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_WRAP; + enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NOT_HANDSHAKING; + } + + public enum SSLEngineResult.Status { + enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_OVERFLOW; + enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_UNDERFLOW; + enum_constant public static final javax.net.ssl.SSLEngineResult.Status CLOSED; + enum_constant public static final javax.net.ssl.SSLEngineResult.Status OK; + } + + public class SSLException extends java.io.IOException { + ctor public SSLException(String); + ctor public SSLException(String, Throwable); + ctor public SSLException(Throwable); + } + + public class SSLHandshakeException extends javax.net.ssl.SSLException { + ctor public SSLHandshakeException(String); + } + + public class SSLKeyException extends javax.net.ssl.SSLException { + ctor public SSLKeyException(String); + } + + public class SSLParameters { + ctor public SSLParameters(); + ctor public SSLParameters(String[]); + ctor public SSLParameters(String[], String[]); + method public java.security.AlgorithmConstraints getAlgorithmConstraints(); + method public String[] getApplicationProtocols(); + method public String[] getCipherSuites(); + method public String getEndpointIdentificationAlgorithm(); + method public boolean getNeedClientAuth(); + method public String[] getProtocols(); + method public final java.util.Collection<javax.net.ssl.SNIMatcher> getSNIMatchers(); + method public final java.util.List<javax.net.ssl.SNIServerName> getServerNames(); + method public final boolean getUseCipherSuitesOrder(); + method public boolean getWantClientAuth(); + method public void setAlgorithmConstraints(java.security.AlgorithmConstraints); + method public void setApplicationProtocols(String[]); + method public void setCipherSuites(String[]); + method public void setEndpointIdentificationAlgorithm(String); + method public void setNeedClientAuth(boolean); + method public void setProtocols(String[]); + method public final void setSNIMatchers(java.util.Collection<javax.net.ssl.SNIMatcher>); + method public final void setServerNames(java.util.List<javax.net.ssl.SNIServerName>); + method public final void setUseCipherSuitesOrder(boolean); + method public void setWantClientAuth(boolean); + } + + public class SSLPeerUnverifiedException extends javax.net.ssl.SSLException { + ctor public SSLPeerUnverifiedException(String); + } + + public final class SSLPermission extends java.security.BasicPermission { + ctor public SSLPermission(String); + ctor public SSLPermission(String, String); + } + + public class SSLProtocolException extends javax.net.ssl.SSLException { + ctor public SSLProtocolException(String); + } + + public abstract class SSLServerSocket extends java.net.ServerSocket { + ctor protected SSLServerSocket() throws java.io.IOException; + ctor protected SSLServerSocket(int) throws java.io.IOException; + ctor protected SSLServerSocket(int, int) throws java.io.IOException; + ctor protected SSLServerSocket(int, int, java.net.InetAddress) throws java.io.IOException; + method public abstract boolean getEnableSessionCreation(); + method public abstract String[] getEnabledCipherSuites(); + method public abstract String[] getEnabledProtocols(); + method public abstract boolean getNeedClientAuth(); + method public javax.net.ssl.SSLParameters getSSLParameters(); + method public abstract String[] getSupportedCipherSuites(); + method public abstract String[] getSupportedProtocols(); + method public abstract boolean getUseClientMode(); + method public abstract boolean getWantClientAuth(); + method public abstract void setEnableSessionCreation(boolean); + method public abstract void setEnabledCipherSuites(String[]); + method public abstract void setEnabledProtocols(String[]); + method public abstract void setNeedClientAuth(boolean); + method public void setSSLParameters(javax.net.ssl.SSLParameters); + method public abstract void setUseClientMode(boolean); + method public abstract void setWantClientAuth(boolean); + } + + public abstract class SSLServerSocketFactory extends javax.net.ServerSocketFactory { + ctor protected SSLServerSocketFactory(); + method public static javax.net.ServerSocketFactory getDefault(); + method public abstract String[] getDefaultCipherSuites(); + method public abstract String[] getSupportedCipherSuites(); + } + + public interface SSLSession { + method public int getApplicationBufferSize(); + method public String getCipherSuite(); + method public long getCreationTime(); + method public byte[] getId(); + method public long getLastAccessedTime(); + method public java.security.cert.Certificate[] getLocalCertificates(); + method public java.security.Principal getLocalPrincipal(); + method public int getPacketBufferSize(); + method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException; + method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException; + method public String getPeerHost(); + method public int getPeerPort(); + method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException; + method public String getProtocol(); + method public javax.net.ssl.SSLSessionContext getSessionContext(); + method public Object getValue(String); + method public String[] getValueNames(); + method public void invalidate(); + method public boolean isValid(); + method public void putValue(String, Object); + method public void removeValue(String); + } + + public class SSLSessionBindingEvent extends java.util.EventObject { + ctor public SSLSessionBindingEvent(javax.net.ssl.SSLSession, String); + method public String getName(); + method public javax.net.ssl.SSLSession getSession(); + } + + public interface SSLSessionBindingListener extends java.util.EventListener { + method public void valueBound(javax.net.ssl.SSLSessionBindingEvent); + method public void valueUnbound(javax.net.ssl.SSLSessionBindingEvent); + } + + public interface SSLSessionContext { + method public java.util.Enumeration<byte[]> getIds(); + method public javax.net.ssl.SSLSession getSession(byte[]); + method public int getSessionCacheSize(); + method public int getSessionTimeout(); + method public void setSessionCacheSize(int) throws java.lang.IllegalArgumentException; + method public void setSessionTimeout(int) throws java.lang.IllegalArgumentException; + } + + public abstract class SSLSocket extends java.net.Socket { + ctor protected SSLSocket(); + ctor protected SSLSocket(String, int) throws java.io.IOException, java.net.UnknownHostException; + ctor protected SSLSocket(java.net.InetAddress, int) throws java.io.IOException; + ctor protected SSLSocket(String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException; + ctor protected SSLSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException; + method public abstract void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener); + method public String getApplicationProtocol(); + method public abstract boolean getEnableSessionCreation(); + method public abstract String[] getEnabledCipherSuites(); + method public abstract String[] getEnabledProtocols(); + method public String getHandshakeApplicationProtocol(); + method public java.util.function.BiFunction<javax.net.ssl.SSLSocket,java.util.List<java.lang.String>,java.lang.String> getHandshakeApplicationProtocolSelector(); + method public javax.net.ssl.SSLSession getHandshakeSession(); + method public abstract boolean getNeedClientAuth(); + method public javax.net.ssl.SSLParameters getSSLParameters(); + method public abstract javax.net.ssl.SSLSession getSession(); + method public abstract String[] getSupportedCipherSuites(); + method public abstract String[] getSupportedProtocols(); + method public abstract boolean getUseClientMode(); + method public abstract boolean getWantClientAuth(); + method public abstract void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener); + method public abstract void setEnableSessionCreation(boolean); + method public abstract void setEnabledCipherSuites(String[]); + method public abstract void setEnabledProtocols(String[]); + method public void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLSocket,java.util.List<java.lang.String>,java.lang.String>); + method public abstract void setNeedClientAuth(boolean); + method public void setSSLParameters(javax.net.ssl.SSLParameters); + method public abstract void setUseClientMode(boolean); + method public abstract void setWantClientAuth(boolean); + method public abstract void startHandshake() throws java.io.IOException; + } + + public abstract class SSLSocketFactory extends javax.net.SocketFactory { + ctor public SSLSocketFactory(); + method public abstract java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException; + method public static javax.net.SocketFactory getDefault(); + method public abstract String[] getDefaultCipherSuites(); + method public abstract String[] getSupportedCipherSuites(); + } + + public final class StandardConstants { + field public static final int SNI_HOST_NAME = 0; // 0x0 + } + + public interface TrustManager { + } + + public class TrustManagerFactory { + ctor protected TrustManagerFactory(javax.net.ssl.TrustManagerFactorySpi, java.security.Provider, String); + method public final String getAlgorithm(); + method public static final String getDefaultAlgorithm(); + method public static final javax.net.ssl.TrustManagerFactory getInstance(String) throws java.security.NoSuchAlgorithmException; + method public static final javax.net.ssl.TrustManagerFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; + method public static final javax.net.ssl.TrustManagerFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException; + method public final java.security.Provider getProvider(); + method public final javax.net.ssl.TrustManager[] getTrustManagers(); + method public final void init(java.security.KeyStore) throws java.security.KeyStoreException; + method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException; + } + + public abstract class TrustManagerFactorySpi { + ctor public TrustManagerFactorySpi(); + method protected abstract javax.net.ssl.TrustManager[] engineGetTrustManagers(); + method protected abstract void engineInit(java.security.KeyStore) throws java.security.KeyStoreException; + method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException; + } + + public abstract class X509ExtendedKeyManager implements javax.net.ssl.X509KeyManager { + ctor protected X509ExtendedKeyManager(); + method public String chooseEngineClientAlias(String[], java.security.Principal[], javax.net.ssl.SSLEngine); + method public String chooseEngineServerAlias(String, java.security.Principal[], javax.net.ssl.SSLEngine); + } + + public abstract class X509ExtendedTrustManager implements javax.net.ssl.X509TrustManager { + ctor public X509ExtendedTrustManager(); + method public abstract void checkClientTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException; + method public abstract void checkClientTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException; + method public abstract void checkServerTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException; + method public abstract void checkServerTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException; + } + + public interface X509KeyManager extends javax.net.ssl.KeyManager { + method public String chooseClientAlias(String[], java.security.Principal[], java.net.Socket); + method public String chooseServerAlias(String, java.security.Principal[], java.net.Socket); + method public java.security.cert.X509Certificate[] getCertificateChain(String); + method public String[] getClientAliases(String, java.security.Principal[]); + method public java.security.PrivateKey getPrivateKey(String); + method public String[] getServerAliases(String, java.security.Principal[]); + } + + public interface X509TrustManager extends javax.net.ssl.TrustManager { + method public void checkClientTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException; + method public void checkServerTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException; + method public java.security.cert.X509Certificate[] getAcceptedIssuers(); + } + +} + +package javax.security.auth { + + public final class AuthPermission extends java.security.BasicPermission { + ctor public AuthPermission(String); + ctor public AuthPermission(String, String); + } + + public class DestroyFailedException extends java.lang.Exception { + ctor public DestroyFailedException(); + ctor public DestroyFailedException(String); + } + + public interface Destroyable { + method public default void destroy() throws javax.security.auth.DestroyFailedException; + method public default boolean isDestroyed(); + } + + public final class PrivateCredentialPermission extends java.security.Permission { + ctor public PrivateCredentialPermission(String, String); + method public String getActions(); + method public String getCredentialClass(); + method public String[][] getPrincipals(); + method public boolean implies(java.security.Permission); + } + + 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> 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 <T extends java.security.Principal> java.util.Set<T> getPrincipals(Class<T>); + method public java.util.Set<java.lang.Object> getPrivateCredentials(); + method public <T> java.util.Set<T> getPrivateCredentials(Class<T>); + method public java.util.Set<java.lang.Object> getPublicCredentials(); + method public <T> java.util.Set<T> getPublicCredentials(Class<T>); + method public static javax.security.auth.Subject getSubject(java.security.AccessControlContext); + method public boolean isReadOnly(); + method public void setReadOnly(); + } + + public class SubjectDomainCombiner implements java.security.DomainCombiner { + ctor public SubjectDomainCombiner(javax.security.auth.Subject); + method public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]); + method public javax.security.auth.Subject getSubject(); + } + +} + +package javax.security.auth.callback { + + public interface Callback { + } + + public interface CallbackHandler { + method public void handle(javax.security.auth.callback.Callback[]) throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException; + } + + public class PasswordCallback implements javax.security.auth.callback.Callback java.io.Serializable { + ctor public PasswordCallback(String, boolean); + method public void clearPassword(); + method public char[] getPassword(); + method public String getPrompt(); + method public boolean isEchoOn(); + method public void setPassword(char[]); + } + + public class UnsupportedCallbackException extends java.lang.Exception { + ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback); + ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback, String); + method public javax.security.auth.callback.Callback getCallback(); + } + +} + +package javax.security.auth.login { + + public class LoginException extends java.security.GeneralSecurityException { + ctor public LoginException(); + ctor public LoginException(String); + } + +} + +package javax.security.auth.x500 { + + public final class X500Principal implements java.security.Principal java.io.Serializable { + ctor public X500Principal(String); + ctor public X500Principal(String, java.util.Map<java.lang.String,java.lang.String>); + ctor public X500Principal(byte[]); + ctor public X500Principal(java.io.InputStream); + method public byte[] getEncoded(); + method public String getName(); + method public String getName(String); + method public String getName(String, java.util.Map<java.lang.String,java.lang.String>); + field public static final String CANONICAL = "CANONICAL"; + field public static final String RFC1779 = "RFC1779"; + field public static final String RFC2253 = "RFC2253"; + } + +} + +package javax.security.cert { + + public abstract class Certificate { + ctor public Certificate(); + method public abstract byte[] getEncoded() throws javax.security.cert.CertificateEncodingException; + method public abstract java.security.PublicKey getPublicKey(); + method public abstract String toString(); + method public abstract void verify(java.security.PublicKey) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException; + method public abstract void verify(java.security.PublicKey, String) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException; + } + + public class CertificateEncodingException extends javax.security.cert.CertificateException { + ctor public CertificateEncodingException(); + ctor public CertificateEncodingException(String); + } + + public class CertificateException extends java.lang.Exception { + ctor public CertificateException(); + ctor public CertificateException(String); + } + + public class CertificateExpiredException extends javax.security.cert.CertificateException { + ctor public CertificateExpiredException(); + ctor public CertificateExpiredException(String); + } + + public class CertificateNotYetValidException extends javax.security.cert.CertificateException { + ctor public CertificateNotYetValidException(); + ctor public CertificateNotYetValidException(String); + } + + public class CertificateParsingException extends javax.security.cert.CertificateException { + ctor public CertificateParsingException(); + ctor public CertificateParsingException(String); + } + + public abstract class X509Certificate extends javax.security.cert.Certificate { + ctor public X509Certificate(); + method public abstract void checkValidity() throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException; + method public abstract void checkValidity(java.util.Date) throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException; + method public static final javax.security.cert.X509Certificate getInstance(java.io.InputStream) throws javax.security.cert.CertificateException; + method public static final javax.security.cert.X509Certificate getInstance(byte[]) throws javax.security.cert.CertificateException; + method public abstract java.security.Principal getIssuerDN(); + method public abstract java.util.Date getNotAfter(); + method public abstract java.util.Date getNotBefore(); + method public abstract java.math.BigInteger getSerialNumber(); + method public abstract String getSigAlgName(); + method public abstract String getSigAlgOID(); + method public abstract byte[] getSigAlgParams(); + method public abstract java.security.Principal getSubjectDN(); + method public abstract int getVersion(); + } + +} + +package javax.sql { + + public interface CommonDataSource { + method public java.io.PrintWriter getLogWriter() throws java.sql.SQLException; + method public int getLoginTimeout() throws java.sql.SQLException; + method public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException; + method public void setLogWriter(java.io.PrintWriter) throws java.sql.SQLException; + method public void setLoginTimeout(int) throws java.sql.SQLException; + } + + public class ConnectionEvent extends java.util.EventObject { + ctor public ConnectionEvent(javax.sql.PooledConnection); + ctor public ConnectionEvent(javax.sql.PooledConnection, java.sql.SQLException); + method public java.sql.SQLException getSQLException(); + } + + public interface ConnectionEventListener extends java.util.EventListener { + method public void connectionClosed(javax.sql.ConnectionEvent); + method public void connectionErrorOccurred(javax.sql.ConnectionEvent); + } + + public interface ConnectionPoolDataSource extends javax.sql.CommonDataSource { + method public javax.sql.PooledConnection getPooledConnection() throws java.sql.SQLException; + method public javax.sql.PooledConnection getPooledConnection(String, String) throws java.sql.SQLException; + } + + public interface DataSource extends javax.sql.CommonDataSource java.sql.Wrapper { + method public java.sql.Connection getConnection() throws java.sql.SQLException; + method public java.sql.Connection getConnection(String, String) throws java.sql.SQLException; + } + + public interface PooledConnection { + method public void addConnectionEventListener(javax.sql.ConnectionEventListener); + method public void addStatementEventListener(javax.sql.StatementEventListener); + method public void close() throws java.sql.SQLException; + method public java.sql.Connection getConnection() throws java.sql.SQLException; + method public void removeConnectionEventListener(javax.sql.ConnectionEventListener); + method public void removeStatementEventListener(javax.sql.StatementEventListener); + } + + public interface RowSet extends java.sql.ResultSet { + method public void addRowSetListener(javax.sql.RowSetListener); + method public void clearParameters() throws java.sql.SQLException; + method public void execute() throws java.sql.SQLException; + method public String getCommand(); + method public String getDataSourceName(); + method public boolean getEscapeProcessing() throws java.sql.SQLException; + method public int getMaxFieldSize() throws java.sql.SQLException; + method public int getMaxRows() throws java.sql.SQLException; + method public String getPassword(); + method public int getQueryTimeout() throws java.sql.SQLException; + method public int getTransactionIsolation(); + method public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException; + method public String getUrl() throws java.sql.SQLException; + method public String getUsername(); + method public boolean isReadOnly(); + method public void removeRowSetListener(javax.sql.RowSetListener); + method public void setArray(int, java.sql.Array) throws java.sql.SQLException; + method public void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException; + method public void setAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException; + method public void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException; + method public void setAsciiStream(String, java.io.InputStream) throws java.sql.SQLException; + method public void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException; + method public void setBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException; + method public void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException; + method public void setBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException; + method public void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException; + method public void setBinaryStream(String, java.io.InputStream) throws java.sql.SQLException; + method public void setBlob(int, java.sql.Blob) throws java.sql.SQLException; + method public void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException; + method public void setBlob(int, java.io.InputStream) throws java.sql.SQLException; + method public void setBlob(String, java.io.InputStream, long) throws java.sql.SQLException; + method public void setBlob(String, java.sql.Blob) throws java.sql.SQLException; + method public void setBlob(String, java.io.InputStream) throws java.sql.SQLException; + method public void setBoolean(int, boolean) throws java.sql.SQLException; + method public void setBoolean(String, boolean) throws java.sql.SQLException; + method public void setByte(int, byte) throws java.sql.SQLException; + method public void setByte(String, byte) throws java.sql.SQLException; + method public void setBytes(int, byte[]) throws java.sql.SQLException; + method public void setBytes(String, byte[]) throws java.sql.SQLException; + method public void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException; + method public void setCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException; + method public void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException; + method public void setCharacterStream(String, java.io.Reader) throws java.sql.SQLException; + method public void setClob(int, java.sql.Clob) throws java.sql.SQLException; + method public void setClob(int, java.io.Reader, long) throws java.sql.SQLException; + method public void setClob(int, java.io.Reader) throws java.sql.SQLException; + method public void setClob(String, java.io.Reader, long) throws java.sql.SQLException; + method public void setClob(String, java.sql.Clob) throws java.sql.SQLException; + method public void setClob(String, java.io.Reader) throws java.sql.SQLException; + method public void setCommand(String) throws java.sql.SQLException; + method public void setConcurrency(int) throws java.sql.SQLException; + method public void setDataSourceName(String) throws java.sql.SQLException; + method public void setDate(int, java.sql.Date) throws java.sql.SQLException; + method public void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException; + method public void setDate(String, java.sql.Date) throws java.sql.SQLException; + method public void setDate(String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException; + method public void setDouble(int, double) throws java.sql.SQLException; + method public void setDouble(String, double) throws java.sql.SQLException; + method public void setEscapeProcessing(boolean) throws java.sql.SQLException; + method public void setFloat(int, float) throws java.sql.SQLException; + method public void setFloat(String, float) throws java.sql.SQLException; + method public void setInt(int, int) throws java.sql.SQLException; + method public void setInt(String, int) throws java.sql.SQLException; + method public void setLong(int, long) throws java.sql.SQLException; + method public void setLong(String, long) throws java.sql.SQLException; + method public void setMaxFieldSize(int) throws java.sql.SQLException; + method public void setMaxRows(int) throws java.sql.SQLException; + method public void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException; + method public void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException; + method public void setNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException; + method public void setNCharacterStream(String, java.io.Reader) throws java.sql.SQLException; + method public void setNClob(String, java.sql.NClob) throws java.sql.SQLException; + method public void setNClob(String, java.io.Reader, long) throws java.sql.SQLException; + method public void setNClob(String, java.io.Reader) throws java.sql.SQLException; + method public void setNClob(int, java.io.Reader, long) throws java.sql.SQLException; + method public void setNClob(int, java.sql.NClob) throws java.sql.SQLException; + method public void setNClob(int, java.io.Reader) throws java.sql.SQLException; + method public void setNString(int, String) throws java.sql.SQLException; + method public void setNString(String, String) throws java.sql.SQLException; + method public void setNull(int, int) throws java.sql.SQLException; + method public void setNull(String, int) throws java.sql.SQLException; + method public void setNull(int, int, String) throws java.sql.SQLException; + method public void setNull(String, int, String) throws java.sql.SQLException; + method public void setObject(int, Object, int, int) throws java.sql.SQLException; + method public void setObject(String, Object, int, int) throws java.sql.SQLException; + method public void setObject(int, Object, int) throws java.sql.SQLException; + method public void setObject(String, Object, int) throws java.sql.SQLException; + method public void setObject(String, Object) throws java.sql.SQLException; + method public void setObject(int, Object) throws java.sql.SQLException; + method public void setPassword(String) throws java.sql.SQLException; + method public void setQueryTimeout(int) throws java.sql.SQLException; + method public void setReadOnly(boolean) throws java.sql.SQLException; + method public void setRef(int, java.sql.Ref) throws java.sql.SQLException; + method public void setRowId(int, java.sql.RowId) throws java.sql.SQLException; + method public void setRowId(String, java.sql.RowId) throws java.sql.SQLException; + method public void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException; + method public void setSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException; + method public void setShort(int, short) throws java.sql.SQLException; + method public void setShort(String, short) throws java.sql.SQLException; + method public void setString(int, String) throws java.sql.SQLException; + method public void setString(String, String) throws java.sql.SQLException; + method public void setTime(int, java.sql.Time) throws java.sql.SQLException; + method public void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException; + method public void setTime(String, java.sql.Time) throws java.sql.SQLException; + method public void setTime(String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException; + method public void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException; + method public void setTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException; + method public void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException; + method public void setTimestamp(String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException; + method public void setTransactionIsolation(int) throws java.sql.SQLException; + method public void setType(int) throws java.sql.SQLException; + method public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException; + method public void setURL(int, java.net.URL) throws java.sql.SQLException; + method public void setUrl(String) throws java.sql.SQLException; + method public void setUsername(String) throws java.sql.SQLException; + } + + public class RowSetEvent extends java.util.EventObject { + ctor public RowSetEvent(javax.sql.RowSet); + } + + public interface RowSetInternal { + method public java.sql.Connection getConnection() throws java.sql.SQLException; + method public java.sql.ResultSet getOriginal() throws java.sql.SQLException; + method public java.sql.ResultSet getOriginalRow() throws java.sql.SQLException; + method public Object[] getParams() throws java.sql.SQLException; + method public void setMetaData(javax.sql.RowSetMetaData) throws java.sql.SQLException; + } + + public interface RowSetListener extends java.util.EventListener { + method public void cursorMoved(javax.sql.RowSetEvent); + method public void rowChanged(javax.sql.RowSetEvent); + method public void rowSetChanged(javax.sql.RowSetEvent); + } + + public interface RowSetMetaData extends java.sql.ResultSetMetaData { + method public void setAutoIncrement(int, boolean) throws java.sql.SQLException; + method public void setCaseSensitive(int, boolean) throws java.sql.SQLException; + method public void setCatalogName(int, String) throws java.sql.SQLException; + method public void setColumnCount(int) throws java.sql.SQLException; + method public void setColumnDisplaySize(int, int) throws java.sql.SQLException; + method public void setColumnLabel(int, String) throws java.sql.SQLException; + method public void setColumnName(int, String) throws java.sql.SQLException; + method public void setColumnType(int, int) throws java.sql.SQLException; + method public void setColumnTypeName(int, String) throws java.sql.SQLException; + method public void setCurrency(int, boolean) throws java.sql.SQLException; + method public void setNullable(int, int) throws java.sql.SQLException; + method public void setPrecision(int, int) throws java.sql.SQLException; + method public void setScale(int, int) throws java.sql.SQLException; + method public void setSchemaName(int, String) throws java.sql.SQLException; + method public void setSearchable(int, boolean) throws java.sql.SQLException; + method public void setSigned(int, boolean) throws java.sql.SQLException; + method public void setTableName(int, String) throws java.sql.SQLException; + } + + public interface RowSetReader { + method public void readData(javax.sql.RowSetInternal) throws java.sql.SQLException; + } + + public interface RowSetWriter { + method public boolean writeData(javax.sql.RowSetInternal) throws java.sql.SQLException; + } + + public class StatementEvent extends java.util.EventObject { + ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement); + ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement, java.sql.SQLException); + method public java.sql.SQLException getSQLException(); + method public java.sql.PreparedStatement getStatement(); + } + + public interface StatementEventListener extends java.util.EventListener { + method public void statementClosed(javax.sql.StatementEvent); + method public void statementErrorOccurred(javax.sql.StatementEvent); + } + +} + +package javax.xml { + + public final class XMLConstants { + field public static final String DEFAULT_NS_PREFIX = ""; + field public static final String FEATURE_SECURE_PROCESSING = "http://javax.xml.XMLConstants/feature/secure-processing"; + field public static final String NULL_NS_URI = ""; + field public static final String RELAXNG_NS_URI = "http://relaxng.org/ns/structure/1.0"; + field public static final String W3C_XML_SCHEMA_INSTANCE_NS_URI = "http://www.w3.org/2001/XMLSchema-instance"; + field public static final String W3C_XML_SCHEMA_NS_URI = "http://www.w3.org/2001/XMLSchema"; + field public static final String W3C_XPATH_DATATYPE_NS_URI = "http://www.w3.org/2003/11/xpath-datatypes"; + field public static final String XMLNS_ATTRIBUTE = "xmlns"; + field public static final String XMLNS_ATTRIBUTE_NS_URI = "http://www.w3.org/2000/xmlns/"; + field public static final String XML_DTD_NS_URI = "http://www.w3.org/TR/REC-xml"; + field public static final String XML_NS_PREFIX = "xml"; + field public static final String XML_NS_URI = "http://www.w3.org/XML/1998/namespace"; + } + +} + +package javax.xml.datatype { + + public class DatatypeConfigurationException extends java.lang.Exception { + ctor public DatatypeConfigurationException(); + ctor public DatatypeConfigurationException(String); + ctor public DatatypeConfigurationException(String, Throwable); + ctor public DatatypeConfigurationException(Throwable); + } + + public final class DatatypeConstants { + field public static final int APRIL = 4; // 0x4 + field public static final int AUGUST = 8; // 0x8 + field public static final javax.xml.namespace.QName DATE; + field public static final javax.xml.namespace.QName DATETIME; + field public static final javax.xml.datatype.DatatypeConstants.Field DAYS; + field public static final int DECEMBER = 12; // 0xc + field public static final javax.xml.namespace.QName DURATION; + field public static final javax.xml.namespace.QName DURATION_DAYTIME; + field public static final javax.xml.namespace.QName DURATION_YEARMONTH; + field public static final int EQUAL = 0; // 0x0 + field public static final int FEBRUARY = 2; // 0x2 + field public static final int FIELD_UNDEFINED = -2147483648; // 0x80000000 + field public static final javax.xml.namespace.QName GDAY; + field public static final javax.xml.namespace.QName GMONTH; + field public static final javax.xml.namespace.QName GMONTHDAY; + field public static final int GREATER = 1; // 0x1 + field public static final javax.xml.namespace.QName GYEAR; + field public static final javax.xml.namespace.QName GYEARMONTH; + field public static final javax.xml.datatype.DatatypeConstants.Field HOURS; + field public static final int INDETERMINATE = 2; // 0x2 + field public static final int JANUARY = 1; // 0x1 + field public static final int JULY = 7; // 0x7 + field public static final int JUNE = 6; // 0x6 + field public static final int LESSER = -1; // 0xffffffff + field public static final int MARCH = 3; // 0x3 + field public static final int MAX_TIMEZONE_OFFSET = -840; // 0xfffffcb8 + field public static final int MAY = 5; // 0x5 + field public static final javax.xml.datatype.DatatypeConstants.Field MINUTES; + field public static final int MIN_TIMEZONE_OFFSET = 840; // 0x348 + field public static final javax.xml.datatype.DatatypeConstants.Field MONTHS; + field public static final int NOVEMBER = 11; // 0xb + field public static final int OCTOBER = 10; // 0xa + field public static final javax.xml.datatype.DatatypeConstants.Field SECONDS; + field public static final int SEPTEMBER = 9; // 0x9 + field public static final javax.xml.namespace.QName TIME; + field public static final javax.xml.datatype.DatatypeConstants.Field YEARS; + } + + public static final class DatatypeConstants.Field { + method public int getId(); + } + + public abstract class DatatypeFactory { + ctor protected DatatypeFactory(); + method public abstract javax.xml.datatype.Duration newDuration(String); + method public abstract javax.xml.datatype.Duration newDuration(long); + method public abstract javax.xml.datatype.Duration newDuration(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigDecimal); + method public javax.xml.datatype.Duration newDuration(boolean, int, int, int, int, int, int); + method public javax.xml.datatype.Duration newDurationDayTime(String); + method public javax.xml.datatype.Duration newDurationDayTime(long); + method public javax.xml.datatype.Duration newDurationDayTime(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger); + method public javax.xml.datatype.Duration newDurationDayTime(boolean, int, int, int, int); + method public javax.xml.datatype.Duration newDurationYearMonth(String); + method public javax.xml.datatype.Duration newDurationYearMonth(long); + method public javax.xml.datatype.Duration newDurationYearMonth(boolean, java.math.BigInteger, java.math.BigInteger); + method public javax.xml.datatype.Duration newDurationYearMonth(boolean, int, int); + method public static javax.xml.datatype.DatatypeFactory newInstance() throws javax.xml.datatype.DatatypeConfigurationException; + method public static javax.xml.datatype.DatatypeFactory newInstance(String, ClassLoader) throws javax.xml.datatype.DatatypeConfigurationException; + method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(); + method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(String); + method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.util.GregorianCalendar); + method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.math.BigInteger, int, int, int, int, int, java.math.BigDecimal, int); + method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(int, int, int, int, int, int, int, int); + method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarDate(int, int, int, int); + method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int); + method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, java.math.BigDecimal, int); + method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int, int); + field public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS; + field public static final String DATATYPEFACTORY_PROPERTY = "javax.xml.datatype.DatatypeFactory"; + } + + public abstract class Duration { + ctor public Duration(); + method public abstract javax.xml.datatype.Duration add(javax.xml.datatype.Duration); + method public abstract void addTo(java.util.Calendar); + method public void addTo(java.util.Date); + method public abstract int compare(javax.xml.datatype.Duration); + method public int getDays(); + method public abstract Number getField(javax.xml.datatype.DatatypeConstants.Field); + method public int getHours(); + method public int getMinutes(); + method public int getMonths(); + method public int getSeconds(); + method public abstract int getSign(); + method public long getTimeInMillis(java.util.Calendar); + method public long getTimeInMillis(java.util.Date); + method public javax.xml.namespace.QName getXMLSchemaType(); + method public int getYears(); + method public abstract int hashCode(); + method public boolean isLongerThan(javax.xml.datatype.Duration); + method public abstract boolean isSet(javax.xml.datatype.DatatypeConstants.Field); + method public boolean isShorterThan(javax.xml.datatype.Duration); + method public javax.xml.datatype.Duration multiply(int); + method public abstract javax.xml.datatype.Duration multiply(java.math.BigDecimal); + method public abstract javax.xml.datatype.Duration negate(); + method public abstract javax.xml.datatype.Duration normalizeWith(java.util.Calendar); + method public javax.xml.datatype.Duration subtract(javax.xml.datatype.Duration); + } + + public abstract class XMLGregorianCalendar implements java.lang.Cloneable { + ctor public XMLGregorianCalendar(); + method public abstract void add(javax.xml.datatype.Duration); + method public abstract void clear(); + method public abstract Object clone(); + method public abstract int compare(javax.xml.datatype.XMLGregorianCalendar); + method public abstract int getDay(); + method public abstract java.math.BigInteger getEon(); + method public abstract java.math.BigInteger getEonAndYear(); + method public abstract java.math.BigDecimal getFractionalSecond(); + method public abstract int getHour(); + method public int getMillisecond(); + method public abstract int getMinute(); + method public abstract int getMonth(); + method public abstract int getSecond(); + method public abstract java.util.TimeZone getTimeZone(int); + method public abstract int getTimezone(); + method public abstract javax.xml.namespace.QName getXMLSchemaType(); + method public abstract int getYear(); + method public abstract boolean isValid(); + method public abstract javax.xml.datatype.XMLGregorianCalendar normalize(); + method public abstract void reset(); + method public abstract void setDay(int); + method public abstract void setFractionalSecond(java.math.BigDecimal); + method public abstract void setHour(int); + method public abstract void setMillisecond(int); + method public abstract void setMinute(int); + method public abstract void setMonth(int); + method public abstract void setSecond(int); + method public void setTime(int, int, int); + method public void setTime(int, int, int, java.math.BigDecimal); + method public void setTime(int, int, int, int); + method public abstract void setTimezone(int); + method public abstract void setYear(java.math.BigInteger); + method public abstract void setYear(int); + method public abstract java.util.GregorianCalendar toGregorianCalendar(); + method public abstract java.util.GregorianCalendar toGregorianCalendar(java.util.TimeZone, java.util.Locale, javax.xml.datatype.XMLGregorianCalendar); + method public abstract String toXMLFormat(); + } + +} + +package javax.xml.namespace { + + public interface NamespaceContext { + method public String getNamespaceURI(String); + method public String getPrefix(String); + method public java.util.Iterator getPrefixes(String); + } + + public class QName implements java.io.Serializable { + ctor public QName(String, String); + ctor public QName(String, String, String); + ctor public QName(String); + method public final boolean equals(Object); + method public String getLocalPart(); + method public String getNamespaceURI(); + method public String getPrefix(); + method public final int hashCode(); + method public static javax.xml.namespace.QName valueOf(String); + } + +} + +package javax.xml.parsers { + + public abstract class DocumentBuilder { + ctor protected DocumentBuilder(); + method public abstract org.w3c.dom.DOMImplementation getDOMImplementation(); + method public javax.xml.validation.Schema getSchema(); + method public abstract boolean isNamespaceAware(); + method public abstract boolean isValidating(); + method public boolean isXIncludeAware(); + method public abstract org.w3c.dom.Document newDocument(); + method public org.w3c.dom.Document parse(java.io.InputStream) throws java.io.IOException, org.xml.sax.SAXException; + method public org.w3c.dom.Document parse(java.io.InputStream, String) throws java.io.IOException, org.xml.sax.SAXException; + method public org.w3c.dom.Document parse(String) throws java.io.IOException, org.xml.sax.SAXException; + method public org.w3c.dom.Document parse(java.io.File) throws java.io.IOException, org.xml.sax.SAXException; + method public abstract org.w3c.dom.Document parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException; + method public void reset(); + method public abstract void setEntityResolver(org.xml.sax.EntityResolver); + method public abstract void setErrorHandler(org.xml.sax.ErrorHandler); + } + + public abstract class DocumentBuilderFactory { + ctor protected DocumentBuilderFactory(); + method public abstract Object getAttribute(String) throws java.lang.IllegalArgumentException; + method public abstract boolean getFeature(String) throws javax.xml.parsers.ParserConfigurationException; + method public javax.xml.validation.Schema getSchema(); + method public boolean isCoalescing(); + method public boolean isExpandEntityReferences(); + method public boolean isIgnoringComments(); + method public boolean isIgnoringElementContentWhitespace(); + method public boolean isNamespaceAware(); + method public boolean isValidating(); + method public boolean isXIncludeAware(); + method public abstract javax.xml.parsers.DocumentBuilder newDocumentBuilder() throws javax.xml.parsers.ParserConfigurationException; + method public static javax.xml.parsers.DocumentBuilderFactory newInstance(); + method public static javax.xml.parsers.DocumentBuilderFactory newInstance(String, ClassLoader); + method public abstract void setAttribute(String, Object) throws java.lang.IllegalArgumentException; + method public void setCoalescing(boolean); + method public void setExpandEntityReferences(boolean); + method public abstract void setFeature(String, boolean) throws javax.xml.parsers.ParserConfigurationException; + method public void setIgnoringComments(boolean); + method public void setIgnoringElementContentWhitespace(boolean); + method public void setNamespaceAware(boolean); + method public void setSchema(javax.xml.validation.Schema); + method public void setValidating(boolean); + method public void setXIncludeAware(boolean); + } + + public class FactoryConfigurationError extends java.lang.Error { + ctor public FactoryConfigurationError(); + ctor public FactoryConfigurationError(String); + ctor public FactoryConfigurationError(Exception); + ctor public FactoryConfigurationError(Exception, String); + method public Exception getException(); + } + + public class ParserConfigurationException extends java.lang.Exception { + ctor public ParserConfigurationException(); + ctor public ParserConfigurationException(String); + } + + public abstract class SAXParser { + ctor protected SAXParser(); + method public abstract org.xml.sax.Parser getParser() throws org.xml.sax.SAXException; + method public abstract Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public javax.xml.validation.Schema getSchema(); + method public abstract org.xml.sax.XMLReader getXMLReader() throws org.xml.sax.SAXException; + method public abstract boolean isNamespaceAware(); + method public abstract boolean isValidating(); + method public boolean isXIncludeAware(); + method public void parse(java.io.InputStream, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(java.io.InputStream, org.xml.sax.HandlerBase, String) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler, String) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(String, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(String, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(java.io.File, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(java.io.File, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(org.xml.sax.InputSource, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(org.xml.sax.InputSource, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException; + method public void reset(); + method public abstract void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + } + + public abstract class SAXParserFactory { + ctor protected SAXParserFactory(); + method public abstract boolean getFeature(String) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public javax.xml.validation.Schema getSchema(); + method public boolean isNamespaceAware(); + method public boolean isValidating(); + method public boolean isXIncludeAware(); + method public static javax.xml.parsers.SAXParserFactory newInstance(); + method public static javax.xml.parsers.SAXParserFactory newInstance(String, ClassLoader); + method public abstract javax.xml.parsers.SAXParser newSAXParser() throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException; + method public abstract void setFeature(String, boolean) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setNamespaceAware(boolean); + method public void setSchema(javax.xml.validation.Schema); + method public void setValidating(boolean); + method public void setXIncludeAware(boolean); + } + +} + +package javax.xml.transform { + + public interface ErrorListener { + method public void error(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException; + method public void fatalError(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException; + method public void warning(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException; + } + + public class OutputKeys { + field public static final String CDATA_SECTION_ELEMENTS = "cdata-section-elements"; + field public static final String DOCTYPE_PUBLIC = "doctype-public"; + field public static final String DOCTYPE_SYSTEM = "doctype-system"; + field public static final String ENCODING = "encoding"; + field public static final String INDENT = "indent"; + field public static final String MEDIA_TYPE = "media-type"; + field public static final String METHOD = "method"; + field public static final String OMIT_XML_DECLARATION = "omit-xml-declaration"; + field public static final String STANDALONE = "standalone"; + field public static final String VERSION = "version"; + } + + public interface Result { + method public String getSystemId(); + method public void setSystemId(String); + field public static final String PI_DISABLE_OUTPUT_ESCAPING = "javax.xml.transform.disable-output-escaping"; + field public static final String PI_ENABLE_OUTPUT_ESCAPING = "javax.xml.transform.enable-output-escaping"; + } + + public interface Source { + method public String getSystemId(); + method public void setSystemId(String); + } + + public interface SourceLocator { + method public int getColumnNumber(); + method public int getLineNumber(); + method public String getPublicId(); + method public String getSystemId(); + } + + public interface Templates { + method public java.util.Properties getOutputProperties(); + method public javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException; + } + + public abstract class Transformer { + ctor protected Transformer(); + method public abstract void clearParameters(); + method public abstract javax.xml.transform.ErrorListener getErrorListener(); + method public abstract java.util.Properties getOutputProperties(); + method public abstract String getOutputProperty(String) throws java.lang.IllegalArgumentException; + method public abstract Object getParameter(String); + method public abstract javax.xml.transform.URIResolver getURIResolver(); + method public void reset(); + method public abstract void setErrorListener(javax.xml.transform.ErrorListener) throws java.lang.IllegalArgumentException; + method public abstract void setOutputProperties(java.util.Properties); + method public abstract void setOutputProperty(String, String) throws java.lang.IllegalArgumentException; + method public abstract void setParameter(String, Object); + method public abstract void setURIResolver(javax.xml.transform.URIResolver); + method public abstract void transform(javax.xml.transform.Source, javax.xml.transform.Result) throws javax.xml.transform.TransformerException; + } + + public class TransformerConfigurationException extends javax.xml.transform.TransformerException { + ctor public TransformerConfigurationException(); + ctor public TransformerConfigurationException(String); + ctor public TransformerConfigurationException(Throwable); + ctor public TransformerConfigurationException(String, Throwable); + ctor public TransformerConfigurationException(String, javax.xml.transform.SourceLocator); + ctor public TransformerConfigurationException(String, javax.xml.transform.SourceLocator, Throwable); + } + + public class TransformerException extends java.lang.Exception { + ctor public TransformerException(String); + ctor public TransformerException(Throwable); + ctor public TransformerException(String, Throwable); + ctor public TransformerException(String, javax.xml.transform.SourceLocator); + ctor public TransformerException(String, javax.xml.transform.SourceLocator, Throwable); + method public Throwable getException(); + method public String getLocationAsString(); + method public javax.xml.transform.SourceLocator getLocator(); + method public String getMessageAndLocation(); + method public void setLocator(javax.xml.transform.SourceLocator); + } + + public abstract class TransformerFactory { + ctor protected TransformerFactory(); + method public abstract javax.xml.transform.Source getAssociatedStylesheet(javax.xml.transform.Source, String, String, String) throws javax.xml.transform.TransformerConfigurationException; + method public abstract Object getAttribute(String); + method public abstract javax.xml.transform.ErrorListener getErrorListener(); + method public abstract boolean getFeature(String); + method public abstract javax.xml.transform.URIResolver getURIResolver(); + method public static javax.xml.transform.TransformerFactory newInstance() throws javax.xml.transform.TransformerFactoryConfigurationError; + method public static javax.xml.transform.TransformerFactory newInstance(String, ClassLoader) throws javax.xml.transform.TransformerFactoryConfigurationError; + method public abstract javax.xml.transform.Templates newTemplates(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException; + method public abstract javax.xml.transform.Transformer newTransformer(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException; + method public abstract javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException; + method public abstract void setAttribute(String, Object); + method public abstract void setErrorListener(javax.xml.transform.ErrorListener); + method public abstract void setFeature(String, boolean) throws javax.xml.transform.TransformerConfigurationException; + method public abstract void setURIResolver(javax.xml.transform.URIResolver); + } + + public class TransformerFactoryConfigurationError extends java.lang.Error { + ctor public TransformerFactoryConfigurationError(); + ctor public TransformerFactoryConfigurationError(String); + ctor public TransformerFactoryConfigurationError(Exception); + ctor public TransformerFactoryConfigurationError(Exception, String); + method public Exception getException(); + } + + public interface URIResolver { + method public javax.xml.transform.Source resolve(String, String) throws javax.xml.transform.TransformerException; + } + +} + +package javax.xml.transform.dom { + + public interface DOMLocator extends javax.xml.transform.SourceLocator { + method public org.w3c.dom.Node getOriginatingNode(); + } + + public class DOMResult implements javax.xml.transform.Result { + ctor public DOMResult(); + ctor public DOMResult(org.w3c.dom.Node); + ctor public DOMResult(org.w3c.dom.Node, String); + ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node); + ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node, String); + method public org.w3c.dom.Node getNextSibling(); + method public org.w3c.dom.Node getNode(); + method public String getSystemId(); + method public void setNextSibling(org.w3c.dom.Node); + method public void setNode(org.w3c.dom.Node); + method public void setSystemId(String); + field public static final String FEATURE = "http://javax.xml.transform.dom.DOMResult/feature"; + } + + public class DOMSource implements javax.xml.transform.Source { + ctor public DOMSource(); + ctor public DOMSource(org.w3c.dom.Node); + ctor public DOMSource(org.w3c.dom.Node, String); + method public org.w3c.dom.Node getNode(); + method public String getSystemId(); + method public void setNode(org.w3c.dom.Node); + method public void setSystemId(String); + field public static final String FEATURE = "http://javax.xml.transform.dom.DOMSource/feature"; + } + +} + +package javax.xml.transform.sax { + + public class SAXResult implements javax.xml.transform.Result { + ctor public SAXResult(); + ctor public SAXResult(org.xml.sax.ContentHandler); + method public org.xml.sax.ContentHandler getHandler(); + method public org.xml.sax.ext.LexicalHandler getLexicalHandler(); + method public String getSystemId(); + method public void setHandler(org.xml.sax.ContentHandler); + method public void setLexicalHandler(org.xml.sax.ext.LexicalHandler); + method public void setSystemId(String); + field public static final String FEATURE = "http://javax.xml.transform.sax.SAXResult/feature"; + } + + public class SAXSource implements javax.xml.transform.Source { + ctor public SAXSource(); + ctor public SAXSource(org.xml.sax.XMLReader, org.xml.sax.InputSource); + ctor public SAXSource(org.xml.sax.InputSource); + method public org.xml.sax.InputSource getInputSource(); + method public String getSystemId(); + method public org.xml.sax.XMLReader getXMLReader(); + method public void setInputSource(org.xml.sax.InputSource); + method public void setSystemId(String); + method public void setXMLReader(org.xml.sax.XMLReader); + method public static org.xml.sax.InputSource sourceToInputSource(javax.xml.transform.Source); + field public static final String FEATURE = "http://javax.xml.transform.sax.SAXSource/feature"; + } + + public abstract class SAXTransformerFactory extends javax.xml.transform.TransformerFactory { + ctor protected SAXTransformerFactory(); + method public abstract javax.xml.transform.sax.TemplatesHandler newTemplatesHandler() throws javax.xml.transform.TransformerConfigurationException; + method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException; + method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException; + method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler() throws javax.xml.transform.TransformerConfigurationException; + method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException; + method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException; + field public static final String FEATURE = "http://javax.xml.transform.sax.SAXTransformerFactory/feature"; + field public static final String FEATURE_XMLFILTER = "http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter"; + } + + public interface TemplatesHandler extends org.xml.sax.ContentHandler { + method public String getSystemId(); + method public javax.xml.transform.Templates getTemplates(); + method public void setSystemId(String); + } + + public interface TransformerHandler extends org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.ext.LexicalHandler { + method public String getSystemId(); + method public javax.xml.transform.Transformer getTransformer(); + method public void setResult(javax.xml.transform.Result) throws java.lang.IllegalArgumentException; + method public void setSystemId(String); + } + +} + +package javax.xml.transform.stream { + + public class StreamResult implements javax.xml.transform.Result { + ctor public StreamResult(); + ctor public StreamResult(java.io.OutputStream); + ctor public StreamResult(java.io.Writer); + ctor public StreamResult(String); + ctor public StreamResult(java.io.File); + method public java.io.OutputStream getOutputStream(); + method public String getSystemId(); + method public java.io.Writer getWriter(); + method public void setOutputStream(java.io.OutputStream); + method public void setSystemId(String); + method public void setSystemId(java.io.File); + method public void setWriter(java.io.Writer); + field public static final String FEATURE = "http://javax.xml.transform.stream.StreamResult/feature"; + } + + public class StreamSource implements javax.xml.transform.Source { + ctor public StreamSource(); + ctor public StreamSource(java.io.InputStream); + ctor public StreamSource(java.io.InputStream, String); + ctor public StreamSource(java.io.Reader); + ctor public StreamSource(java.io.Reader, String); + ctor public StreamSource(String); + ctor public StreamSource(java.io.File); + method public java.io.InputStream getInputStream(); + method public String getPublicId(); + method public java.io.Reader getReader(); + method public String getSystemId(); + method public void setInputStream(java.io.InputStream); + method public void setPublicId(String); + method public void setReader(java.io.Reader); + method public void setSystemId(String); + method public void setSystemId(java.io.File); + field public static final String FEATURE = "http://javax.xml.transform.stream.StreamSource/feature"; + } + +} + +package javax.xml.validation { + + public abstract class Schema { + ctor protected Schema(); + method public abstract javax.xml.validation.Validator newValidator(); + method public abstract javax.xml.validation.ValidatorHandler newValidatorHandler(); + } + + public abstract class SchemaFactory { + ctor protected SchemaFactory(); + method public abstract org.xml.sax.ErrorHandler getErrorHandler(); + method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver(); + method public abstract boolean isSchemaLanguageSupported(String); + method public static javax.xml.validation.SchemaFactory newInstance(String); + method public static javax.xml.validation.SchemaFactory newInstance(String, String, ClassLoader); + method public javax.xml.validation.Schema newSchema(javax.xml.transform.Source) throws org.xml.sax.SAXException; + method public javax.xml.validation.Schema newSchema(java.io.File) throws org.xml.sax.SAXException; + method public javax.xml.validation.Schema newSchema(java.net.URL) throws org.xml.sax.SAXException; + method public abstract javax.xml.validation.Schema newSchema(javax.xml.transform.Source[]) throws org.xml.sax.SAXException; + method public abstract javax.xml.validation.Schema newSchema() throws org.xml.sax.SAXException; + method public abstract void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver); + } + + public abstract class SchemaFactoryLoader { + ctor protected SchemaFactoryLoader(); + method public abstract javax.xml.validation.SchemaFactory newFactory(String); + } + + public abstract class TypeInfoProvider { + ctor protected TypeInfoProvider(); + method public abstract org.w3c.dom.TypeInfo getAttributeTypeInfo(int); + method public abstract org.w3c.dom.TypeInfo getElementTypeInfo(); + method public abstract boolean isIdAttribute(int); + method public abstract boolean isSpecified(int); + } + + public abstract class Validator { + ctor protected Validator(); + method public abstract org.xml.sax.ErrorHandler getErrorHandler(); + method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver(); + method public abstract void reset(); + method public abstract void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver); + method public void validate(javax.xml.transform.Source) throws java.io.IOException, org.xml.sax.SAXException; + method public abstract void validate(javax.xml.transform.Source, javax.xml.transform.Result) throws java.io.IOException, org.xml.sax.SAXException; + } + + public abstract class ValidatorHandler implements org.xml.sax.ContentHandler { + ctor protected ValidatorHandler(); + method public abstract org.xml.sax.ContentHandler getContentHandler(); + method public abstract org.xml.sax.ErrorHandler getErrorHandler(); + method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver(); + method public abstract javax.xml.validation.TypeInfoProvider getTypeInfoProvider(); + method public abstract void setContentHandler(org.xml.sax.ContentHandler); + method public abstract void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver); + } + +} + +package javax.xml.xpath { + + public interface XPath { + method public javax.xml.xpath.XPathExpression compile(String) throws javax.xml.xpath.XPathExpressionException; + method public Object evaluate(String, Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException; + method public String evaluate(String, Object) throws javax.xml.xpath.XPathExpressionException; + method public Object evaluate(String, org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException; + method public String evaluate(String, org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException; + method public javax.xml.namespace.NamespaceContext getNamespaceContext(); + method public javax.xml.xpath.XPathFunctionResolver getXPathFunctionResolver(); + method public javax.xml.xpath.XPathVariableResolver getXPathVariableResolver(); + method public void reset(); + method public void setNamespaceContext(javax.xml.namespace.NamespaceContext); + method public void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver); + method public void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver); + } + + public class XPathConstants { + field public static final javax.xml.namespace.QName BOOLEAN; + field public static final String DOM_OBJECT_MODEL = "http://java.sun.com/jaxp/xpath/dom"; + field public static final javax.xml.namespace.QName NODE; + field public static final javax.xml.namespace.QName NODESET; + field public static final javax.xml.namespace.QName NUMBER; + field public static final javax.xml.namespace.QName STRING; + } + + public class XPathException extends java.lang.Exception { + ctor public XPathException(String); + ctor public XPathException(Throwable); + } + + public interface XPathExpression { + method public Object evaluate(Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException; + method public String evaluate(Object) throws javax.xml.xpath.XPathExpressionException; + method public Object evaluate(org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException; + method public String evaluate(org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException; + } + + public class XPathExpressionException extends javax.xml.xpath.XPathException { + ctor public XPathExpressionException(String); + ctor public XPathExpressionException(Throwable); + } + + public abstract class XPathFactory { + ctor protected XPathFactory(); + method public abstract boolean getFeature(String) throws javax.xml.xpath.XPathFactoryConfigurationException; + method public abstract boolean isObjectModelSupported(String); + method public static final javax.xml.xpath.XPathFactory newInstance(); + method public static final javax.xml.xpath.XPathFactory newInstance(String) throws javax.xml.xpath.XPathFactoryConfigurationException; + method public static javax.xml.xpath.XPathFactory newInstance(String, String, ClassLoader) throws javax.xml.xpath.XPathFactoryConfigurationException; + method public abstract javax.xml.xpath.XPath newXPath(); + method public abstract void setFeature(String, boolean) throws javax.xml.xpath.XPathFactoryConfigurationException; + method public abstract void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver); + method public abstract void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver); + field public static final String DEFAULT_OBJECT_MODEL_URI = "http://java.sun.com/jaxp/xpath/dom"; + field public static final String DEFAULT_PROPERTY_NAME = "javax.xml.xpath.XPathFactory"; + } + + public class XPathFactoryConfigurationException extends javax.xml.xpath.XPathException { + ctor public XPathFactoryConfigurationException(String); + ctor public XPathFactoryConfigurationException(Throwable); + } + + public interface XPathFunction { + method public Object evaluate(java.util.List) throws javax.xml.xpath.XPathFunctionException; + } + + public class XPathFunctionException extends javax.xml.xpath.XPathExpressionException { + ctor public XPathFunctionException(String); + ctor public XPathFunctionException(Throwable); + } + + public interface XPathFunctionResolver { + method public javax.xml.xpath.XPathFunction resolveFunction(javax.xml.namespace.QName, int); + } + + public interface XPathVariableResolver { + method public Object resolveVariable(javax.xml.namespace.QName); + } + +} + +package org.json { + + public class JSONArray { + ctor public JSONArray(); + ctor public JSONArray(java.util.Collection); + ctor public JSONArray(org.json.JSONTokener) throws org.json.JSONException; + ctor public JSONArray(String) throws org.json.JSONException; + ctor public JSONArray(Object) throws org.json.JSONException; + method public Object get(int) throws org.json.JSONException; + method public boolean getBoolean(int) throws org.json.JSONException; + method public double getDouble(int) throws org.json.JSONException; + method public int getInt(int) throws org.json.JSONException; + method public org.json.JSONArray getJSONArray(int) throws org.json.JSONException; + method public org.json.JSONObject getJSONObject(int) throws org.json.JSONException; + method public long getLong(int) throws org.json.JSONException; + method public String getString(int) throws org.json.JSONException; + method public boolean isNull(int); + method public String join(String) throws org.json.JSONException; + method public int length(); + method public Object opt(int); + method public boolean optBoolean(int); + method public boolean optBoolean(int, boolean); + method public double optDouble(int); + method public double optDouble(int, double); + method public int optInt(int); + method public int optInt(int, int); + method public org.json.JSONArray optJSONArray(int); + method public org.json.JSONObject optJSONObject(int); + method public long optLong(int); + method public long optLong(int, long); + method public String optString(int); + method public String optString(int, String); + method public org.json.JSONArray put(boolean); + method public org.json.JSONArray put(double) throws org.json.JSONException; + method public org.json.JSONArray put(int); + method public org.json.JSONArray put(long); + method public org.json.JSONArray put(Object); + method public org.json.JSONArray put(int, boolean) throws org.json.JSONException; + method public org.json.JSONArray put(int, double) throws org.json.JSONException; + method public org.json.JSONArray put(int, int) throws org.json.JSONException; + method public org.json.JSONArray put(int, long) throws org.json.JSONException; + method public org.json.JSONArray put(int, Object) throws org.json.JSONException; + method public Object remove(int); + method public org.json.JSONObject toJSONObject(org.json.JSONArray) throws org.json.JSONException; + method public String toString(int) throws org.json.JSONException; + } + + public class JSONException extends java.lang.Exception { + ctor public JSONException(String); + ctor public JSONException(String, Throwable); + ctor public JSONException(Throwable); + } + + public class JSONObject { + ctor public JSONObject(); + ctor public JSONObject(@NonNull java.util.Map); + ctor public JSONObject(@NonNull org.json.JSONTokener) throws org.json.JSONException; + ctor public JSONObject(@NonNull String) throws org.json.JSONException; + ctor public JSONObject(@NonNull org.json.JSONObject, @NonNull String[]) throws org.json.JSONException; + method @NonNull public org.json.JSONObject accumulate(@NonNull String, @Nullable Object) throws org.json.JSONException; + method @NonNull public org.json.JSONObject append(@NonNull String, @Nullable Object) throws org.json.JSONException; + method @NonNull public Object get(@NonNull String) throws org.json.JSONException; + method public boolean getBoolean(@NonNull String) throws org.json.JSONException; + method public double getDouble(@NonNull String) throws org.json.JSONException; + method public int getInt(@NonNull String) throws org.json.JSONException; + method @NonNull public org.json.JSONArray getJSONArray(@NonNull String) throws org.json.JSONException; + method @NonNull public org.json.JSONObject getJSONObject(@NonNull String) throws org.json.JSONException; + method public long getLong(@NonNull String) throws org.json.JSONException; + method @NonNull public String getString(@NonNull String) throws org.json.JSONException; + method public boolean has(@Nullable String); + method public boolean isNull(@Nullable String); + method @NonNull public java.util.Iterator<java.lang.String> keys(); + method public int length(); + method @Nullable public org.json.JSONArray names(); + method @NonNull public static String numberToString(@NonNull Number) throws org.json.JSONException; + method @Nullable public Object opt(@Nullable String); + method public boolean optBoolean(@Nullable String); + method public boolean optBoolean(@Nullable String, boolean); + method public double optDouble(@Nullable String); + method public double optDouble(@Nullable String, double); + method public int optInt(@Nullable String); + method public int optInt(@Nullable String, int); + method @Nullable public org.json.JSONArray optJSONArray(@Nullable String); + method @Nullable public org.json.JSONObject optJSONObject(@Nullable String); + method public long optLong(@Nullable String); + method public long optLong(@Nullable String, long); + method @NonNull public String optString(@Nullable String); + method @NonNull public String optString(@Nullable String, @NonNull String); + method @NonNull public org.json.JSONObject put(@NonNull String, boolean) throws org.json.JSONException; + method @NonNull public org.json.JSONObject put(@NonNull String, double) throws org.json.JSONException; + method @NonNull public org.json.JSONObject put(@NonNull String, int) throws org.json.JSONException; + method @NonNull public org.json.JSONObject put(@NonNull String, long) throws org.json.JSONException; + method @NonNull public org.json.JSONObject put(@NonNull String, @Nullable Object) throws org.json.JSONException; + method @NonNull public org.json.JSONObject putOpt(@Nullable String, @Nullable Object) throws org.json.JSONException; + method @NonNull public static String quote(@Nullable String); + method @Nullable public Object remove(@Nullable String); + method @Nullable public org.json.JSONArray toJSONArray(@Nullable org.json.JSONArray) throws org.json.JSONException; + method @NonNull public String toString(int) throws org.json.JSONException; + method @Nullable public static Object wrap(@Nullable Object); + field @NonNull public static final Object NULL; + } + + public class JSONStringer { + ctor public JSONStringer(); + method public org.json.JSONStringer array() throws org.json.JSONException; + method public org.json.JSONStringer endArray() throws org.json.JSONException; + method public org.json.JSONStringer endObject() throws org.json.JSONException; + method public org.json.JSONStringer key(String) throws org.json.JSONException; + method public org.json.JSONStringer object() throws org.json.JSONException; + method public org.json.JSONStringer value(Object) throws org.json.JSONException; + method public org.json.JSONStringer value(boolean) throws org.json.JSONException; + method public org.json.JSONStringer value(double) throws org.json.JSONException; + method public org.json.JSONStringer value(long) throws org.json.JSONException; + } + + public class JSONTokener { + ctor public JSONTokener(String); + method public void back(); + method public static int dehexchar(char); + method public boolean more(); + method public char next(); + method public char next(char) throws org.json.JSONException; + method public String next(int) throws org.json.JSONException; + method public char nextClean() throws org.json.JSONException; + method public String nextString(char) throws org.json.JSONException; + method public String nextTo(String); + method public String nextTo(char); + method public Object nextValue() throws org.json.JSONException; + method public void skipPast(String); + method public char skipTo(char); + method public org.json.JSONException syntaxError(String); + } + +} + +package org.w3c.dom { + + public interface Attr extends org.w3c.dom.Node { + method public String getName(); + method public org.w3c.dom.Element getOwnerElement(); + method public org.w3c.dom.TypeInfo getSchemaTypeInfo(); + method public boolean getSpecified(); + method public String getValue(); + method public boolean isId(); + method public void setValue(String) throws org.w3c.dom.DOMException; + } + + public interface CDATASection extends org.w3c.dom.Text { + } + + public interface CharacterData extends org.w3c.dom.Node { + method public void appendData(String) throws org.w3c.dom.DOMException; + method public void deleteData(int, int) throws org.w3c.dom.DOMException; + method public String getData() throws org.w3c.dom.DOMException; + method public int getLength(); + method public void insertData(int, String) throws org.w3c.dom.DOMException; + method public void replaceData(int, int, String) throws org.w3c.dom.DOMException; + method public void setData(String) throws org.w3c.dom.DOMException; + method public String substringData(int, int) throws org.w3c.dom.DOMException; + } + + public interface Comment extends org.w3c.dom.CharacterData { + } + + public interface DOMConfiguration { + method public boolean canSetParameter(String, Object); + method public Object getParameter(String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.DOMStringList getParameterNames(); + method public void setParameter(String, Object) throws org.w3c.dom.DOMException; + } + + public interface DOMError { + method public org.w3c.dom.DOMLocator getLocation(); + method public String getMessage(); + method public Object getRelatedData(); + method public Object getRelatedException(); + method public short getSeverity(); + method public String getType(); + field public static final short SEVERITY_ERROR = 2; // 0x2 + field public static final short SEVERITY_FATAL_ERROR = 3; // 0x3 + field public static final short SEVERITY_WARNING = 1; // 0x1 + } + + public interface DOMErrorHandler { + method public boolean handleError(org.w3c.dom.DOMError); + } + + public class DOMException extends java.lang.RuntimeException { + ctor public DOMException(short, String); + field public static final short DOMSTRING_SIZE_ERR = 2; // 0x2 + field public static final short HIERARCHY_REQUEST_ERR = 3; // 0x3 + field public static final short INDEX_SIZE_ERR = 1; // 0x1 + field public static final short INUSE_ATTRIBUTE_ERR = 10; // 0xa + field public static final short INVALID_ACCESS_ERR = 15; // 0xf + field public static final short INVALID_CHARACTER_ERR = 5; // 0x5 + field public static final short INVALID_MODIFICATION_ERR = 13; // 0xd + field public static final short INVALID_STATE_ERR = 11; // 0xb + field public static final short NAMESPACE_ERR = 14; // 0xe + field public static final short NOT_FOUND_ERR = 8; // 0x8 + field public static final short NOT_SUPPORTED_ERR = 9; // 0x9 + field public static final short NO_DATA_ALLOWED_ERR = 6; // 0x6 + field public static final short NO_MODIFICATION_ALLOWED_ERR = 7; // 0x7 + field public static final short SYNTAX_ERR = 12; // 0xc + field public static final short TYPE_MISMATCH_ERR = 17; // 0x11 + field public static final short VALIDATION_ERR = 16; // 0x10 + field public static final short WRONG_DOCUMENT_ERR = 4; // 0x4 + field public short code; + } + + public interface DOMImplementation { + method public org.w3c.dom.Document createDocument(String, String, org.w3c.dom.DocumentType) throws org.w3c.dom.DOMException; + method public org.w3c.dom.DocumentType createDocumentType(String, String, String) throws org.w3c.dom.DOMException; + method public Object getFeature(String, String); + method public boolean hasFeature(String, String); + } + + public interface DOMImplementationList { + method public int getLength(); + method public org.w3c.dom.DOMImplementation item(int); + } + + public interface DOMImplementationSource { + method public org.w3c.dom.DOMImplementation getDOMImplementation(String); + method public org.w3c.dom.DOMImplementationList getDOMImplementationList(String); + } + + public interface DOMLocator { + method public int getByteOffset(); + method public int getColumnNumber(); + method public int getLineNumber(); + method public org.w3c.dom.Node getRelatedNode(); + method public String getUri(); + method public int getUtf16Offset(); + } + + public interface DOMStringList { + method public boolean contains(String); + method public int getLength(); + method public String item(int); + } + + public interface Document extends org.w3c.dom.Node { + method public org.w3c.dom.Node adoptNode(org.w3c.dom.Node) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Attr createAttribute(String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Attr createAttributeNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.CDATASection createCDATASection(String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Comment createComment(String); + method public org.w3c.dom.DocumentFragment createDocumentFragment(); + method public org.w3c.dom.Element createElement(String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Element createElementNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.EntityReference createEntityReference(String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.ProcessingInstruction createProcessingInstruction(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Text createTextNode(String); + method public org.w3c.dom.DocumentType getDoctype(); + method public org.w3c.dom.Element getDocumentElement(); + method public String getDocumentURI(); + method public org.w3c.dom.DOMConfiguration getDomConfig(); + method public org.w3c.dom.Element getElementById(String); + method public org.w3c.dom.NodeList getElementsByTagName(String); + method public org.w3c.dom.NodeList getElementsByTagNameNS(String, String); + method public org.w3c.dom.DOMImplementation getImplementation(); + method public String getInputEncoding(); + method public boolean getStrictErrorChecking(); + method public String getXmlEncoding(); + method public boolean getXmlStandalone(); + method public String getXmlVersion(); + method public org.w3c.dom.Node importNode(org.w3c.dom.Node, boolean) throws org.w3c.dom.DOMException; + method public void normalizeDocument(); + method public org.w3c.dom.Node renameNode(org.w3c.dom.Node, String, String) throws org.w3c.dom.DOMException; + method public void setDocumentURI(String); + method public void setStrictErrorChecking(boolean); + method public void setXmlStandalone(boolean) throws org.w3c.dom.DOMException; + method public void setXmlVersion(String) throws org.w3c.dom.DOMException; + } + + public interface DocumentFragment extends org.w3c.dom.Node { + } + + public interface DocumentType extends org.w3c.dom.Node { + method public org.w3c.dom.NamedNodeMap getEntities(); + method public String getInternalSubset(); + method public String getName(); + method public org.w3c.dom.NamedNodeMap getNotations(); + method public String getPublicId(); + method public String getSystemId(); + } + + public interface Element extends org.w3c.dom.Node { + method public String getAttribute(String); + method public String getAttributeNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Attr getAttributeNode(String); + method public org.w3c.dom.Attr getAttributeNodeNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.NodeList getElementsByTagName(String); + method public org.w3c.dom.NodeList getElementsByTagNameNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.TypeInfo getSchemaTypeInfo(); + method public String getTagName(); + method public boolean hasAttribute(String); + method public boolean hasAttributeNS(String, String) throws org.w3c.dom.DOMException; + method public void removeAttribute(String) throws org.w3c.dom.DOMException; + method public void removeAttributeNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException; + method public void setAttribute(String, String) throws org.w3c.dom.DOMException; + method public void setAttributeNS(String, String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr) throws org.w3c.dom.DOMException; + method public void setIdAttribute(String, boolean) throws org.w3c.dom.DOMException; + method public void setIdAttributeNS(String, String, boolean) throws org.w3c.dom.DOMException; + method public void setIdAttributeNode(org.w3c.dom.Attr, boolean) throws org.w3c.dom.DOMException; + } + + public interface Entity extends org.w3c.dom.Node { + method public String getInputEncoding(); + method public String getNotationName(); + method public String getPublicId(); + method public String getSystemId(); + method public String getXmlEncoding(); + method public String getXmlVersion(); + } + + public interface EntityReference extends org.w3c.dom.Node { + } + + public interface NameList { + method public boolean contains(String); + method public boolean containsNS(String, String); + method public int getLength(); + method public String getName(int); + method public String getNamespaceURI(int); + } + + public interface NamedNodeMap { + method public int getLength(); + method public org.w3c.dom.Node getNamedItem(String); + method public org.w3c.dom.Node getNamedItemNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Node item(int); + method public org.w3c.dom.Node removeNamedItem(String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Node removeNamedItemNS(String, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Node setNamedItem(org.w3c.dom.Node) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Node setNamedItemNS(org.w3c.dom.Node) throws org.w3c.dom.DOMException; + } + + public interface Node { + method public org.w3c.dom.Node appendChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Node cloneNode(boolean); + method public short compareDocumentPosition(org.w3c.dom.Node) throws org.w3c.dom.DOMException; + method public org.w3c.dom.NamedNodeMap getAttributes(); + method public String getBaseURI(); + method public org.w3c.dom.NodeList getChildNodes(); + method public Object getFeature(String, String); + method public org.w3c.dom.Node getFirstChild(); + method public org.w3c.dom.Node getLastChild(); + method public String getLocalName(); + method public String getNamespaceURI(); + method public org.w3c.dom.Node getNextSibling(); + method public String getNodeName(); + method public short getNodeType(); + method public String getNodeValue() throws org.w3c.dom.DOMException; + method public org.w3c.dom.Document getOwnerDocument(); + method public org.w3c.dom.Node getParentNode(); + method public String getPrefix(); + method public org.w3c.dom.Node getPreviousSibling(); + method public String getTextContent() throws org.w3c.dom.DOMException; + method public Object getUserData(String); + method public boolean hasAttributes(); + method public boolean hasChildNodes(); + method public org.w3c.dom.Node insertBefore(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException; + method public boolean isDefaultNamespace(String); + method public boolean isEqualNode(org.w3c.dom.Node); + method public boolean isSameNode(org.w3c.dom.Node); + method public boolean isSupported(String, String); + method public String lookupNamespaceURI(String); + method public String lookupPrefix(String); + method public void normalize(); + method public org.w3c.dom.Node removeChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Node replaceChild(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException; + method public void setNodeValue(String) throws org.w3c.dom.DOMException; + method public void setPrefix(String) throws org.w3c.dom.DOMException; + method public void setTextContent(String) throws org.w3c.dom.DOMException; + method public Object setUserData(String, Object, org.w3c.dom.UserDataHandler); + field public static final short ATTRIBUTE_NODE = 2; // 0x2 + field public static final short CDATA_SECTION_NODE = 4; // 0x4 + field public static final short COMMENT_NODE = 8; // 0x8 + field public static final short DOCUMENT_FRAGMENT_NODE = 11; // 0xb + field public static final short DOCUMENT_NODE = 9; // 0x9 + field public static final short DOCUMENT_POSITION_CONTAINED_BY = 16; // 0x10 + field public static final short DOCUMENT_POSITION_CONTAINS = 8; // 0x8 + field public static final short DOCUMENT_POSITION_DISCONNECTED = 1; // 0x1 + field public static final short DOCUMENT_POSITION_FOLLOWING = 4; // 0x4 + field public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32; // 0x20 + field public static final short DOCUMENT_POSITION_PRECEDING = 2; // 0x2 + field public static final short DOCUMENT_TYPE_NODE = 10; // 0xa + field public static final short ELEMENT_NODE = 1; // 0x1 + field public static final short ENTITY_NODE = 6; // 0x6 + field public static final short ENTITY_REFERENCE_NODE = 5; // 0x5 + field public static final short NOTATION_NODE = 12; // 0xc + field public static final short PROCESSING_INSTRUCTION_NODE = 7; // 0x7 + field public static final short TEXT_NODE = 3; // 0x3 + } + + public interface NodeList { + method public int getLength(); + method public org.w3c.dom.Node item(int); + } + + public interface Notation extends org.w3c.dom.Node { + method public String getPublicId(); + method public String getSystemId(); + } + + public interface ProcessingInstruction extends org.w3c.dom.Node { + method public String getData(); + method public String getTarget(); + method public void setData(String) throws org.w3c.dom.DOMException; + } + + public interface Text extends org.w3c.dom.CharacterData { + method public String getWholeText(); + method public boolean isElementContentWhitespace(); + method public org.w3c.dom.Text replaceWholeText(String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.Text splitText(int) throws org.w3c.dom.DOMException; + } + + public interface TypeInfo { + method public String getTypeName(); + method public String getTypeNamespace(); + method public boolean isDerivedFrom(String, String, int); + field public static final int DERIVATION_EXTENSION = 2; // 0x2 + field public static final int DERIVATION_LIST = 8; // 0x8 + field public static final int DERIVATION_RESTRICTION = 1; // 0x1 + field public static final int DERIVATION_UNION = 4; // 0x4 + } + + public interface UserDataHandler { + method public void handle(short, String, Object, org.w3c.dom.Node, org.w3c.dom.Node); + field public static final short NODE_ADOPTED = 5; // 0x5 + field public static final short NODE_CLONED = 1; // 0x1 + field public static final short NODE_DELETED = 3; // 0x3 + field public static final short NODE_IMPORTED = 2; // 0x2 + field public static final short NODE_RENAMED = 4; // 0x4 + } + +} + +package org.w3c.dom.ls { + + public interface DOMImplementationLS { + method public org.w3c.dom.ls.LSInput createLSInput(); + method public org.w3c.dom.ls.LSOutput createLSOutput(); + method public org.w3c.dom.ls.LSParser createLSParser(short, String) throws org.w3c.dom.DOMException; + method public org.w3c.dom.ls.LSSerializer createLSSerializer(); + field public static final short MODE_ASYNCHRONOUS = 2; // 0x2 + field public static final short MODE_SYNCHRONOUS = 1; // 0x1 + } + + public class LSException extends java.lang.RuntimeException { + ctor public LSException(short, String); + field public static final short PARSE_ERR = 81; // 0x51 + field public static final short SERIALIZE_ERR = 82; // 0x52 + field public short code; + } + + public interface LSInput { + method public String getBaseURI(); + method public java.io.InputStream getByteStream(); + method public boolean getCertifiedText(); + method public java.io.Reader getCharacterStream(); + method public String getEncoding(); + method public String getPublicId(); + method public String getStringData(); + method public String getSystemId(); + method public void setBaseURI(String); + method public void setByteStream(java.io.InputStream); + method public void setCertifiedText(boolean); + method public void setCharacterStream(java.io.Reader); + method public void setEncoding(String); + method public void setPublicId(String); + method public void setStringData(String); + method public void setSystemId(String); + } + + public interface LSOutput { + method public java.io.OutputStream getByteStream(); + method public java.io.Writer getCharacterStream(); + method public String getEncoding(); + method public String getSystemId(); + method public void setByteStream(java.io.OutputStream); + method public void setCharacterStream(java.io.Writer); + method public void setEncoding(String); + method public void setSystemId(String); + } + + public interface LSParser { + method public void abort(); + method public boolean getAsync(); + method public boolean getBusy(); + method public org.w3c.dom.DOMConfiguration getDomConfig(); + method public org.w3c.dom.ls.LSParserFilter getFilter(); + method public org.w3c.dom.Document parse(org.w3c.dom.ls.LSInput) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException; + method public org.w3c.dom.Document parseURI(String) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException; + method public org.w3c.dom.Node parseWithContext(org.w3c.dom.ls.LSInput, org.w3c.dom.Node, short) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException; + method public void setFilter(org.w3c.dom.ls.LSParserFilter); + field public static final short ACTION_APPEND_AS_CHILDREN = 1; // 0x1 + field public static final short ACTION_INSERT_AFTER = 4; // 0x4 + field public static final short ACTION_INSERT_BEFORE = 3; // 0x3 + field public static final short ACTION_REPLACE = 5; // 0x5 + field public static final short ACTION_REPLACE_CHILDREN = 2; // 0x2 + } + + public interface LSParserFilter { + method public short acceptNode(org.w3c.dom.Node); + method public int getWhatToShow(); + method public short startElement(org.w3c.dom.Element); + field public static final short FILTER_ACCEPT = 1; // 0x1 + field public static final short FILTER_INTERRUPT = 4; // 0x4 + field public static final short FILTER_REJECT = 2; // 0x2 + field public static final short FILTER_SKIP = 3; // 0x3 + } + + public interface LSResourceResolver { + method public org.w3c.dom.ls.LSInput resolveResource(String, String, String, String, String); + } + + public interface LSSerializer { + method public org.w3c.dom.DOMConfiguration getDomConfig(); + method public String getNewLine(); + method public void setNewLine(String); + method public boolean write(org.w3c.dom.Node, org.w3c.dom.ls.LSOutput) throws org.w3c.dom.ls.LSException; + method public String writeToString(org.w3c.dom.Node) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException; + method public boolean writeToURI(org.w3c.dom.Node, String) throws org.w3c.dom.ls.LSException; + } + +} + +package org.xml.sax { + + @Deprecated public interface AttributeList { + method @Deprecated public int getLength(); + method @Deprecated public String getName(int); + method @Deprecated public String getType(int); + method @Deprecated public String getType(String); + method @Deprecated public String getValue(int); + method @Deprecated public String getValue(String); + } + + public interface Attributes { + method public int getIndex(String, String); + method public int getIndex(String); + method public int getLength(); + method public String getLocalName(int); + method public String getQName(int); + method public String getType(int); + method public String getType(String, String); + method public String getType(String); + method public String getURI(int); + method public String getValue(int); + method public String getValue(String, String); + method public String getValue(String); + } + + public interface ContentHandler { + method public void characters(char[], int, int) throws org.xml.sax.SAXException; + method public void endDocument() throws org.xml.sax.SAXException; + method public void endElement(String, String, String) throws org.xml.sax.SAXException; + method public void endPrefixMapping(String) throws org.xml.sax.SAXException; + method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException; + method public void processingInstruction(String, String) throws org.xml.sax.SAXException; + method public void setDocumentLocator(org.xml.sax.Locator); + method public void skippedEntity(String) throws org.xml.sax.SAXException; + method public void startDocument() throws org.xml.sax.SAXException; + method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException; + method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException; + } + + public interface DTDHandler { + method public void notationDecl(String, String, String) throws org.xml.sax.SAXException; + method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException; + } + + @Deprecated public interface DocumentHandler { + method @Deprecated public void characters(char[], int, int) throws org.xml.sax.SAXException; + method @Deprecated public void endDocument() throws org.xml.sax.SAXException; + method @Deprecated public void endElement(String) throws org.xml.sax.SAXException; + method @Deprecated public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException; + method @Deprecated public void processingInstruction(String, String) throws org.xml.sax.SAXException; + method @Deprecated public void setDocumentLocator(org.xml.sax.Locator); + method @Deprecated public void startDocument() throws org.xml.sax.SAXException; + method @Deprecated public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException; + } + + public interface EntityResolver { + method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException; + } + + public interface ErrorHandler { + method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + } + + @Deprecated public class HandlerBase implements org.xml.sax.DTDHandler org.xml.sax.DocumentHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler { + ctor @Deprecated public HandlerBase(); + method @Deprecated public void characters(char[], int, int) throws org.xml.sax.SAXException; + method @Deprecated public void endDocument() throws org.xml.sax.SAXException; + method @Deprecated public void endElement(String) throws org.xml.sax.SAXException; + method @Deprecated public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method @Deprecated public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method @Deprecated public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException; + method @Deprecated public void notationDecl(String, String, String); + method @Deprecated public void processingInstruction(String, String) throws org.xml.sax.SAXException; + method @Deprecated public org.xml.sax.InputSource resolveEntity(String, String) throws org.xml.sax.SAXException; + method @Deprecated public void setDocumentLocator(org.xml.sax.Locator); + method @Deprecated public void startDocument() throws org.xml.sax.SAXException; + method @Deprecated public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException; + method @Deprecated public void unparsedEntityDecl(String, String, String, String); + method @Deprecated public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + } + + public class InputSource { + ctor public InputSource(); + ctor public InputSource(String); + ctor public InputSource(java.io.InputStream); + ctor public InputSource(java.io.Reader); + method public java.io.InputStream getByteStream(); + method public java.io.Reader getCharacterStream(); + method public String getEncoding(); + method public String getPublicId(); + method public String getSystemId(); + method public void setByteStream(java.io.InputStream); + method public void setCharacterStream(java.io.Reader); + method public void setEncoding(String); + method public void setPublicId(String); + method public void setSystemId(String); + } + + public interface Locator { + method public int getColumnNumber(); + method public int getLineNumber(); + method public String getPublicId(); + method public String getSystemId(); + } + + @Deprecated public interface Parser { + method @Deprecated public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException; + method @Deprecated public void parse(String) throws java.io.IOException, org.xml.sax.SAXException; + method @Deprecated public void setDTDHandler(org.xml.sax.DTDHandler); + method @Deprecated public void setDocumentHandler(org.xml.sax.DocumentHandler); + method @Deprecated public void setEntityResolver(org.xml.sax.EntityResolver); + method @Deprecated public void setErrorHandler(org.xml.sax.ErrorHandler); + method @Deprecated public void setLocale(java.util.Locale) throws org.xml.sax.SAXException; + } + + public class SAXException extends java.lang.Exception { + ctor public SAXException(); + ctor public SAXException(String); + ctor public SAXException(Exception); + ctor public SAXException(String, Exception); + method public Exception getException(); + } + + public class SAXNotRecognizedException extends org.xml.sax.SAXException { + ctor public SAXNotRecognizedException(); + ctor public SAXNotRecognizedException(String); + } + + public class SAXNotSupportedException extends org.xml.sax.SAXException { + ctor public SAXNotSupportedException(); + ctor public SAXNotSupportedException(String); + } + + public class SAXParseException extends org.xml.sax.SAXException { + ctor public SAXParseException(String, org.xml.sax.Locator); + ctor public SAXParseException(String, org.xml.sax.Locator, Exception); + ctor public SAXParseException(String, String, String, int, int); + ctor public SAXParseException(String, String, String, int, int, Exception); + method public int getColumnNumber(); + method public int getLineNumber(); + method public String getPublicId(); + method public String getSystemId(); + } + + public interface XMLFilter extends org.xml.sax.XMLReader { + method public org.xml.sax.XMLReader getParent(); + method public void setParent(org.xml.sax.XMLReader); + } + + public interface XMLReader { + method public org.xml.sax.ContentHandler getContentHandler(); + method public org.xml.sax.DTDHandler getDTDHandler(); + method public org.xml.sax.EntityResolver getEntityResolver(); + method public org.xml.sax.ErrorHandler getErrorHandler(); + method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException; + method public void setContentHandler(org.xml.sax.ContentHandler); + method public void setDTDHandler(org.xml.sax.DTDHandler); + method public void setEntityResolver(org.xml.sax.EntityResolver); + method public void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + } + +} + +package org.xml.sax.ext { + + public interface Attributes2 extends org.xml.sax.Attributes { + method public boolean isDeclared(int); + method public boolean isDeclared(String); + method public boolean isDeclared(String, String); + method public boolean isSpecified(int); + method public boolean isSpecified(String, String); + method public boolean isSpecified(String); + } + + public class Attributes2Impl extends org.xml.sax.helpers.AttributesImpl implements org.xml.sax.ext.Attributes2 { + ctor public Attributes2Impl(); + ctor public Attributes2Impl(org.xml.sax.Attributes); + method public boolean isDeclared(int); + method public boolean isDeclared(String, String); + method public boolean isDeclared(String); + method public boolean isSpecified(int); + method public boolean isSpecified(String, String); + method public boolean isSpecified(String); + method public void setDeclared(int, boolean); + method public void setSpecified(int, boolean); + } + + public interface DeclHandler { + method public void attributeDecl(String, String, String, String, String) throws org.xml.sax.SAXException; + method public void elementDecl(String, String) throws org.xml.sax.SAXException; + method public void externalEntityDecl(String, String, String) throws org.xml.sax.SAXException; + method public void internalEntityDecl(String, String) throws org.xml.sax.SAXException; + } + + public class DefaultHandler2 extends org.xml.sax.helpers.DefaultHandler implements org.xml.sax.ext.DeclHandler org.xml.sax.ext.EntityResolver2 org.xml.sax.ext.LexicalHandler { + ctor public DefaultHandler2(); + method public void attributeDecl(String, String, String, String, String) throws org.xml.sax.SAXException; + method public void comment(char[], int, int) throws org.xml.sax.SAXException; + method public void elementDecl(String, String) throws org.xml.sax.SAXException; + method public void endCDATA() throws org.xml.sax.SAXException; + method public void endDTD() throws org.xml.sax.SAXException; + method public void endEntity(String) throws org.xml.sax.SAXException; + method public void externalEntityDecl(String, String, String) throws org.xml.sax.SAXException; + method public org.xml.sax.InputSource getExternalSubset(String, String) throws java.io.IOException, org.xml.sax.SAXException; + method public void internalEntityDecl(String, String) throws org.xml.sax.SAXException; + method public org.xml.sax.InputSource resolveEntity(String, String, String, String) throws java.io.IOException, org.xml.sax.SAXException; + method public void startCDATA() throws org.xml.sax.SAXException; + method public void startDTD(String, String, String) throws org.xml.sax.SAXException; + method public void startEntity(String) throws org.xml.sax.SAXException; + } + + public interface EntityResolver2 extends org.xml.sax.EntityResolver { + method public org.xml.sax.InputSource getExternalSubset(String, String) throws java.io.IOException, org.xml.sax.SAXException; + method public org.xml.sax.InputSource resolveEntity(String, String, String, String) throws java.io.IOException, org.xml.sax.SAXException; + } + + public interface LexicalHandler { + method public void comment(char[], int, int) throws org.xml.sax.SAXException; + method public void endCDATA() throws org.xml.sax.SAXException; + method public void endDTD() throws org.xml.sax.SAXException; + method public void endEntity(String) throws org.xml.sax.SAXException; + method public void startCDATA() throws org.xml.sax.SAXException; + method public void startDTD(String, String, String) throws org.xml.sax.SAXException; + method public void startEntity(String) throws org.xml.sax.SAXException; + } + + public interface Locator2 extends org.xml.sax.Locator { + method public String getEncoding(); + method public String getXMLVersion(); + } + + public class Locator2Impl extends org.xml.sax.helpers.LocatorImpl implements org.xml.sax.ext.Locator2 { + ctor public Locator2Impl(); + ctor public Locator2Impl(org.xml.sax.Locator); + method public String getEncoding(); + method public String getXMLVersion(); + method public void setEncoding(String); + method public void setXMLVersion(String); + } + +} + +package org.xml.sax.helpers { + + @Deprecated public class AttributeListImpl implements org.xml.sax.AttributeList { + ctor @Deprecated public AttributeListImpl(); + ctor @Deprecated public AttributeListImpl(org.xml.sax.AttributeList); + method @Deprecated public void addAttribute(String, String, String); + method @Deprecated public void clear(); + method @Deprecated public int getLength(); + method @Deprecated public String getName(int); + method @Deprecated public String getType(int); + method @Deprecated public String getType(String); + method @Deprecated public String getValue(int); + method @Deprecated public String getValue(String); + method @Deprecated public void removeAttribute(String); + method @Deprecated public void setAttributeList(org.xml.sax.AttributeList); + } + + public class AttributesImpl implements org.xml.sax.Attributes { + ctor public AttributesImpl(); + ctor public AttributesImpl(org.xml.sax.Attributes); + method public void addAttribute(String, String, String, String, String); + method public void clear(); + method public int getIndex(String, String); + method public int getIndex(String); + method public int getLength(); + method public String getLocalName(int); + method public String getQName(int); + method public String getType(int); + method public String getType(String, String); + method public String getType(String); + method public String getURI(int); + method public String getValue(int); + method public String getValue(String, String); + method public String getValue(String); + method public void removeAttribute(int); + method public void setAttribute(int, String, String, String, String, String); + method public void setAttributes(org.xml.sax.Attributes); + method public void setLocalName(int, String); + method public void setQName(int, String); + method public void setType(int, String); + method public void setURI(int, String); + method public void setValue(int, String); + } + + public class DefaultHandler implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler { + ctor public DefaultHandler(); + method public void characters(char[], int, int) throws org.xml.sax.SAXException; + method public void endDocument() throws org.xml.sax.SAXException; + method public void endElement(String, String, String) throws org.xml.sax.SAXException; + method public void endPrefixMapping(String) throws org.xml.sax.SAXException; + method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException; + method public void notationDecl(String, String, String) throws org.xml.sax.SAXException; + method public void processingInstruction(String, String) throws org.xml.sax.SAXException; + method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException; + method public void setDocumentLocator(org.xml.sax.Locator); + method public void skippedEntity(String) throws org.xml.sax.SAXException; + method public void startDocument() throws org.xml.sax.SAXException; + method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException; + method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException; + method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException; + method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + } + + public class LocatorImpl implements org.xml.sax.Locator { + ctor public LocatorImpl(); + ctor public LocatorImpl(org.xml.sax.Locator); + method public int getColumnNumber(); + method public int getLineNumber(); + method public String getPublicId(); + method public String getSystemId(); + method public void setColumnNumber(int); + method public void setLineNumber(int); + method public void setPublicId(String); + method public void setSystemId(String); + } + + public class NamespaceSupport { + ctor public NamespaceSupport(); + method public boolean declarePrefix(String, String); + method public java.util.Enumeration getDeclaredPrefixes(); + method public String getPrefix(String); + method public java.util.Enumeration getPrefixes(); + method public java.util.Enumeration getPrefixes(String); + method public String getURI(String); + method public boolean isNamespaceDeclUris(); + method public void popContext(); + method public String[] processName(String, String[], boolean); + method public void pushContext(); + method public void reset(); + method public void setNamespaceDeclUris(boolean); + field public static final String NSDECL = "http://www.w3.org/xmlns/2000/"; + field public static final String XMLNS = "http://www.w3.org/XML/1998/namespace"; + } + + public class ParserAdapter implements org.xml.sax.DocumentHandler org.xml.sax.XMLReader { + ctor public ParserAdapter() throws org.xml.sax.SAXException; + ctor public ParserAdapter(org.xml.sax.Parser); + method public void characters(char[], int, int) throws org.xml.sax.SAXException; + method public void endDocument() throws org.xml.sax.SAXException; + method public void endElement(String) throws org.xml.sax.SAXException; + method public org.xml.sax.ContentHandler getContentHandler(); + method public org.xml.sax.DTDHandler getDTDHandler(); + method public org.xml.sax.EntityResolver getEntityResolver(); + method public org.xml.sax.ErrorHandler getErrorHandler(); + method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException; + method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException; + method public void processingInstruction(String, String) throws org.xml.sax.SAXException; + method public void setContentHandler(org.xml.sax.ContentHandler); + method public void setDTDHandler(org.xml.sax.DTDHandler); + method public void setDocumentLocator(org.xml.sax.Locator); + method public void setEntityResolver(org.xml.sax.EntityResolver); + method public void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void startDocument() throws org.xml.sax.SAXException; + method public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException; + } + + @Deprecated public class ParserFactory { + method @Deprecated public static org.xml.sax.Parser makeParser() throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.NullPointerException; + method @Deprecated public static org.xml.sax.Parser makeParser(String) throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException; + } + + public class XMLFilterImpl implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler org.xml.sax.XMLFilter { + ctor public XMLFilterImpl(); + ctor public XMLFilterImpl(org.xml.sax.XMLReader); + method public void characters(char[], int, int) throws org.xml.sax.SAXException; + method public void endDocument() throws org.xml.sax.SAXException; + method public void endElement(String, String, String) throws org.xml.sax.SAXException; + method public void endPrefixMapping(String) throws org.xml.sax.SAXException; + method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + method public org.xml.sax.ContentHandler getContentHandler(); + method public org.xml.sax.DTDHandler getDTDHandler(); + method public org.xml.sax.EntityResolver getEntityResolver(); + method public org.xml.sax.ErrorHandler getErrorHandler(); + method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public org.xml.sax.XMLReader getParent(); + method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException; + method public void notationDecl(String, String, String) throws org.xml.sax.SAXException; + method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException; + method public void processingInstruction(String, String) throws org.xml.sax.SAXException; + method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException; + method public void setContentHandler(org.xml.sax.ContentHandler); + method public void setDTDHandler(org.xml.sax.DTDHandler); + method public void setDocumentLocator(org.xml.sax.Locator); + method public void setEntityResolver(org.xml.sax.EntityResolver); + method public void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setParent(org.xml.sax.XMLReader); + method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void skippedEntity(String) throws org.xml.sax.SAXException; + method public void startDocument() throws org.xml.sax.SAXException; + method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException; + method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException; + method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException; + method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException; + } + + public class XMLReaderAdapter implements org.xml.sax.ContentHandler org.xml.sax.Parser { + ctor public XMLReaderAdapter() throws org.xml.sax.SAXException; + ctor public XMLReaderAdapter(org.xml.sax.XMLReader); + method public void characters(char[], int, int) throws org.xml.sax.SAXException; + method public void endDocument() throws org.xml.sax.SAXException; + method public void endElement(String, String, String) throws org.xml.sax.SAXException; + method public void endPrefixMapping(String); + method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException; + method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException; + method public void processingInstruction(String, String) throws org.xml.sax.SAXException; + method public void setDTDHandler(org.xml.sax.DTDHandler); + method public void setDocumentHandler(org.xml.sax.DocumentHandler); + method public void setDocumentLocator(org.xml.sax.Locator); + method public void setEntityResolver(org.xml.sax.EntityResolver); + method public void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setLocale(java.util.Locale) throws org.xml.sax.SAXException; + method public void skippedEntity(String) throws org.xml.sax.SAXException; + method public void startDocument() throws org.xml.sax.SAXException; + method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException; + method public void startPrefixMapping(String, String); + } + + public final class XMLReaderFactory { + method public static org.xml.sax.XMLReader createXMLReader() throws org.xml.sax.SAXException; + method public static org.xml.sax.XMLReader createXMLReader(String) throws org.xml.sax.SAXException; + } + +} + +package org.xmlpull.v1 { + + public interface XmlPullParser { + method public void defineEntityReplacementText(String, String) throws org.xmlpull.v1.XmlPullParserException; + method public int getAttributeCount(); + method public String getAttributeName(int); + method public String getAttributeNamespace(int); + method public String getAttributePrefix(int); + method public String getAttributeType(int); + method public String getAttributeValue(int); + method public String getAttributeValue(String, String); + method public int getColumnNumber(); + method public int getDepth(); + method public int getEventType() throws org.xmlpull.v1.XmlPullParserException; + method public boolean getFeature(String); + method public String getInputEncoding(); + method public int getLineNumber(); + method public String getName(); + method public String getNamespace(String); + method public String getNamespace(); + method public int getNamespaceCount(int) throws org.xmlpull.v1.XmlPullParserException; + method public String getNamespacePrefix(int) throws org.xmlpull.v1.XmlPullParserException; + method public String getNamespaceUri(int) throws org.xmlpull.v1.XmlPullParserException; + method public String getPositionDescription(); + method public String getPrefix(); + method public Object getProperty(String); + method public String getText(); + method public char[] getTextCharacters(int[]); + method public boolean isAttributeDefault(int); + method public boolean isEmptyElementTag() throws org.xmlpull.v1.XmlPullParserException; + method public boolean isWhitespace() throws org.xmlpull.v1.XmlPullParserException; + method public int next() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public int nextTag() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public String nextText() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public int nextToken() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public void require(int, String, String) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; + method public void setFeature(String, boolean) throws org.xmlpull.v1.XmlPullParserException; + method public void setInput(java.io.Reader) throws org.xmlpull.v1.XmlPullParserException; + method public void setInput(java.io.InputStream, String) throws org.xmlpull.v1.XmlPullParserException; + method public void setProperty(String, Object) throws org.xmlpull.v1.XmlPullParserException; + field public static final int CDSECT = 5; // 0x5 + field public static final int COMMENT = 9; // 0x9 + field public static final int DOCDECL = 10; // 0xa + field public static final int END_DOCUMENT = 1; // 0x1 + field public static final int END_TAG = 3; // 0x3 + field public static final int ENTITY_REF = 6; // 0x6 + field public static final String FEATURE_PROCESS_DOCDECL = "http://xmlpull.org/v1/doc/features.html#process-docdecl"; + field public static final String FEATURE_PROCESS_NAMESPACES = "http://xmlpull.org/v1/doc/features.html#process-namespaces"; + field public static final String FEATURE_REPORT_NAMESPACE_ATTRIBUTES = "http://xmlpull.org/v1/doc/features.html#report-namespace-prefixes"; + field public static final String FEATURE_VALIDATION = "http://xmlpull.org/v1/doc/features.html#validation"; + field public static final int IGNORABLE_WHITESPACE = 7; // 0x7 + field public static final String NO_NAMESPACE = ""; + field public static final int PROCESSING_INSTRUCTION = 8; // 0x8 + field public static final int START_DOCUMENT = 0; // 0x0 + field public static final int START_TAG = 2; // 0x2 + field public static final int TEXT = 4; // 0x4 + field public static final String[] TYPES; + } + + public class XmlPullParserException extends java.lang.Exception { + ctor public XmlPullParserException(String); + ctor public XmlPullParserException(String, org.xmlpull.v1.XmlPullParser, Throwable); + method public int getColumnNumber(); + method public Throwable getDetail(); + method public int getLineNumber(); + field protected int column; + field protected Throwable detail; + field protected int row; + } + + public class XmlPullParserFactory { + ctor protected XmlPullParserFactory(); + method public boolean getFeature(String); + method public boolean isNamespaceAware(); + method public boolean isValidating(); + method public static org.xmlpull.v1.XmlPullParserFactory newInstance() throws org.xmlpull.v1.XmlPullParserException; + method public static org.xmlpull.v1.XmlPullParserFactory newInstance(String, Class) throws org.xmlpull.v1.XmlPullParserException; + method public org.xmlpull.v1.XmlPullParser newPullParser() throws org.xmlpull.v1.XmlPullParserException; + method public org.xmlpull.v1.XmlSerializer newSerializer() throws org.xmlpull.v1.XmlPullParserException; + method public void setFeature(String, boolean) throws org.xmlpull.v1.XmlPullParserException; + method public void setNamespaceAware(boolean); + method public void setValidating(boolean); + field public static final String PROPERTY_NAME = "org.xmlpull.v1.XmlPullParserFactory"; + field protected String classNamesLocation; + field protected java.util.HashMap<java.lang.String,java.lang.Boolean> features; + field protected java.util.ArrayList parserClasses; + field protected java.util.ArrayList serializerClasses; + } + + public interface XmlSerializer { + method public org.xmlpull.v1.XmlSerializer attribute(String, String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void cdsect(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void comment(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void docdecl(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void endDocument() throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public org.xmlpull.v1.XmlSerializer endTag(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void entityRef(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void flush() throws java.io.IOException; + method public int getDepth(); + method public boolean getFeature(String); + method public String getName(); + method public String getNamespace(); + method public String getPrefix(String, boolean) throws java.lang.IllegalArgumentException; + method public Object getProperty(String); + method public void ignorableWhitespace(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void processingInstruction(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void setFeature(String, boolean) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void setOutput(java.io.OutputStream, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void setOutput(java.io.Writer) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void setPrefix(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void setProperty(String, Object) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public void startDocument(String, Boolean) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public org.xmlpull.v1.XmlSerializer startTag(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public org.xmlpull.v1.XmlSerializer text(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + method public org.xmlpull.v1.XmlSerializer text(char[], int, int) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException; + } + +} + +package org.xmlpull.v1.sax2 { + + public class Driver implements org.xml.sax.Attributes org.xml.sax.Locator org.xml.sax.XMLReader { + ctor public Driver() throws org.xmlpull.v1.XmlPullParserException; + ctor public Driver(org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException; + method public int getColumnNumber(); + method public org.xml.sax.ContentHandler getContentHandler(); + method public org.xml.sax.DTDHandler getDTDHandler(); + method public org.xml.sax.EntityResolver getEntityResolver(); + method public org.xml.sax.ErrorHandler getErrorHandler(); + method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public int getIndex(String, String); + method public int getIndex(String); + method public int getLength(); + method public int getLineNumber(); + method public String getLocalName(int); + method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public String getPublicId(); + method public String getQName(int); + method public String getSystemId(); + method public String getType(int); + method public String getType(String, String); + method public String getType(String); + method public String getURI(int); + method public String getValue(int); + method public String getValue(String, String); + method public String getValue(String); + method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException; + method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException; + method public void parseSubTree(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xml.sax.SAXException; + method public void setContentHandler(org.xml.sax.ContentHandler); + method public void setDTDHandler(org.xml.sax.DTDHandler); + method public void setEntityResolver(org.xml.sax.EntityResolver); + method public void setErrorHandler(org.xml.sax.ErrorHandler); + method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException; + method protected void startElement(String, String, String) throws org.xml.sax.SAXException; + field protected static final String APACHE_DYNAMIC_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/dynamic"; + field protected static final String APACHE_SCHEMA_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/schema"; + field protected static final String DECLARATION_HANDLER_PROPERTY = "http://xml.org/sax/properties/declaration-handler"; + field protected static final String LEXICAL_HANDLER_PROPERTY = "http://xml.org/sax/properties/lexical-handler"; + field protected static final String NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces"; + field protected static final String NAMESPACE_PREFIXES_FEATURE = "http://xml.org/sax/features/namespace-prefixes"; + field protected static final String VALIDATION_FEATURE = "http://xml.org/sax/features/validation"; + field protected org.xml.sax.ContentHandler contentHandler; + field protected org.xml.sax.ErrorHandler errorHandler; + field protected org.xmlpull.v1.XmlPullParser pp; + field protected String systemId; + } + +} + diff --git a/extensions/3/public/api/conscrypt.module.intra.core.api-removed.txt b/extensions/3/public/api/conscrypt.module.intra.core.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/conscrypt.module.intra.core.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/conscrypt.module.intra.core.api.txt b/extensions/3/public/api/conscrypt.module.intra.core.api.txt new file mode 100644 index 000000000..6fce26f09 --- /dev/null +++ b/extensions/3/public/api/conscrypt.module.intra.core.api.txt @@ -0,0 +1,40 @@ +// Signature format: 2.0 +package com.android.org.conscrypt { + + public class OpenSSLMessageDigestJDK extends java.security.MessageDigestSpi implements java.lang.Cloneable { + } + + public static final class OpenSSLMessageDigestJDK.MD5 extends com.android.org.conscrypt.OpenSSLMessageDigestJDK { + ctor public OpenSSLMessageDigestJDK.MD5() throws java.security.NoSuchAlgorithmException; + } + + public static final class OpenSSLMessageDigestJDK.SHA1 extends com.android.org.conscrypt.OpenSSLMessageDigestJDK { + ctor public OpenSSLMessageDigestJDK.SHA1() throws java.security.NoSuchAlgorithmException; + } + + public static final class OpenSSLMessageDigestJDK.SHA224 extends com.android.org.conscrypt.OpenSSLMessageDigestJDK { + ctor public OpenSSLMessageDigestJDK.SHA224() throws java.security.NoSuchAlgorithmException; + } + + public static final class OpenSSLMessageDigestJDK.SHA256 extends com.android.org.conscrypt.OpenSSLMessageDigestJDK { + ctor public OpenSSLMessageDigestJDK.SHA256() throws java.security.NoSuchAlgorithmException; + } + + public static final class OpenSSLMessageDigestJDK.SHA384 extends com.android.org.conscrypt.OpenSSLMessageDigestJDK { + ctor public OpenSSLMessageDigestJDK.SHA384() throws java.security.NoSuchAlgorithmException; + } + + public static final class OpenSSLMessageDigestJDK.SHA512 extends com.android.org.conscrypt.OpenSSLMessageDigestJDK { + ctor public OpenSSLMessageDigestJDK.SHA512() throws java.security.NoSuchAlgorithmException; + } + + public final class OpenSSLProvider extends java.security.Provider { + ctor public OpenSSLProvider(); + } + + public final class OpenSSLRandom extends java.security.SecureRandomSpi implements java.io.Serializable { + ctor public OpenSSLRandom(); + } + +} + diff --git a/extensions/3/public/api/conscrypt.module.platform.api-removed.txt b/extensions/3/public/api/conscrypt.module.platform.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/conscrypt.module.platform.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/conscrypt.module.platform.api.txt b/extensions/3/public/api/conscrypt.module.platform.api.txt new file mode 100644 index 000000000..b64538382 --- /dev/null +++ b/extensions/3/public/api/conscrypt.module.platform.api.txt @@ -0,0 +1,100 @@ +// Signature format: 2.0 +package com.android.org.conscrypt { + + public interface CertPinManager { + } + + public final class ClientSessionContext implements javax.net.ssl.SSLSessionContext { + method public final java.util.Enumeration<byte[]> getIds(); + method public final javax.net.ssl.SSLSession getSession(byte[]); + method public final int getSessionCacheSize(); + method public final int getSessionTimeout(); + method public void setPersistentCache(com.android.org.conscrypt.SSLClientSessionCache); + method public final void setSessionCacheSize(int) throws java.lang.IllegalArgumentException; + method public final void setSessionTimeout(int) throws java.lang.IllegalArgumentException; + } + + public final class Conscrypt { + method public static javax.net.ssl.X509TrustManager getDefaultX509TrustManager() throws java.security.KeyManagementException; + } + + public interface ConscryptCertStore { + } + + public final class FileClientSessionCache { + method public static com.android.org.conscrypt.SSLClientSessionCache usingDirectory(java.io.File) throws java.io.IOException; + } + + public final class OpenSSLProvider extends java.security.Provider { + ctor public OpenSSLProvider(); + } + + public abstract class OpenSSLSocketImpl extends javax.net.ssl.SSLSocket { + method public void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener); + method public final void connect(java.net.SocketAddress) throws java.io.IOException; + method public final void connect(java.net.SocketAddress, int) throws java.io.IOException; + method @Deprecated public final byte[] getAlpnSelectedProtocol(); + method @Deprecated public final byte[] getNpnSelectedProtocol(); + method public final int getPort(); + method public final int getSoTimeout() throws java.net.SocketException; + method public void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener); + method public final void sendUrgentData(int) throws java.io.IOException; + method @Deprecated public final void setAlpnProtocols(byte[]); + method public abstract void setChannelIdPrivateKey(java.security.PrivateKey); + method public void setHandshakeTimeout(int) throws java.net.SocketException; + method public void setHostname(String); + method @Deprecated public final void setNpnProtocols(byte[]); + method public final void setOOBInline(boolean) throws java.net.SocketException; + method public final void setSoTimeout(int) throws java.net.SocketException; + method public void setSoWriteTimeout(int) throws java.net.SocketException; + method public abstract void setUseSessionTickets(boolean); + } + + public interface SSLClientSessionCache { + } + + public final class TrustManagerImpl extends javax.net.ssl.X509ExtendedTrustManager { + ctor public TrustManagerImpl(java.security.KeyStore); + ctor public TrustManagerImpl(java.security.KeyStore, com.android.org.conscrypt.CertPinManager, com.android.org.conscrypt.ConscryptCertStore); + method public void checkClientTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException; + method public void checkClientTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException; + method public void checkClientTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException; + method public java.util.List<java.security.cert.X509Certificate> checkServerTrusted(java.security.cert.X509Certificate[], String, String) throws java.security.cert.CertificateException; + method public java.util.List<java.security.cert.X509Certificate> getTrustedChainForServer(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException; + method public java.util.List<java.security.cert.X509Certificate> getTrustedChainForServer(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException; + method public void handleTrustStorageUpdate(); + } + + public final class TrustedCertificateIndex { + ctor public TrustedCertificateIndex(); + method public java.util.Set<java.security.cert.TrustAnchor> findAllByIssuerAndSignature(java.security.cert.X509Certificate); + method public java.security.cert.TrustAnchor findByIssuerAndSignature(java.security.cert.X509Certificate); + method public java.security.cert.TrustAnchor findBySubjectAndPublicKey(java.security.cert.X509Certificate); + method public java.security.cert.TrustAnchor index(java.security.cert.X509Certificate); + } + + public class TrustedCertificateStore implements com.android.org.conscrypt.ConscryptCertStore { + ctor public TrustedCertificateStore(); + method public java.util.Set<java.lang.String> aliases(); + method public java.util.Set<java.lang.String> allSystemAliases(); + method public boolean containsAlias(String); + method public void deleteCertificateEntry(String) throws java.security.cert.CertificateException, java.io.IOException; + method public java.util.Set<java.security.cert.X509Certificate> findAllIssuers(java.security.cert.X509Certificate); + method public java.security.cert.X509Certificate findIssuer(java.security.cert.X509Certificate); + method public java.security.cert.Certificate getCertificate(String); + method public java.security.cert.Certificate getCertificate(String, boolean); + method public String getCertificateAlias(java.security.cert.Certificate); + method public String getCertificateAlias(java.security.cert.Certificate, boolean); + method public java.util.List<java.security.cert.X509Certificate> getCertificateChain(java.security.cert.X509Certificate) throws java.security.cert.CertificateException; + method public java.io.File getCertificateFile(java.io.File, java.security.cert.X509Certificate); + method public java.util.Date getCreationDate(String); + method public java.security.cert.X509Certificate getTrustAnchor(java.security.cert.X509Certificate); + method public void installCertificate(java.security.cert.X509Certificate) throws java.security.cert.CertificateException, java.io.IOException; + method public static final boolean isUser(String); + method public boolean isUserAddedCertificate(java.security.cert.X509Certificate); + method public static void setDefaultUserDirectory(java.io.File); + method public java.util.Set<java.lang.String> userAliases(); + } + +} + diff --git a/extensions/3/public/api/conscrypt.module.public.api-removed.txt b/extensions/3/public/api/conscrypt.module.public.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/conscrypt.module.public.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/conscrypt.module.public.api.txt b/extensions/3/public/api/conscrypt.module.public.api.txt new file mode 100644 index 000000000..809495c04 --- /dev/null +++ b/extensions/3/public/api/conscrypt.module.public.api.txt @@ -0,0 +1,17 @@ +// Signature format: 2.0 +package android.net.ssl { + + public class SSLEngines { + method @Nullable public static byte[] exportKeyingMaterial(@NonNull javax.net.ssl.SSLEngine, @NonNull String, @Nullable byte[], int) throws javax.net.ssl.SSLException; + method public static boolean isSupportedEngine(@NonNull javax.net.ssl.SSLEngine); + method public static void setUseSessionTickets(@NonNull javax.net.ssl.SSLEngine, boolean); + } + + public class SSLSockets { + method @Nullable public static byte[] exportKeyingMaterial(@NonNull javax.net.ssl.SSLSocket, @NonNull String, @Nullable byte[], int) throws javax.net.ssl.SSLException; + method public static boolean isSupportedSocket(@NonNull javax.net.ssl.SSLSocket); + method public static void setUseSessionTickets(@NonNull javax.net.ssl.SSLSocket, boolean); + } + +} + diff --git a/extensions/3/public/api/framework-adservices-removed.txt b/extensions/3/public/api/framework-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-adservices.txt b/extensions/3/public/api/framework-adservices.txt new file mode 100644 index 000000000..8374d753e --- /dev/null +++ b/extensions/3/public/api/framework-adservices.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.adservices { + + public class AdServicesVersion { + field public static final int API_VERSION; + } + +} + diff --git a/extensions/3/public/api/framework-appsearch-removed.txt b/extensions/3/public/api/framework-appsearch-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-appsearch-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-appsearch.txt b/extensions/3/public/api/framework-appsearch.txt new file mode 100644 index 000000000..5aea80f77 --- /dev/null +++ b/extensions/3/public/api/framework-appsearch.txt @@ -0,0 +1,518 @@ +// Signature format: 2.0 +package android.app.appsearch { + + public final class AppSearchBatchResult<KeyType, ValueType> { + method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getAll(); + method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getFailures(); + method @NonNull public java.util.Map<KeyType,ValueType> getSuccesses(); + method public boolean isSuccess(); + } + + public static final class AppSearchBatchResult.Builder<KeyType, ValueType> { + ctor public AppSearchBatchResult.Builder(); + method @NonNull public android.app.appsearch.AppSearchBatchResult<KeyType,ValueType> build(); + method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setFailure(@NonNull KeyType, int, @Nullable String); + method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setResult(@NonNull KeyType, @NonNull android.app.appsearch.AppSearchResult<ValueType>); + method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setSuccess(@NonNull KeyType, @Nullable ValueType); + } + + public class AppSearchManager { + method public void createGlobalSearchSession(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GlobalSearchSession>>); + method public void createSearchSession(@NonNull android.app.appsearch.AppSearchManager.SearchContext, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.AppSearchSession>>); + } + + public static final class AppSearchManager.SearchContext { + method @NonNull public String getDatabaseName(); + } + + public static final class AppSearchManager.SearchContext.Builder { + ctor public AppSearchManager.SearchContext.Builder(@NonNull String); + method @NonNull public android.app.appsearch.AppSearchManager.SearchContext build(); + } + + public final class AppSearchResult<ValueType> { + method @Nullable public String getErrorMessage(); + method public int getResultCode(); + method @Nullable public ValueType getResultValue(); + method public boolean isSuccess(); + method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newFailedResult(int, @Nullable String); + method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newSuccessfulResult(@Nullable ValueType); + field public static final int RESULT_INTERNAL_ERROR = 2; // 0x2 + field public static final int RESULT_INVALID_ARGUMENT = 3; // 0x3 + field public static final int RESULT_INVALID_SCHEMA = 7; // 0x7 + field public static final int RESULT_IO_ERROR = 4; // 0x4 + field public static final int RESULT_NOT_FOUND = 6; // 0x6 + field public static final int RESULT_OK = 0; // 0x0 + field public static final int RESULT_OUT_OF_SPACE = 5; // 0x5 + field public static final int RESULT_SECURITY_ERROR = 8; // 0x8 + field public static final int RESULT_UNKNOWN_ERROR = 1; // 0x1 + } + + public final class AppSearchSchema { + method @NonNull public java.util.List<android.app.appsearch.AppSearchSchema.PropertyConfig> getProperties(); + method @NonNull public String getSchemaType(); + } + + public static final class AppSearchSchema.BooleanPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig { + } + + public static final class AppSearchSchema.BooleanPropertyConfig.Builder { + ctor public AppSearchSchema.BooleanPropertyConfig.Builder(@NonNull String); + method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig build(); + method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder setCardinality(int); + } + + public static final class AppSearchSchema.Builder { + ctor public AppSearchSchema.Builder(@NonNull String); + method @NonNull public android.app.appsearch.AppSearchSchema.Builder addProperty(@NonNull android.app.appsearch.AppSearchSchema.PropertyConfig); + method @NonNull public android.app.appsearch.AppSearchSchema build(); + } + + public static final class AppSearchSchema.BytesPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig { + } + + public static final class AppSearchSchema.BytesPropertyConfig.Builder { + ctor public AppSearchSchema.BytesPropertyConfig.Builder(@NonNull String); + method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig build(); + method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder setCardinality(int); + } + + public static final class AppSearchSchema.DocumentPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig { + method @NonNull public String getSchemaType(); + method public boolean shouldIndexNestedProperties(); + } + + public static final class AppSearchSchema.DocumentPropertyConfig.Builder { + ctor public AppSearchSchema.DocumentPropertyConfig.Builder(@NonNull String, @NonNull String); + method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig build(); + method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setCardinality(int); + method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setShouldIndexNestedProperties(boolean); + } + + public static final class AppSearchSchema.DoublePropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig { + } + + public static final class AppSearchSchema.DoublePropertyConfig.Builder { + ctor public AppSearchSchema.DoublePropertyConfig.Builder(@NonNull String); + method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig build(); + method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder setCardinality(int); + } + + public static final class AppSearchSchema.LongPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig { + } + + public static final class AppSearchSchema.LongPropertyConfig.Builder { + ctor public AppSearchSchema.LongPropertyConfig.Builder(@NonNull String); + method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig build(); + method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder setCardinality(int); + } + + public abstract static class AppSearchSchema.PropertyConfig { + method public int getCardinality(); + method @NonNull public String getName(); + field public static final int CARDINALITY_OPTIONAL = 2; // 0x2 + field public static final int CARDINALITY_REPEATED = 1; // 0x1 + field public static final int CARDINALITY_REQUIRED = 3; // 0x3 + } + + public static final class AppSearchSchema.StringPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig { + method public int getIndexingType(); + method public int getTokenizerType(); + field public static final int INDEXING_TYPE_EXACT_TERMS = 1; // 0x1 + field public static final int INDEXING_TYPE_NONE = 0; // 0x0 + field public static final int INDEXING_TYPE_PREFIXES = 2; // 0x2 + field public static final int TOKENIZER_TYPE_NONE = 0; // 0x0 + field public static final int TOKENIZER_TYPE_PLAIN = 1; // 0x1 + } + + public static final class AppSearchSchema.StringPropertyConfig.Builder { + ctor public AppSearchSchema.StringPropertyConfig.Builder(@NonNull String); + method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig build(); + method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setCardinality(int); + method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setIndexingType(int); + method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setTokenizerType(int); + } + + public final class AppSearchSession implements java.io.Closeable { + method public void close(); + method public void getByDocumentId(@NonNull android.app.appsearch.GetByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,android.app.appsearch.GenericDocument>); + method public void getNamespaces(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.Set<java.lang.String>>>); + method public void getSchema(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GetSchemaResponse>>); + method public void getStorageInfo(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.StorageInfo>>); + method public void put(@NonNull android.app.appsearch.PutDocumentsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>); + method public void remove(@NonNull android.app.appsearch.RemoveByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>); + method public void remove(@NonNull String, @NonNull android.app.appsearch.SearchSpec, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>); + method public void reportUsage(@NonNull android.app.appsearch.ReportUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>); + method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec); + method public void setSchema(@NonNull android.app.appsearch.SetSchemaRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.SetSchemaResponse>>); + } + + public interface BatchResultCallback<KeyType, ValueType> { + method public void onResult(@NonNull android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>); + method public default void onSystemError(@Nullable Throwable); + } + + public class GenericDocument { + ctor protected GenericDocument(@NonNull android.app.appsearch.GenericDocument); + method public long getCreationTimestampMillis(); + method @NonNull public String getId(); + method public static int getMaxIndexedProperties(); + method @NonNull public String getNamespace(); + method @Nullable public Object getProperty(@NonNull String); + method public boolean getPropertyBoolean(@NonNull String); + method @Nullable public boolean[] getPropertyBooleanArray(@NonNull String); + method @Nullable public byte[] getPropertyBytes(@NonNull String); + method @Nullable public byte[][] getPropertyBytesArray(@NonNull String); + method @Nullable public android.app.appsearch.GenericDocument getPropertyDocument(@NonNull String); + method @Nullable public android.app.appsearch.GenericDocument[] getPropertyDocumentArray(@NonNull String); + method public double getPropertyDouble(@NonNull String); + method @Nullable public double[] getPropertyDoubleArray(@NonNull String); + method public long getPropertyLong(@NonNull String); + method @Nullable public long[] getPropertyLongArray(@NonNull String); + method @NonNull public java.util.Set<java.lang.String> getPropertyNames(); + method @Nullable public String getPropertyString(@NonNull String); + method @Nullable public String[] getPropertyStringArray(@NonNull String); + method @NonNull public String getSchemaType(); + method public int getScore(); + method public long getTtlMillis(); + } + + public static class GenericDocument.Builder<BuilderType extends android.app.appsearch.GenericDocument.Builder> { + ctor public GenericDocument.Builder(@NonNull String, @NonNull String, @NonNull String); + method @NonNull public android.app.appsearch.GenericDocument build(); + method @NonNull public BuilderType setCreationTimestampMillis(long); + method @NonNull public BuilderType setPropertyBoolean(@NonNull String, @NonNull boolean...); + method @NonNull public BuilderType setPropertyBytes(@NonNull String, @NonNull byte[]...); + method @NonNull public BuilderType setPropertyDocument(@NonNull String, @NonNull android.app.appsearch.GenericDocument...); + method @NonNull public BuilderType setPropertyDouble(@NonNull String, @NonNull double...); + method @NonNull public BuilderType setPropertyLong(@NonNull String, @NonNull long...); + method @NonNull public BuilderType setPropertyString(@NonNull String, @NonNull java.lang.String...); + method @NonNull public BuilderType setScore(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int); + method @NonNull public BuilderType setTtlMillis(long); + } + + public final class GetByDocumentIdRequest { + method @NonNull public java.util.Set<java.lang.String> getIds(); + method @NonNull public String getNamespace(); + method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections(); + field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*"; + } + + public static final class GetByDocumentIdRequest.Builder { + ctor public GetByDocumentIdRequest.Builder(@NonNull String); + method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...); + method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.GetByDocumentIdRequest build(); + } + + public final class GetSchemaResponse { + method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.util.Set<java.lang.Integer>>> getRequiredPermissionsForSchemaTypeVisibility(); + method @NonNull public java.util.Set<java.lang.String> getSchemaTypesNotDisplayedBySystem(); + method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemaTypesVisibleToPackages(); + method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas(); + method @IntRange(from=0) public int getVersion(); + } + + public static final class GetSchemaResponse.Builder { + ctor public GetSchemaResponse.Builder(); + method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchema(@NonNull android.app.appsearch.AppSearchSchema); + method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchemaTypeNotDisplayedBySystem(@NonNull String); + method @NonNull public android.app.appsearch.GetSchemaResponse build(); + method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setRequiredPermissionsForSchemaTypeVisibility(@NonNull String, @NonNull java.util.Set<java.util.Set<java.lang.Integer>>); + method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setSchemaTypeVisibleToPackages(@NonNull String, @NonNull java.util.Set<android.app.appsearch.PackageIdentifier>); + method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setVersion(@IntRange(from=0) int); + } + + public class GlobalSearchSession implements java.io.Closeable { + method public void close(); + method public void getByDocumentId(@NonNull String, @NonNull String, @NonNull android.app.appsearch.GetByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,android.app.appsearch.GenericDocument>); + method public void getSchema(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GetSchemaResponse>>); + method public void registerObserverCallback(@NonNull String, @NonNull android.app.appsearch.observer.ObserverSpec, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.observer.ObserverCallback) throws android.app.appsearch.exceptions.AppSearchException; + method public void reportSystemUsage(@NonNull android.app.appsearch.ReportSystemUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>); + method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec); + method public void unregisterObserverCallback(@NonNull String, @NonNull android.app.appsearch.observer.ObserverCallback) throws android.app.appsearch.exceptions.AppSearchException; + } + + public abstract class Migrator { + ctor public Migrator(); + method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onDowngrade(int, int, @NonNull android.app.appsearch.GenericDocument); + method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onUpgrade(int, int, @NonNull android.app.appsearch.GenericDocument); + method public abstract boolean shouldMigrate(int, int); + } + + public class PackageIdentifier { + ctor public PackageIdentifier(@NonNull String, @NonNull byte[]); + method @NonNull public String getPackageName(); + method @NonNull public byte[] getSha256Certificate(); + } + + public final class PutDocumentsRequest { + method @NonNull public java.util.List<android.app.appsearch.GenericDocument> getGenericDocuments(); + } + + public static final class PutDocumentsRequest.Builder { + ctor public PutDocumentsRequest.Builder(); + method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull android.app.appsearch.GenericDocument...); + method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull java.util.Collection<? extends android.app.appsearch.GenericDocument>); + method @NonNull public android.app.appsearch.PutDocumentsRequest build(); + } + + public final class RemoveByDocumentIdRequest { + method @NonNull public java.util.Set<java.lang.String> getIds(); + method @NonNull public String getNamespace(); + } + + public static final class RemoveByDocumentIdRequest.Builder { + ctor public RemoveByDocumentIdRequest.Builder(@NonNull String); + method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...); + method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest build(); + } + + public final class ReportSystemUsageRequest { + method @NonNull public String getDatabaseName(); + method @NonNull public String getDocumentId(); + method @NonNull public String getNamespace(); + method @NonNull public String getPackageName(); + method public long getUsageTimestampMillis(); + } + + public static final class ReportSystemUsageRequest.Builder { + ctor public ReportSystemUsageRequest.Builder(@NonNull String, @NonNull String, @NonNull String, @NonNull String); + method @NonNull public android.app.appsearch.ReportSystemUsageRequest build(); + method @NonNull public android.app.appsearch.ReportSystemUsageRequest.Builder setUsageTimestampMillis(long); + } + + public final class ReportUsageRequest { + method @NonNull public String getDocumentId(); + method @NonNull public String getNamespace(); + method public long getUsageTimestampMillis(); + } + + public static final class ReportUsageRequest.Builder { + ctor public ReportUsageRequest.Builder(@NonNull String, @NonNull String); + method @NonNull public android.app.appsearch.ReportUsageRequest build(); + method @NonNull public android.app.appsearch.ReportUsageRequest.Builder setUsageTimestampMillis(long); + } + + public final class SearchResult { + method @NonNull public String getDatabaseName(); + method @NonNull public android.app.appsearch.GenericDocument getGenericDocument(); + method @NonNull public java.util.List<android.app.appsearch.SearchResult.MatchInfo> getMatchInfos(); + method @NonNull public String getPackageName(); + method public double getRankingSignal(); + } + + public static final class SearchResult.Builder { + ctor public SearchResult.Builder(@NonNull String, @NonNull String); + method @NonNull public android.app.appsearch.SearchResult.Builder addMatchInfo(@NonNull android.app.appsearch.SearchResult.MatchInfo); + method @NonNull public android.app.appsearch.SearchResult build(); + method @NonNull public android.app.appsearch.SearchResult.Builder setGenericDocument(@NonNull android.app.appsearch.GenericDocument); + method @NonNull public android.app.appsearch.SearchResult.Builder setRankingSignal(double); + } + + public static final class SearchResult.MatchInfo { + method @NonNull public CharSequence getExactMatch(); + method @NonNull public android.app.appsearch.SearchResult.MatchRange getExactMatchRange(); + method @NonNull public String getFullText(); + method @NonNull public String getPropertyPath(); + method @NonNull public CharSequence getSnippet(); + method @NonNull public android.app.appsearch.SearchResult.MatchRange getSnippetRange(); + method @NonNull public CharSequence getSubmatch(); + method @NonNull public android.app.appsearch.SearchResult.MatchRange getSubmatchRange(); + } + + public static final class SearchResult.MatchInfo.Builder { + ctor public SearchResult.MatchInfo.Builder(@NonNull String); + method @NonNull public android.app.appsearch.SearchResult.MatchInfo build(); + method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setExactMatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange); + method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSnippetRange(@NonNull android.app.appsearch.SearchResult.MatchRange); + method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSubmatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange); + } + + public static final class SearchResult.MatchRange { + ctor public SearchResult.MatchRange(int, int); + method public int getEnd(); + method public int getStart(); + } + + public class SearchResults implements java.io.Closeable { + method public void close(); + method public void getNextPage(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.List<android.app.appsearch.SearchResult>>>); + } + + public final class SearchSpec { + method @NonNull public java.util.List<java.lang.String> getFilterNamespaces(); + method @NonNull public java.util.List<java.lang.String> getFilterPackageNames(); + method @NonNull public java.util.List<java.lang.String> getFilterSchemas(); + method public int getMaxSnippetSize(); + method public int getOrder(); + method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections(); + method public int getRankingStrategy(); + method public int getResultCountPerPage(); + method public int getResultGroupingLimit(); + method public int getResultGroupingTypeFlags(); + method public int getSnippetCount(); + method public int getSnippetCountPerProperty(); + method public int getTermMatch(); + field public static final int GROUPING_TYPE_PER_NAMESPACE = 2; // 0x2 + field public static final int GROUPING_TYPE_PER_PACKAGE = 1; // 0x1 + field public static final int ORDER_ASCENDING = 1; // 0x1 + field public static final int ORDER_DESCENDING = 0; // 0x0 + field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*"; + field public static final int RANKING_STRATEGY_CREATION_TIMESTAMP = 2; // 0x2 + field public static final int RANKING_STRATEGY_DOCUMENT_SCORE = 1; // 0x1 + field public static final int RANKING_STRATEGY_NONE = 0; // 0x0 + field public static final int RANKING_STRATEGY_RELEVANCE_SCORE = 3; // 0x3 + field public static final int RANKING_STRATEGY_SYSTEM_USAGE_COUNT = 6; // 0x6 + field public static final int RANKING_STRATEGY_SYSTEM_USAGE_LAST_USED_TIMESTAMP = 7; // 0x7 + field public static final int RANKING_STRATEGY_USAGE_COUNT = 4; // 0x4 + field public static final int RANKING_STRATEGY_USAGE_LAST_USED_TIMESTAMP = 5; // 0x5 + field public static final int TERM_MATCH_EXACT_ONLY = 1; // 0x1 + field public static final int TERM_MATCH_PREFIX = 2; // 0x2 + } + + public static final class SearchSpec.Builder { + ctor public SearchSpec.Builder(); + method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.lang.String...); + method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.lang.String...); + method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.lang.String...); + method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.SearchSpec.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.SearchSpec build(); + method @NonNull public android.app.appsearch.SearchSpec.Builder setMaxSnippetSize(@IntRange(from=0, to=0x2710) int); + method @NonNull public android.app.appsearch.SearchSpec.Builder setOrder(int); + method @NonNull public android.app.appsearch.SearchSpec.Builder setRankingStrategy(int); + method @NonNull public android.app.appsearch.SearchSpec.Builder setResultCountPerPage(@IntRange(from=0, to=0x2710) int); + method @NonNull public android.app.appsearch.SearchSpec.Builder setResultGrouping(int, int); + method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCount(@IntRange(from=0, to=0x2710) int); + method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCountPerProperty(@IntRange(from=0, to=0x2710) int); + method @NonNull public android.app.appsearch.SearchSpec.Builder setTermMatch(int); + } + + public final class SetSchemaRequest { + method @NonNull public java.util.Map<java.lang.String,android.app.appsearch.Migrator> getMigrators(); + method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.util.Set<java.lang.Integer>>> getRequiredPermissionsForSchemaTypeVisibility(); + method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas(); + method @NonNull public java.util.Set<java.lang.String> getSchemasNotDisplayedBySystem(); + method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemasVisibleToPackages(); + method @IntRange(from=1) public int getVersion(); + method public boolean isForceOverride(); + field public static final int READ_ASSISTANT_APP_SEARCH_DATA = 6; // 0x6 + field public static final int READ_CALENDAR = 2; // 0x2 + field public static final int READ_CONTACTS = 3; // 0x3 + field public static final int READ_EXTERNAL_STORAGE = 4; // 0x4 + field public static final int READ_HOME_APP_SEARCH_DATA = 5; // 0x5 + field public static final int READ_SMS = 1; // 0x1 + } + + public static final class SetSchemaRequest.Builder { + ctor public SetSchemaRequest.Builder(); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addRequiredPermissionsForSchemaTypeVisibility(@NonNull String, @NonNull java.util.Set<java.lang.Integer>); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull android.app.appsearch.AppSearchSchema...); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull java.util.Collection<android.app.appsearch.AppSearchSchema>); + method @NonNull public android.app.appsearch.SetSchemaRequest build(); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder clearRequiredPermissionsForSchemaTypeVisibility(@NonNull String); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setForceOverride(boolean); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrator(@NonNull String, @NonNull android.app.appsearch.Migrator); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrators(@NonNull java.util.Map<java.lang.String,android.app.appsearch.Migrator>); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeDisplayedBySystem(@NonNull String, boolean); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeVisibilityForPackage(@NonNull String, boolean, @NonNull android.app.appsearch.PackageIdentifier); + method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setVersion(@IntRange(from=1) int); + } + + public class SetSchemaResponse { + method @NonNull public java.util.Set<java.lang.String> getDeletedTypes(); + method @NonNull public java.util.Set<java.lang.String> getIncompatibleTypes(); + method @NonNull public java.util.Set<java.lang.String> getMigratedTypes(); + method @NonNull public java.util.List<android.app.appsearch.SetSchemaResponse.MigrationFailure> getMigrationFailures(); + } + + public static final class SetSchemaResponse.Builder { + ctor public SetSchemaResponse.Builder(); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedType(@NonNull String); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedTypes(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleType(@NonNull String); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleTypes(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedType(@NonNull String); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedTypes(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailure(@NonNull android.app.appsearch.SetSchemaResponse.MigrationFailure); + method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailures(@NonNull java.util.Collection<android.app.appsearch.SetSchemaResponse.MigrationFailure>); + method @NonNull public android.app.appsearch.SetSchemaResponse build(); + } + + public static class SetSchemaResponse.MigrationFailure { + ctor public SetSchemaResponse.MigrationFailure(@NonNull String, @NonNull String, @NonNull String, @NonNull android.app.appsearch.AppSearchResult<?>); + method @NonNull public android.app.appsearch.AppSearchResult<java.lang.Void> getAppSearchResult(); + method @NonNull public String getDocumentId(); + method @NonNull public String getNamespace(); + method @NonNull public String getSchemaType(); + } + + public class StorageInfo { + method public int getAliveDocumentsCount(); + method public int getAliveNamespacesCount(); + method public long getSizeBytes(); + } + + public static final class StorageInfo.Builder { + ctor public StorageInfo.Builder(); + method @NonNull public android.app.appsearch.StorageInfo build(); + method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveDocumentsCount(int); + method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveNamespacesCount(int); + method @NonNull public android.app.appsearch.StorageInfo.Builder setSizeBytes(long); + } + +} + +package android.app.appsearch.exceptions { + + public class AppSearchException extends java.lang.Exception { + ctor public AppSearchException(int); + ctor public AppSearchException(int, @Nullable String); + ctor public AppSearchException(int, @Nullable String, @Nullable Throwable); + method public int getResultCode(); + method @NonNull public <T> android.app.appsearch.AppSearchResult<T> toAppSearchResult(); + } + +} + +package android.app.appsearch.observer { + + public final class DocumentChangeInfo { + ctor public DocumentChangeInfo(@NonNull String, @NonNull String, @NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>); + method @NonNull public java.util.Set<java.lang.String> getChangedDocumentIds(); + method @NonNull public String getDatabaseName(); + method @NonNull public String getNamespace(); + method @NonNull public String getPackageName(); + method @NonNull public String getSchemaName(); + } + + public interface ObserverCallback { + method public void onDocumentChanged(@NonNull android.app.appsearch.observer.DocumentChangeInfo); + method public void onSchemaChanged(@NonNull android.app.appsearch.observer.SchemaChangeInfo); + } + + public final class ObserverSpec { + method @NonNull public java.util.Set<java.lang.String> getFilterSchemas(); + } + + public static final class ObserverSpec.Builder { + ctor public ObserverSpec.Builder(); + method @NonNull public android.app.appsearch.observer.ObserverSpec.Builder addFilterSchemas(@NonNull java.lang.String...); + method @NonNull public android.app.appsearch.observer.ObserverSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>); + method @NonNull public android.app.appsearch.observer.ObserverSpec build(); + } + + public final class SchemaChangeInfo { + ctor public SchemaChangeInfo(@NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>); + method @NonNull public java.util.Set<java.lang.String> getChangedSchemaNames(); + method @NonNull public String getDatabaseName(); + method @NonNull public String getPackageName(); + } + +} + diff --git a/extensions/3/public/api/framework-connectivity-removed.txt b/extensions/3/public/api/framework-connectivity-removed.txt new file mode 100644 index 000000000..303a1e617 --- /dev/null +++ b/extensions/3/public/api/framework-connectivity-removed.txt @@ -0,0 +1,11 @@ +// Signature format: 2.0 +package android.net { + + public class ConnectivityManager { + method @Deprecated public boolean requestRouteToHost(int, int); + method @Deprecated public int startUsingNetworkFeature(int, String); + method @Deprecated public int stopUsingNetworkFeature(int, String); + } + +} + diff --git a/extensions/3/public/api/framework-connectivity-t-removed.txt b/extensions/3/public/api/framework-connectivity-t-removed.txt new file mode 100644 index 000000000..1ba87d8a2 --- /dev/null +++ b/extensions/3/public/api/framework-connectivity-t-removed.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.net { + + public class TrafficStats { + method @Deprecated public static void setThreadStatsUidSelf(); + } + +} + diff --git a/extensions/3/public/api/framework-connectivity-t.txt b/extensions/3/public/api/framework-connectivity-t.txt new file mode 100644 index 000000000..eb77288c7 --- /dev/null +++ b/extensions/3/public/api/framework-connectivity-t.txt @@ -0,0 +1,251 @@ +// Signature format: 2.0 +package android.app.usage { + + public final class NetworkStats implements java.lang.AutoCloseable { + method public void close(); + method public boolean getNextBucket(@Nullable android.app.usage.NetworkStats.Bucket); + method public boolean hasNextBucket(); + } + + public static class NetworkStats.Bucket { + ctor public NetworkStats.Bucket(); + method public int getDefaultNetworkStatus(); + method public long getEndTimeStamp(); + method public int getMetered(); + method public int getRoaming(); + method public long getRxBytes(); + method public long getRxPackets(); + method public long getStartTimeStamp(); + method public int getState(); + method public int getTag(); + method public long getTxBytes(); + method public long getTxPackets(); + method public int getUid(); + field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff + field public static final int DEFAULT_NETWORK_NO = 1; // 0x1 + field public static final int DEFAULT_NETWORK_YES = 2; // 0x2 + field public static final int METERED_ALL = -1; // 0xffffffff + field public static final int METERED_NO = 1; // 0x1 + field public static final int METERED_YES = 2; // 0x2 + field public static final int ROAMING_ALL = -1; // 0xffffffff + field public static final int ROAMING_NO = 1; // 0x1 + field public static final int ROAMING_YES = 2; // 0x2 + field public static final int STATE_ALL = -1; // 0xffffffff + field public static final int STATE_DEFAULT = 1; // 0x1 + field public static final int STATE_FOREGROUND = 2; // 0x2 + field public static final int TAG_NONE = 0; // 0x0 + field public static final int UID_ALL = -1; // 0xffffffff + field public static final int UID_REMOVED = -4; // 0xfffffffc + field public static final int UID_TETHERING = -5; // 0xfffffffb + } + + public class NetworkStatsManager { + method @WorkerThread public android.app.usage.NetworkStats queryDetails(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUid(int, @Nullable String, long, long, int) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTag(int, @Nullable String, long, long, int, int) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTagState(int, @Nullable String, long, long, int, int, int) throws java.lang.SecurityException; + method @WorkerThread public android.app.usage.NetworkStats querySummary(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForDevice(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method public void registerUsageCallback(int, @Nullable String, long, @NonNull android.app.usage.NetworkStatsManager.UsageCallback); + method public void registerUsageCallback(int, @Nullable String, long, @NonNull android.app.usage.NetworkStatsManager.UsageCallback, @Nullable android.os.Handler); + method public void unregisterUsageCallback(@NonNull android.app.usage.NetworkStatsManager.UsageCallback); + } + + public abstract static class NetworkStatsManager.UsageCallback { + ctor public NetworkStatsManager.UsageCallback(); + method public abstract void onThresholdReached(int, @Nullable String); + } + +} + +package android.net { + + public final class EthernetNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable { + ctor public EthernetNetworkSpecifier(@NonNull String); + method public int describeContents(); + method @Nullable public String getInterfaceName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkSpecifier> CREATOR; + } + + public final class IpSecAlgorithm implements android.os.Parcelable { + ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[]); + ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[], int); + method public int describeContents(); + method @NonNull public byte[] getKey(); + method @NonNull public String getName(); + method @NonNull public static java.util.Set<java.lang.String> getSupportedAlgorithms(); + method public int getTruncationLengthBits(); + method public void writeToParcel(android.os.Parcel, int); + field public static final String AUTH_AES_CMAC = "cmac(aes)"; + field public static final String AUTH_AES_XCBC = "xcbc(aes)"; + field public static final String AUTH_CRYPT_AES_GCM = "rfc4106(gcm(aes))"; + field public static final String AUTH_CRYPT_CHACHA20_POLY1305 = "rfc7539esp(chacha20,poly1305)"; + field public static final String AUTH_HMAC_MD5 = "hmac(md5)"; + field public static final String AUTH_HMAC_SHA1 = "hmac(sha1)"; + field public static final String AUTH_HMAC_SHA256 = "hmac(sha256)"; + field public static final String AUTH_HMAC_SHA384 = "hmac(sha384)"; + field public static final String AUTH_HMAC_SHA512 = "hmac(sha512)"; + field @NonNull public static final android.os.Parcelable.Creator<android.net.IpSecAlgorithm> CREATOR; + field public static final String CRYPT_AES_CBC = "cbc(aes)"; + field public static final String CRYPT_AES_CTR = "rfc3686(ctr(aes))"; + } + + public class IpSecManager { + method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress) throws android.net.IpSecManager.ResourceUnavailableException; + method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress, int) throws android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; + method public void applyTransportModeTransform(@NonNull java.net.Socket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; + method public void applyTransportModeTransform(@NonNull java.net.DatagramSocket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; + method public void applyTransportModeTransform(@NonNull java.io.FileDescriptor, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; + method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket(int) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException; + method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket() throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException; + method public void removeTransportModeTransforms(@NonNull java.net.Socket) throws java.io.IOException; + method public void removeTransportModeTransforms(@NonNull java.net.DatagramSocket) throws java.io.IOException; + method public void removeTransportModeTransforms(@NonNull java.io.FileDescriptor) throws java.io.IOException; + field public static final int DIRECTION_IN = 0; // 0x0 + field public static final int DIRECTION_OUT = 1; // 0x1 + } + + public static final class IpSecManager.ResourceUnavailableException extends android.util.AndroidException { + } + + public static final class IpSecManager.SecurityParameterIndex implements java.lang.AutoCloseable { + method public void close(); + method public int getSpi(); + } + + public static final class IpSecManager.SpiUnavailableException extends android.util.AndroidException { + method public int getSpi(); + } + + public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable { + method public void close() throws java.io.IOException; + method public java.io.FileDescriptor getFileDescriptor(); + method public int getPort(); + } + + public final class IpSecTransform implements java.lang.AutoCloseable { + method public void close(); + } + + public static class IpSecTransform.Builder { + ctor public IpSecTransform.Builder(@NonNull android.content.Context); + method @NonNull public android.net.IpSecTransform buildTransportModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; + method @NonNull public android.net.IpSecTransform.Builder setAuthenticatedEncryption(@NonNull android.net.IpSecAlgorithm); + method @NonNull public android.net.IpSecTransform.Builder setAuthentication(@NonNull android.net.IpSecAlgorithm); + method @NonNull public android.net.IpSecTransform.Builder setEncryption(@NonNull android.net.IpSecAlgorithm); + method @NonNull public android.net.IpSecTransform.Builder setIpv4Encapsulation(@NonNull android.net.IpSecManager.UdpEncapsulationSocket, int); + } + + public class TrafficStats { + ctor public TrafficStats(); + method public static void clearThreadStatsTag(); + method public static void clearThreadStatsUid(); + method public static int getAndSetThreadStatsTag(int); + method public static long getMobileRxBytes(); + method public static long getMobileRxPackets(); + method public static long getMobileTxBytes(); + method public static long getMobileTxPackets(); + method public static long getRxBytes(@NonNull String); + method public static long getRxPackets(@NonNull String); + method public static int getThreadStatsTag(); + method public static int getThreadStatsUid(); + method public static long getTotalRxBytes(); + method public static long getTotalRxPackets(); + method public static long getTotalTxBytes(); + method public static long getTotalTxPackets(); + method public static long getTxBytes(@NonNull String); + method public static long getTxPackets(@NonNull String); + method public static long getUidRxBytes(int); + method public static long getUidRxPackets(int); + method @Deprecated public static long getUidTcpRxBytes(int); + method @Deprecated public static long getUidTcpRxSegments(int); + method @Deprecated public static long getUidTcpTxBytes(int); + method @Deprecated public static long getUidTcpTxSegments(int); + method public static long getUidTxBytes(int); + method public static long getUidTxPackets(int); + method @Deprecated public static long getUidUdpRxBytes(int); + method @Deprecated public static long getUidUdpRxPackets(int); + method @Deprecated public static long getUidUdpTxBytes(int); + method @Deprecated public static long getUidUdpTxPackets(int); + method public static void incrementOperationCount(int); + method public static void incrementOperationCount(int, int); + method public static void setThreadStatsTag(int); + method public static void setThreadStatsUid(int); + method public static void tagDatagramSocket(@NonNull java.net.DatagramSocket) throws java.net.SocketException; + method public static void tagFileDescriptor(@NonNull java.io.FileDescriptor) throws java.io.IOException; + method public static void tagSocket(@NonNull java.net.Socket) throws java.net.SocketException; + method public static void untagDatagramSocket(@NonNull java.net.DatagramSocket) throws java.net.SocketException; + method public static void untagFileDescriptor(@NonNull java.io.FileDescriptor) throws java.io.IOException; + method public static void untagSocket(@NonNull java.net.Socket) throws java.net.SocketException; + field public static final int UNSUPPORTED = -1; // 0xffffffff + } + +} + +package android.net.nsd { + + public final class NsdManager { + method public void discoverServices(String, int, android.net.nsd.NsdManager.DiscoveryListener); + method public void discoverServices(@NonNull String, int, @Nullable android.net.Network, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.DiscoveryListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void discoverServices(@NonNull String, int, @NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.DiscoveryListener); + method public void registerService(android.net.nsd.NsdServiceInfo, int, android.net.nsd.NsdManager.RegistrationListener); + method public void registerService(@NonNull android.net.nsd.NsdServiceInfo, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.RegistrationListener); + method public void resolveService(android.net.nsd.NsdServiceInfo, android.net.nsd.NsdManager.ResolveListener); + method public void resolveService(@NonNull android.net.nsd.NsdServiceInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.ResolveListener); + method public void stopServiceDiscovery(android.net.nsd.NsdManager.DiscoveryListener); + method public void unregisterService(android.net.nsd.NsdManager.RegistrationListener); + field public static final String ACTION_NSD_STATE_CHANGED = "android.net.nsd.STATE_CHANGED"; + field public static final String EXTRA_NSD_STATE = "nsd_state"; + field public static final int FAILURE_ALREADY_ACTIVE = 3; // 0x3 + field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0 + field public static final int FAILURE_MAX_LIMIT = 4; // 0x4 + field public static final int NSD_STATE_DISABLED = 1; // 0x1 + field public static final int NSD_STATE_ENABLED = 2; // 0x2 + field public static final int PROTOCOL_DNS_SD = 1; // 0x1 + } + + public static interface NsdManager.DiscoveryListener { + method public void onDiscoveryStarted(String); + method public void onDiscoveryStopped(String); + method public void onServiceFound(android.net.nsd.NsdServiceInfo); + method public void onServiceLost(android.net.nsd.NsdServiceInfo); + method public void onStartDiscoveryFailed(String, int); + method public void onStopDiscoveryFailed(String, int); + } + + public static interface NsdManager.RegistrationListener { + method public void onRegistrationFailed(android.net.nsd.NsdServiceInfo, int); + method public void onServiceRegistered(android.net.nsd.NsdServiceInfo); + method public void onServiceUnregistered(android.net.nsd.NsdServiceInfo); + method public void onUnregistrationFailed(android.net.nsd.NsdServiceInfo, int); + } + + public static interface NsdManager.ResolveListener { + method public void onResolveFailed(android.net.nsd.NsdServiceInfo, int); + method public void onServiceResolved(android.net.nsd.NsdServiceInfo); + } + + public final class NsdServiceInfo implements android.os.Parcelable { + ctor public NsdServiceInfo(); + method public int describeContents(); + method public java.util.Map<java.lang.String,byte[]> getAttributes(); + method public java.net.InetAddress getHost(); + method @Nullable public android.net.Network getNetwork(); + method public int getPort(); + method public String getServiceName(); + method public String getServiceType(); + method public void removeAttribute(String); + method public void setAttribute(String, String); + method public void setHost(java.net.InetAddress); + method public void setNetwork(@Nullable android.net.Network); + method public void setPort(int); + method public void setServiceName(String); + method public void setServiceType(String); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo> CREATOR; + } + +} + diff --git a/extensions/3/public/api/framework-connectivity.txt b/extensions/3/public/api/framework-connectivity.txt new file mode 100644 index 000000000..547b7e26a --- /dev/null +++ b/extensions/3/public/api/framework-connectivity.txt @@ -0,0 +1,526 @@ +// Signature format: 2.0 +package android.net { + + public class CaptivePortal implements android.os.Parcelable { + method public int describeContents(); + method public void ignoreNetwork(); + method public void reportCaptivePortalDismissed(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortal> CREATOR; + } + + public class ConnectivityDiagnosticsManager { + method public void registerConnectivityDiagnosticsCallback(@NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback); + method public void unregisterConnectivityDiagnosticsCallback(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback); + } + + public abstract static class ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback { + ctor public ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback(); + method public void onConnectivityReportAvailable(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityReport); + method public void onDataStallSuspected(@NonNull android.net.ConnectivityDiagnosticsManager.DataStallReport); + method public void onNetworkConnectivityReported(@NonNull android.net.Network, boolean); + } + + public static final class ConnectivityDiagnosticsManager.ConnectivityReport implements android.os.Parcelable { + ctor public ConnectivityDiagnosticsManager.ConnectivityReport(@NonNull android.net.Network, long, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle); + method public int describeContents(); + method @NonNull public android.os.PersistableBundle getAdditionalInfo(); + method @NonNull public android.net.LinkProperties getLinkProperties(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities(); + method public long getReportTimestamp(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.ConnectivityReport> CREATOR; + field public static final String KEY_NETWORK_PROBES_ATTEMPTED_BITMASK = "networkProbesAttempted"; + field public static final String KEY_NETWORK_PROBES_SUCCEEDED_BITMASK = "networkProbesSucceeded"; + field public static final String KEY_NETWORK_VALIDATION_RESULT = "networkValidationResult"; + field public static final int NETWORK_PROBE_DNS = 4; // 0x4 + field public static final int NETWORK_PROBE_FALLBACK = 32; // 0x20 + field public static final int NETWORK_PROBE_HTTP = 8; // 0x8 + field public static final int NETWORK_PROBE_HTTPS = 16; // 0x10 + field public static final int NETWORK_PROBE_PRIVATE_DNS = 64; // 0x40 + field public static final int NETWORK_VALIDATION_RESULT_INVALID = 0; // 0x0 + field public static final int NETWORK_VALIDATION_RESULT_PARTIALLY_VALID = 2; // 0x2 + field public static final int NETWORK_VALIDATION_RESULT_SKIPPED = 3; // 0x3 + field public static final int NETWORK_VALIDATION_RESULT_VALID = 1; // 0x1 + } + + public static final class ConnectivityDiagnosticsManager.DataStallReport implements android.os.Parcelable { + ctor public ConnectivityDiagnosticsManager.DataStallReport(@NonNull android.net.Network, long, int, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle); + method public int describeContents(); + method public int getDetectionMethod(); + method @NonNull public android.net.LinkProperties getLinkProperties(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities(); + method public long getReportTimestamp(); + method @NonNull public android.os.PersistableBundle getStallDetails(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.DataStallReport> CREATOR; + field public static final int DETECTION_METHOD_DNS_EVENTS = 1; // 0x1 + field public static final int DETECTION_METHOD_TCP_METRICS = 2; // 0x2 + field public static final String KEY_DNS_CONSECUTIVE_TIMEOUTS = "dnsConsecutiveTimeouts"; + field public static final String KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS = "tcpMetricsCollectionPeriodMillis"; + field public static final String KEY_TCP_PACKET_FAIL_RATE = "tcpPacketFailRate"; + } + + public class ConnectivityManager { + method public void addDefaultNetworkActiveListener(android.net.ConnectivityManager.OnNetworkActiveListener); + method public boolean bindProcessToNetwork(@Nullable android.net.Network); + method @NonNull public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull android.net.IpSecManager.UdpEncapsulationSocket, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network getActiveNetwork(); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getActiveNetworkInfo(); + method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo[] getAllNetworkInfo(); + method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network[] getAllNetworks(); + method @Deprecated public boolean getBackgroundDataSetting(); + method @Nullable public android.net.Network getBoundNetworkForProcess(); + method public int getConnectionOwnerUid(int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress); + method @Nullable public android.net.ProxyInfo getDefaultProxy(); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.LinkProperties getLinkProperties(@Nullable android.net.Network); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getMultipathPreference(@Nullable android.net.Network); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkCapabilities getNetworkCapabilities(@Nullable android.net.Network); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(int); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(@Nullable android.net.Network); + method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getNetworkPreference(); + method @Nullable public byte[] getNetworkWatchlistConfigHash(); + method @Deprecated @Nullable public static android.net.Network getProcessDefaultNetwork(); + method public int getRestrictBackgroundStatus(); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public boolean isActiveNetworkMetered(); + method public boolean isDefaultNetworkActive(); + method @Deprecated public static boolean isNetworkTypeValid(int); + method public void registerBestMatchingNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent); + method public void releaseNetworkRequest(@NonNull android.app.PendingIntent); + method public void removeDefaultNetworkActiveListener(@NonNull android.net.ConnectivityManager.OnNetworkActiveListener); + method @Deprecated public void reportBadNetwork(@Nullable android.net.Network); + method public void reportNetworkConnectivity(@Nullable android.net.Network, boolean); + method public boolean requestBandwidthUpdate(@NonNull android.net.Network); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, int); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler, int); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent); + method @Deprecated public void setNetworkPreference(int); + method @Deprecated public static boolean setProcessDefaultNetwork(@Nullable android.net.Network); + method public void unregisterNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback); + method public void unregisterNetworkCallback(@NonNull android.app.PendingIntent); + field @Deprecated public static final String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED"; + field public static final String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL"; + field public static final String ACTION_RESTRICT_BACKGROUND_CHANGED = "android.net.conn.RESTRICT_BACKGROUND_CHANGED"; + field @Deprecated public static final String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; + field @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = 1; // 0x1 + field public static final String EXTRA_CAPTIVE_PORTAL = "android.net.extra.CAPTIVE_PORTAL"; + field public static final String EXTRA_CAPTIVE_PORTAL_URL = "android.net.extra.CAPTIVE_PORTAL_URL"; + field @Deprecated public static final String EXTRA_EXTRA_INFO = "extraInfo"; + field @Deprecated public static final String EXTRA_IS_FAILOVER = "isFailover"; + field public static final String EXTRA_NETWORK = "android.net.extra.NETWORK"; + field @Deprecated public static final String EXTRA_NETWORK_INFO = "networkInfo"; + field public static final String EXTRA_NETWORK_REQUEST = "android.net.extra.NETWORK_REQUEST"; + field @Deprecated public static final String EXTRA_NETWORK_TYPE = "networkType"; + field public static final String EXTRA_NO_CONNECTIVITY = "noConnectivity"; + field @Deprecated public static final String EXTRA_OTHER_NETWORK_INFO = "otherNetwork"; + field public static final String EXTRA_REASON = "reason"; + field public static final int MULTIPATH_PREFERENCE_HANDOVER = 1; // 0x1 + field public static final int MULTIPATH_PREFERENCE_PERFORMANCE = 4; // 0x4 + field public static final int MULTIPATH_PREFERENCE_RELIABILITY = 2; // 0x2 + field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1 + field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3 + field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2 + field @Deprecated public static final int TYPE_BLUETOOTH = 7; // 0x7 + field @Deprecated public static final int TYPE_DUMMY = 8; // 0x8 + field @Deprecated public static final int TYPE_ETHERNET = 9; // 0x9 + field @Deprecated public static final int TYPE_MOBILE = 0; // 0x0 + field @Deprecated public static final int TYPE_MOBILE_DUN = 4; // 0x4 + field @Deprecated public static final int TYPE_MOBILE_HIPRI = 5; // 0x5 + field @Deprecated public static final int TYPE_MOBILE_MMS = 2; // 0x2 + field @Deprecated public static final int TYPE_MOBILE_SUPL = 3; // 0x3 + field @Deprecated public static final int TYPE_VPN = 17; // 0x11 + field @Deprecated public static final int TYPE_WIFI = 1; // 0x1 + field @Deprecated public static final int TYPE_WIMAX = 6; // 0x6 + } + + public static class ConnectivityManager.NetworkCallback { + ctor public ConnectivityManager.NetworkCallback(); + ctor public ConnectivityManager.NetworkCallback(int); + method public void onAvailable(@NonNull android.net.Network); + method public void onBlockedStatusChanged(@NonNull android.net.Network, boolean); + method public void onCapabilitiesChanged(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities); + method public void onLinkPropertiesChanged(@NonNull android.net.Network, @NonNull android.net.LinkProperties); + method public void onLosing(@NonNull android.net.Network, int); + method public void onLost(@NonNull android.net.Network); + method public void onUnavailable(); + field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1 + } + + public static interface ConnectivityManager.OnNetworkActiveListener { + method public void onNetworkActive(); + } + + public class DhcpInfo implements android.os.Parcelable { + ctor public DhcpInfo(); + method public int describeContents(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpInfo> CREATOR; + field public int dns1; + field public int dns2; + field public int gateway; + field public int ipAddress; + field public int leaseDuration; + field public int netmask; + field public int serverAddress; + } + + public final class DnsResolver { + method @NonNull public static android.net.DnsResolver getInstance(); + method public void query(@Nullable android.net.Network, @NonNull String, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>); + method public void query(@Nullable android.net.Network, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>); + method public void rawQuery(@Nullable android.net.Network, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>); + method public void rawQuery(@Nullable android.net.Network, @NonNull String, int, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>); + field public static final int CLASS_IN = 1; // 0x1 + field public static final int ERROR_PARSE = 0; // 0x0 + field public static final int ERROR_SYSTEM = 1; // 0x1 + field public static final int FLAG_EMPTY = 0; // 0x0 + field public static final int FLAG_NO_CACHE_LOOKUP = 4; // 0x4 + field public static final int FLAG_NO_CACHE_STORE = 2; // 0x2 + field public static final int FLAG_NO_RETRY = 1; // 0x1 + field public static final int TYPE_A = 1; // 0x1 + field public static final int TYPE_AAAA = 28; // 0x1c + } + + public static interface DnsResolver.Callback<T> { + method public void onAnswer(@NonNull T, int); + method public void onError(@NonNull android.net.DnsResolver.DnsException); + } + + public static class DnsResolver.DnsException extends java.lang.Exception { + ctor public DnsResolver.DnsException(int, @Nullable Throwable); + field public final int code; + } + + public class InetAddresses { + method public static boolean isNumericAddress(@NonNull String); + method @NonNull public static java.net.InetAddress parseNumericAddress(@NonNull String); + } + + public final class IpConfiguration implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.ProxyInfo getHttpProxy(); + method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR; + } + + public static final class IpConfiguration.Builder { + ctor public IpConfiguration.Builder(); + method @NonNull public android.net.IpConfiguration build(); + method @NonNull public android.net.IpConfiguration.Builder setHttpProxy(@Nullable android.net.ProxyInfo); + method @NonNull public android.net.IpConfiguration.Builder setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); + } + + public final class IpPrefix implements android.os.Parcelable { + ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); + method public boolean contains(@NonNull java.net.InetAddress); + method public int describeContents(); + method @NonNull public java.net.InetAddress getAddress(); + method @IntRange(from=0, to=128) public int getPrefixLength(); + method @NonNull public byte[] getRawAddress(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR; + } + + public class LinkAddress implements android.os.Parcelable { + method public int describeContents(); + method public java.net.InetAddress getAddress(); + method public int getFlags(); + method @IntRange(from=0, to=128) public int getPrefixLength(); + method public int getScope(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR; + } + + public final class LinkProperties implements android.os.Parcelable { + ctor public LinkProperties(); + method public boolean addRoute(@NonNull android.net.RouteInfo); + method public void clear(); + method public int describeContents(); + method @Nullable public java.net.Inet4Address getDhcpServerAddress(); + method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); + method @Nullable public String getDomains(); + method @Nullable public android.net.ProxyInfo getHttpProxy(); + method @Nullable public String getInterfaceName(); + method @NonNull public java.util.List<android.net.LinkAddress> getLinkAddresses(); + method public int getMtu(); + method @Nullable public android.net.IpPrefix getNat64Prefix(); + method @Nullable public String getPrivateDnsServerName(); + method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(); + method public boolean isPrivateDnsActive(); + method public boolean isWakeOnLanSupported(); + method public void setDhcpServerAddress(@Nullable java.net.Inet4Address); + method public void setDnsServers(@NonNull java.util.Collection<java.net.InetAddress>); + method public void setDomains(@Nullable String); + method public void setHttpProxy(@Nullable android.net.ProxyInfo); + method public void setInterfaceName(@Nullable String); + method public void setLinkAddresses(@NonNull java.util.Collection<android.net.LinkAddress>); + method public void setMtu(int); + method public void setNat64Prefix(@Nullable android.net.IpPrefix); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR; + } + + public final class MacAddress implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.net.MacAddress fromBytes(@NonNull byte[]); + method @NonNull public static android.net.MacAddress fromString(@NonNull String); + method public int getAddressType(); + method @Nullable public java.net.Inet6Address getLinkLocalIpv6FromEui48Mac(); + method public boolean isLocallyAssigned(); + method public boolean matches(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress); + method @NonNull public byte[] toByteArray(); + method @NonNull public String toOuiString(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.net.MacAddress BROADCAST_ADDRESS; + field @NonNull public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR; + field public static final int TYPE_BROADCAST = 3; // 0x3 + field public static final int TYPE_MULTICAST = 2; // 0x2 + field public static final int TYPE_UNICAST = 1; // 0x1 + } + + public class Network implements android.os.Parcelable { + method public void bindSocket(java.net.DatagramSocket) throws java.io.IOException; + method public void bindSocket(java.net.Socket) throws java.io.IOException; + method public void bindSocket(java.io.FileDescriptor) throws java.io.IOException; + method public int describeContents(); + method public static android.net.Network fromNetworkHandle(long); + method public java.net.InetAddress[] getAllByName(String) throws java.net.UnknownHostException; + method public java.net.InetAddress getByName(String) throws java.net.UnknownHostException; + method public long getNetworkHandle(); + method public javax.net.SocketFactory getSocketFactory(); + method public java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException; + method public java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException; + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.Network> CREATOR; + } + + public final class NetworkCapabilities implements android.os.Parcelable { + ctor public NetworkCapabilities(); + ctor public NetworkCapabilities(android.net.NetworkCapabilities); + method public int describeContents(); + method @NonNull public int[] getCapabilities(); + method @NonNull public int[] getEnterpriseIds(); + method public int getLinkDownstreamBandwidthKbps(); + method public int getLinkUpstreamBandwidthKbps(); + method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier(); + method public int getOwnerUid(); + method public int getSignalStrength(); + method @Nullable public android.net.TransportInfo getTransportInfo(); + method public boolean hasCapability(int); + method public boolean hasEnterpriseId(int); + method public boolean hasTransport(int); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR; + field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11 + field public static final int NET_CAPABILITY_CBS = 5; // 0x5 + field public static final int NET_CAPABILITY_DUN = 2; // 0x2 + field public static final int NET_CAPABILITY_EIMS = 10; // 0xa + field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d + field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13 + field public static final int NET_CAPABILITY_FOTA = 3; // 0x3 + field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20 + field public static final int NET_CAPABILITY_IA = 7; // 0x7 + field public static final int NET_CAPABILITY_IMS = 4; // 0x4 + field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc + field public static final int NET_CAPABILITY_MCX = 23; // 0x17 + field public static final int NET_CAPABILITY_MMS = 0; // 0x0 + field public static final int NET_CAPABILITY_MMTEL = 33; // 0x21 + field public static final int NET_CAPABILITY_NOT_CONGESTED = 20; // 0x14 + field public static final int NET_CAPABILITY_NOT_METERED = 11; // 0xb + field public static final int NET_CAPABILITY_NOT_RESTRICTED = 13; // 0xd + field public static final int NET_CAPABILITY_NOT_ROAMING = 18; // 0x12 + field public static final int NET_CAPABILITY_NOT_SUSPENDED = 21; // 0x15 + field public static final int NET_CAPABILITY_NOT_VPN = 15; // 0xf + field public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35; // 0x23 + field public static final int NET_CAPABILITY_PRIORITIZE_LATENCY = 34; // 0x22 + field public static final int NET_CAPABILITY_RCS = 8; // 0x8 + field public static final int NET_CAPABILITY_SUPL = 1; // 0x1 + field public static final int NET_CAPABILITY_TEMPORARILY_NOT_METERED = 25; // 0x19 + field public static final int NET_CAPABILITY_TRUSTED = 14; // 0xe + field public static final int NET_CAPABILITY_VALIDATED = 16; // 0x10 + field public static final int NET_CAPABILITY_WIFI_P2P = 6; // 0x6 + field public static final int NET_CAPABILITY_XCAP = 9; // 0x9 + field public static final int NET_ENTERPRISE_ID_1 = 1; // 0x1 + field public static final int NET_ENTERPRISE_ID_2 = 2; // 0x2 + field public static final int NET_ENTERPRISE_ID_3 = 3; // 0x3 + field public static final int NET_ENTERPRISE_ID_4 = 4; // 0x4 + field public static final int NET_ENTERPRISE_ID_5 = 5; // 0x5 + field public static final int SIGNAL_STRENGTH_UNSPECIFIED = -2147483648; // 0x80000000 + field public static final int TRANSPORT_BLUETOOTH = 2; // 0x2 + field public static final int TRANSPORT_CELLULAR = 0; // 0x0 + field public static final int TRANSPORT_ETHERNET = 3; // 0x3 + field public static final int TRANSPORT_LOWPAN = 6; // 0x6 + field public static final int TRANSPORT_USB = 8; // 0x8 + field public static final int TRANSPORT_VPN = 4; // 0x4 + field public static final int TRANSPORT_WIFI = 1; // 0x1 + field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5 + } + + @Deprecated public class NetworkInfo implements android.os.Parcelable { + ctor @Deprecated public NetworkInfo(int, int, @Nullable String, @Nullable String); + method @Deprecated public int describeContents(); + method @Deprecated @NonNull public android.net.NetworkInfo.DetailedState getDetailedState(); + method @Deprecated public String getExtraInfo(); + method @Deprecated public String getReason(); + method @Deprecated public android.net.NetworkInfo.State getState(); + method @Deprecated public int getSubtype(); + method @Deprecated public String getSubtypeName(); + method @Deprecated public int getType(); + method @Deprecated public String getTypeName(); + method @Deprecated public boolean isAvailable(); + method @Deprecated public boolean isConnected(); + method @Deprecated public boolean isConnectedOrConnecting(); + method @Deprecated public boolean isFailover(); + method @Deprecated public boolean isRoaming(); + method @Deprecated public void setDetailedState(@NonNull android.net.NetworkInfo.DetailedState, @Nullable String, @Nullable String); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR; + } + + @Deprecated public enum NetworkInfo.DetailedState { + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState AUTHENTICATING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState BLOCKED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CAPTIVE_PORTAL_CHECK; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState FAILED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState IDLE; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState OBTAINING_IPADDR; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SCANNING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SUSPENDED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState VERIFYING_POOR_LINK; + } + + @Deprecated public enum NetworkInfo.State { + enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.State SUSPENDED; + enum_constant @Deprecated public static final android.net.NetworkInfo.State UNKNOWN; + } + + public class NetworkRequest implements android.os.Parcelable { + method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkCapabilities); + method public int describeContents(); + method @NonNull public int[] getCapabilities(); + method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier(); + method @NonNull public int[] getTransportTypes(); + method public boolean hasCapability(int); + method public boolean hasTransport(int); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR; + } + + public static class NetworkRequest.Builder { + ctor public NetworkRequest.Builder(); + ctor public NetworkRequest.Builder(@NonNull android.net.NetworkRequest); + method public android.net.NetworkRequest.Builder addCapability(int); + method public android.net.NetworkRequest.Builder addTransportType(int); + method public android.net.NetworkRequest build(); + method @NonNull public android.net.NetworkRequest.Builder clearCapabilities(); + method public android.net.NetworkRequest.Builder removeCapability(int); + method public android.net.NetworkRequest.Builder removeTransportType(int); + method @NonNull public android.net.NetworkRequest.Builder setIncludeOtherUidNetworks(boolean); + method @Deprecated public android.net.NetworkRequest.Builder setNetworkSpecifier(String); + method public android.net.NetworkRequest.Builder setNetworkSpecifier(android.net.NetworkSpecifier); + } + + public class ParseException extends java.lang.RuntimeException { + ctor public ParseException(@NonNull String); + ctor public ParseException(@NonNull String, @NonNull Throwable); + field public String response; + } + + public class ProxyInfo implements android.os.Parcelable { + ctor public ProxyInfo(@Nullable android.net.ProxyInfo); + method public static android.net.ProxyInfo buildDirectProxy(String, int); + method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>); + method public static android.net.ProxyInfo buildPacProxy(android.net.Uri); + method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int); + method public int describeContents(); + method public String[] getExclusionList(); + method public String getHost(); + method public android.net.Uri getPacFileUrl(); + method public int getPort(); + method public boolean isValid(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR; + } + + public final class RouteInfo implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.IpPrefix getDestination(); + method @Nullable public java.net.InetAddress getGateway(); + method @Nullable public String getInterface(); + method public int getType(); + method public boolean hasGateway(); + method public boolean isDefaultRoute(); + method public boolean matches(java.net.InetAddress); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR; + field public static final int RTN_THROW = 9; // 0x9 + field public static final int RTN_UNICAST = 1; // 0x1 + field public static final int RTN_UNREACHABLE = 7; // 0x7 + } + + public abstract class SocketKeepalive implements java.lang.AutoCloseable { + method public final void close(); + method public final void start(@IntRange(from=0xa, to=0xe10) int); + method public final void stop(); + field public static final int ERROR_HARDWARE_ERROR = -31; // 0xffffffe1 + field public static final int ERROR_INSUFFICIENT_RESOURCES = -32; // 0xffffffe0 + field public static final int ERROR_INVALID_INTERVAL = -24; // 0xffffffe8 + field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb + field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 + field public static final int ERROR_INVALID_NETWORK = -20; // 0xffffffec + field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea + field public static final int ERROR_INVALID_SOCKET = -25; // 0xffffffe7 + field public static final int ERROR_SOCKET_NOT_IDLE = -26; // 0xffffffe6 + field public static final int ERROR_UNSUPPORTED = -30; // 0xffffffe2 + } + + public static class SocketKeepalive.Callback { + ctor public SocketKeepalive.Callback(); + method public void onDataReceived(); + method public void onError(int); + method public void onStarted(); + method public void onStopped(); + } + + public final class StaticIpConfiguration implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); + method @Nullable public String getDomains(); + method @Nullable public java.net.InetAddress getGateway(); + method @NonNull public android.net.LinkAddress getIpAddress(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR; + } + + public static final class StaticIpConfiguration.Builder { + ctor public StaticIpConfiguration.Builder(); + method @NonNull public android.net.StaticIpConfiguration build(); + method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>); + method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String); + method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress); + method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@NonNull android.net.LinkAddress); + } + + public interface TransportInfo { + } + +} + diff --git a/extensions/3/public/api/framework-media-removed.txt b/extensions/3/public/api/framework-media-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-media-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-media.txt b/extensions/3/public/api/framework-media.txt new file mode 100644 index 000000000..b7d7ed866 --- /dev/null +++ b/extensions/3/public/api/framework-media.txt @@ -0,0 +1,267 @@ +// Signature format: 2.0 +package android.media { + + public final class ApplicationMediaCapabilities implements android.os.Parcelable { + method @NonNull public static android.media.ApplicationMediaCapabilities createFromXml(@NonNull org.xmlpull.v1.XmlPullParser); + method public int describeContents(); + method @NonNull public java.util.List<java.lang.String> getSupportedHdrTypes(); + method @NonNull public java.util.List<java.lang.String> getSupportedVideoMimeTypes(); + method @NonNull public java.util.List<java.lang.String> getUnsupportedHdrTypes(); + method @NonNull public java.util.List<java.lang.String> getUnsupportedVideoMimeTypes(); + method public boolean isFormatSpecified(@NonNull String); + method public boolean isHdrTypeSupported(@NonNull String); + method public boolean isVideoMimeTypeSupported(@NonNull String); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.media.ApplicationMediaCapabilities> CREATOR; + } + + public static final class ApplicationMediaCapabilities.Builder { + ctor public ApplicationMediaCapabilities.Builder(); + method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedHdrType(@NonNull String); + method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedVideoMimeType(@NonNull String); + method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedHdrType(@NonNull String); + method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedVideoMimeType(@NonNull String); + method @NonNull public android.media.ApplicationMediaCapabilities build(); + } + + public class MediaCommunicationManager { + method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens(); + method @IntRange(from=1) public int getVersion(); + } + + public class MediaController2 implements java.lang.AutoCloseable { + method public void cancelSessionCommand(@NonNull Object); + method public void close(); + method @Nullable public android.media.Session2Token getConnectedToken(); + method public boolean isPlaybackActive(); + method @NonNull public Object sendSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle); + } + + public static final class MediaController2.Builder { + ctor public MediaController2.Builder(@NonNull android.content.Context, @NonNull android.media.Session2Token); + method @NonNull public android.media.MediaController2 build(); + method @NonNull public android.media.MediaController2.Builder setConnectionHints(@NonNull android.os.Bundle); + method @NonNull public android.media.MediaController2.Builder setControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaController2.ControllerCallback); + } + + public abstract static class MediaController2.ControllerCallback { + ctor public MediaController2.ControllerCallback(); + method public void onCommandResult(@NonNull android.media.MediaController2, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result); + method public void onConnected(@NonNull android.media.MediaController2, @NonNull android.media.Session2CommandGroup); + method public void onDisconnected(@NonNull android.media.MediaController2); + method public void onPlaybackActiveChanged(@NonNull android.media.MediaController2, boolean); + method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaController2, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); + } + + public final class MediaFeature { + ctor public MediaFeature(); + } + + public static final class MediaFeature.HdrType { + field public static final String DOLBY_VISION = "android.media.feature.hdr.dolby_vision"; + field public static final String HDR10 = "android.media.feature.hdr.hdr10"; + field public static final String HDR10_PLUS = "android.media.feature.hdr.hdr10_plus"; + field public static final String HLG = "android.media.feature.hdr.hlg"; + } + + public final class MediaParser { + method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException; + method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...); + method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer); + method @NonNull public android.media.metrics.LogSessionId getLogSessionId(); + method @NonNull public String getParserName(); + method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat); + method public void release(); + method public void seek(@NonNull android.media.MediaParser.SeekPoint); + method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId); + method @NonNull public android.media.MediaParser setParameter(@NonNull String, @NonNull Object); + method public boolean supportsParameter(@NonNull String); + field public static final String PARAMETER_ADTS_ENABLE_CBR_SEEKING = "android.media.mediaparser.adts.enableCbrSeeking"; + field public static final String PARAMETER_AMR_ENABLE_CBR_SEEKING = "android.media.mediaparser.amr.enableCbrSeeking"; + field public static final String PARAMETER_FLAC_DISABLE_ID3 = "android.media.mediaparser.flac.disableId3"; + field public static final String PARAMETER_MATROSKA_DISABLE_CUES_SEEKING = "android.media.mediaparser.matroska.disableCuesSeeking"; + field public static final String PARAMETER_MP3_DISABLE_ID3 = "android.media.mediaparser.mp3.disableId3"; + field public static final String PARAMETER_MP3_ENABLE_CBR_SEEKING = "android.media.mediaparser.mp3.enableCbrSeeking"; + field public static final String PARAMETER_MP3_ENABLE_INDEX_SEEKING = "android.media.mediaparser.mp3.enableIndexSeeking"; + field public static final String PARAMETER_MP4_IGNORE_EDIT_LISTS = "android.media.mediaparser.mp4.ignoreEditLists"; + field public static final String PARAMETER_MP4_IGNORE_TFDT_BOX = "android.media.mediaparser.mp4.ignoreTfdtBox"; + field public static final String PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES = "android.media.mediaparser.mp4.treatVideoFramesAsKeyframes"; + field public static final String PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES = "android.media.mediaparser.ts.allowNonIdrAvcKeyframes"; + field public static final String PARAMETER_TS_DETECT_ACCESS_UNITS = "android.media.mediaparser.ts.ignoreDetectAccessUnits"; + field public static final String PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS = "android.media.mediaparser.ts.enableHdmvDtsAudioStreams"; + field public static final String PARAMETER_TS_IGNORE_AAC_STREAM = "android.media.mediaparser.ts.ignoreAacStream"; + field public static final String PARAMETER_TS_IGNORE_AVC_STREAM = "android.media.mediaparser.ts.ignoreAvcStream"; + field public static final String PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM = "android.media.mediaparser.ts.ignoreSpliceInfoStream"; + field public static final String PARAMETER_TS_MODE = "android.media.mediaparser.ts.mode"; + field public static final String PARSER_NAME_AC3 = "android.media.mediaparser.Ac3Parser"; + field public static final String PARSER_NAME_AC4 = "android.media.mediaparser.Ac4Parser"; + field public static final String PARSER_NAME_ADTS = "android.media.mediaparser.AdtsParser"; + field public static final String PARSER_NAME_AMR = "android.media.mediaparser.AmrParser"; + field public static final String PARSER_NAME_FLAC = "android.media.mediaparser.FlacParser"; + field public static final String PARSER_NAME_FLV = "android.media.mediaparser.FlvParser"; + field public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser"; + field public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser"; + field public static final String PARSER_NAME_MP3 = "android.media.mediaparser.Mp3Parser"; + field public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser"; + field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser"; + field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser"; + field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser"; + field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN"; + field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser"; + field public static final int SAMPLE_FLAG_DECODE_ONLY = -2147483648; // 0x80000000 + field public static final int SAMPLE_FLAG_ENCRYPTED = 1073741824; // 0x40000000 + field public static final int SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA = 268435456; // 0x10000000 + field public static final int SAMPLE_FLAG_KEY_FRAME = 1; // 0x1 + field public static final int SAMPLE_FLAG_LAST_SAMPLE = 536870912; // 0x20000000 + } + + public static interface MediaParser.InputReader { + method public long getLength(); + method public long getPosition(); + method public int read(@NonNull byte[], int, int) throws java.io.IOException; + } + + public static interface MediaParser.OutputConsumer { + method public void onSampleCompleted(int, long, int, int, int, @Nullable android.media.MediaCodec.CryptoInfo); + method public void onSampleDataFound(int, @NonNull android.media.MediaParser.InputReader) throws java.io.IOException; + method public void onSeekMapFound(@NonNull android.media.MediaParser.SeekMap); + method public void onTrackCountFound(int); + method public void onTrackDataFound(int, @NonNull android.media.MediaParser.TrackData); + } + + public static final class MediaParser.ParsingException extends java.io.IOException { + } + + public static final class MediaParser.SeekMap { + method public long getDurationMicros(); + method @NonNull public android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint> getSeekPoints(long); + method public boolean isSeekable(); + field public static final int UNKNOWN_DURATION = -2147483648; // 0x80000000 + } + + public static final class MediaParser.SeekPoint { + field @NonNull public static final android.media.MediaParser.SeekPoint START; + field public final long position; + field public final long timeMicros; + } + + public static interface MediaParser.SeekableInputReader extends android.media.MediaParser.InputReader { + method public void seekToPosition(long); + } + + public static final class MediaParser.TrackData { + field @Nullable public final android.media.DrmInitData drmInitData; + field @NonNull public final android.media.MediaFormat mediaFormat; + } + + public static final class MediaParser.UnrecognizedInputFormatException extends java.io.IOException { + } + + public class MediaSession2 implements java.lang.AutoCloseable { + method public void broadcastSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle); + method public void cancelSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object); + method public void close(); + method @NonNull public java.util.List<android.media.MediaSession2.ControllerInfo> getConnectedControllers(); + method @NonNull public String getId(); + method @NonNull public android.media.Session2Token getToken(); + method public boolean isPlaybackActive(); + method @NonNull public Object sendSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); + method public void setPlaybackActive(boolean); + } + + public static final class MediaSession2.Builder { + ctor public MediaSession2.Builder(@NonNull android.content.Context); + method @NonNull public android.media.MediaSession2 build(); + method @NonNull public android.media.MediaSession2.Builder setExtras(@NonNull android.os.Bundle); + method @NonNull public android.media.MediaSession2.Builder setId(@NonNull String); + method @NonNull public android.media.MediaSession2.Builder setSessionActivity(@Nullable android.app.PendingIntent); + method @NonNull public android.media.MediaSession2.Builder setSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaSession2.SessionCallback); + } + + public static final class MediaSession2.ControllerInfo { + method @NonNull public android.os.Bundle getConnectionHints(); + method @NonNull public String getPackageName(); + method @NonNull public android.media.session.MediaSessionManager.RemoteUserInfo getRemoteUserInfo(); + method public int getUid(); + } + + public abstract static class MediaSession2.SessionCallback { + ctor public MediaSession2.SessionCallback(); + method public void onCommandResult(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result); + method @Nullable public android.media.Session2CommandGroup onConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); + method public void onDisconnected(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); + method public void onPostConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); + method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); + } + + public abstract class MediaSession2Service extends android.app.Service { + ctor public MediaSession2Service(); + method public final void addSession(@NonNull android.media.MediaSession2); + method @NonNull public final java.util.List<android.media.MediaSession2> getSessions(); + method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); + method @Nullable public abstract android.media.MediaSession2 onGetSession(@NonNull android.media.MediaSession2.ControllerInfo); + method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2); + method public final void removeSession(@NonNull android.media.MediaSession2); + field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service"; + } + + public static class MediaSession2Service.MediaNotification { + ctor public MediaSession2Service.MediaNotification(int, @NonNull android.app.Notification); + method @NonNull public android.app.Notification getNotification(); + method public int getNotificationId(); + } + + public final class Session2Command implements android.os.Parcelable { + ctor public Session2Command(int); + ctor public Session2Command(@NonNull String, @Nullable android.os.Bundle); + method public int describeContents(); + method public int getCommandCode(); + method @Nullable public String getCustomAction(); + method @Nullable public android.os.Bundle getCustomExtras(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0 + field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Command> CREATOR; + } + + public static final class Session2Command.Result { + ctor public Session2Command.Result(int, @Nullable android.os.Bundle); + method public int getResultCode(); + method @Nullable public android.os.Bundle getResultData(); + field public static final int RESULT_ERROR_UNKNOWN_ERROR = -1; // 0xffffffff + field public static final int RESULT_INFO_SKIPPED = 1; // 0x1 + field public static final int RESULT_SUCCESS = 0; // 0x0 + } + + public final class Session2CommandGroup implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.Set<android.media.Session2Command> getCommands(); + method public boolean hasCommand(@NonNull android.media.Session2Command); + method public boolean hasCommand(int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2CommandGroup> CREATOR; + } + + public static final class Session2CommandGroup.Builder { + ctor public Session2CommandGroup.Builder(); + ctor public Session2CommandGroup.Builder(@NonNull android.media.Session2CommandGroup); + method @NonNull public android.media.Session2CommandGroup.Builder addCommand(@NonNull android.media.Session2Command); + method @NonNull public android.media.Session2CommandGroup build(); + method @NonNull public android.media.Session2CommandGroup.Builder removeCommand(@NonNull android.media.Session2Command); + } + + public final class Session2Token implements android.os.Parcelable { + ctor public Session2Token(@NonNull android.content.Context, @NonNull android.content.ComponentName); + method public int describeContents(); + method @NonNull public android.os.Bundle getExtras(); + method @NonNull public String getPackageName(); + method @Nullable public String getServiceName(); + method public int getType(); + method public int getUid(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Token> CREATOR; + field public static final int TYPE_SESSION = 0; // 0x0 + field public static final int TYPE_SESSION_SERVICE = 1; // 0x1 + } + +} + diff --git a/extensions/3/public/api/framework-mediaprovider-removed.txt b/extensions/3/public/api/framework-mediaprovider-removed.txt new file mode 100644 index 000000000..183a7c9a8 --- /dev/null +++ b/extensions/3/public/api/framework-mediaprovider-removed.txt @@ -0,0 +1,43 @@ +// Signature format: 2.0 +package android.provider { + + public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns { + field public static final String ALBUM = "album"; + field public static final String ARTIST = "artist"; + field public static final String COMPOSER = "composer"; + field public static final String DURATION = "duration"; + } + + public static interface MediaStore.DownloadColumns extends android.provider.MediaStore.MediaColumns { + field @Deprecated public static final String DESCRIPTION = "description"; + } + + public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns { + field public static final String TITLE = "title"; + } + + public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns { + field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name"; + field public static final String BUCKET_ID = "bucket_id"; + field public static final String DATE_TAKEN = "datetaken"; + field public static final String GROUP_ID = "group_id"; + field public static final String ORIENTATION = "orientation"; + } + + public static interface MediaStore.MediaColumns extends android.provider.BaseColumns { + field @Deprecated public static final String GROUP_ID = "group_id"; + } + + public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns { + field public static final String ALBUM = "album"; + field public static final String ARTIST = "artist"; + field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name"; + field public static final String BUCKET_ID = "bucket_id"; + field public static final String DATE_TAKEN = "datetaken"; + field public static final String DURATION = "duration"; + field public static final String GROUP_ID = "group_id"; + field public static final String RESOLUTION = "resolution"; + } + +} + diff --git a/extensions/3/public/api/framework-mediaprovider.txt b/extensions/3/public/api/framework-mediaprovider.txt new file mode 100644 index 000000000..8e1691a9c --- /dev/null +++ b/extensions/3/public/api/framework-mediaprovider.txt @@ -0,0 +1,524 @@ +// Signature format: 2.0 +package android.provider { + + public abstract class CloudMediaProvider extends android.content.ContentProvider { + ctor public CloudMediaProvider(); + method public final void attachInfo(@NonNull android.content.Context, @NonNull android.content.pm.ProviderInfo); + method @NonNull public final android.os.Bundle call(@NonNull String, @Nullable String, @Nullable android.os.Bundle); + method @NonNull public final android.net.Uri canonicalize(@NonNull android.net.Uri); + method public final int delete(@NonNull android.net.Uri, @Nullable String, @Nullable String[]); + method @NonNull public final String getType(@NonNull android.net.Uri); + method @NonNull public final android.net.Uri insert(@NonNull android.net.Uri, @NonNull android.content.ContentValues); + method @Nullable public android.provider.CloudMediaProvider.CloudMediaSurfaceController onCreateCloudMediaSurfaceController(@NonNull android.os.Bundle, @NonNull android.provider.CloudMediaProvider.CloudMediaSurfaceStateChangedCallback); + method @NonNull public abstract android.os.Bundle onGetMediaCollectionInfo(@NonNull android.os.Bundle); + method @NonNull public abstract android.os.ParcelFileDescriptor onOpenMedia(@NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; + method @NonNull public abstract android.content.res.AssetFileDescriptor onOpenPreview(@NonNull String, @NonNull android.graphics.Point, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; + method @NonNull public android.database.Cursor onQueryAlbums(@NonNull android.os.Bundle); + method @NonNull public abstract android.database.Cursor onQueryDeletedMedia(@NonNull android.os.Bundle); + method @NonNull public abstract android.database.Cursor onQueryMedia(@NonNull android.os.Bundle); + method @NonNull public final android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException; + method @NonNull public final android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; + method @NonNull public final android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException; + method @NonNull public final android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; + method @NonNull public final android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal); + method @NonNull public final android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String); + method @NonNull public final android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal); + method public final int update(@NonNull android.net.Uri, @NonNull android.content.ContentValues, @Nullable String, @Nullable String[]); + } + + public abstract static class CloudMediaProvider.CloudMediaSurfaceController { + ctor public CloudMediaProvider.CloudMediaSurfaceController(); + method public abstract void onConfigChange(@NonNull android.os.Bundle); + method public abstract void onDestroy(); + method public abstract void onMediaPause(int); + method public abstract void onMediaPlay(int); + method public abstract void onMediaSeekTo(int, long); + method public abstract void onPlayerCreate(); + method public abstract void onPlayerRelease(); + method public abstract void onSurfaceChanged(int, int, int, int); + method public abstract void onSurfaceCreated(int, @NonNull android.view.Surface, @NonNull String); + method public abstract void onSurfaceDestroyed(int); + } + + public static final class CloudMediaProvider.CloudMediaSurfaceStateChangedCallback { + method public void setPlaybackState(int, int, @Nullable android.os.Bundle); + field public static final int PLAYBACK_STATE_BUFFERING = 1; // 0x1 + field public static final int PLAYBACK_STATE_COMPLETED = 5; // 0x5 + field public static final int PLAYBACK_STATE_ERROR_PERMANENT_FAILURE = 7; // 0x7 + field public static final int PLAYBACK_STATE_ERROR_RETRIABLE_FAILURE = 6; // 0x6 + field public static final int PLAYBACK_STATE_MEDIA_SIZE_CHANGED = 8; // 0x8 + field public static final int PLAYBACK_STATE_PAUSED = 4; // 0x4 + field public static final int PLAYBACK_STATE_READY = 2; // 0x2 + field public static final int PLAYBACK_STATE_STARTED = 3; // 0x3 + } + + public final class CloudMediaProviderContract { + field public static final String EXTRA_ALBUM_ID = "android.provider.extra.ALBUM_ID"; + field public static final String EXTRA_LOOPING_PLAYBACK_ENABLED = "android.provider.extra.LOOPING_PLAYBACK_ENABLED"; + field public static final String EXTRA_MEDIA_COLLECTION_ID = "android.provider.extra.MEDIA_COLLECTION_ID"; + field public static final String EXTRA_PAGE_TOKEN = "android.provider.extra.PAGE_TOKEN"; + field public static final String EXTRA_PREVIEW_THUMBNAIL = "android.provider.extra.PREVIEW_THUMBNAIL"; + field public static final String EXTRA_SURFACE_CONTROLLER_AUDIO_MUTE_ENABLED = "android.provider.extra.SURFACE_CONTROLLER_AUDIO_MUTE_ENABLED"; + field public static final String EXTRA_SYNC_GENERATION = "android.provider.extra.SYNC_GENERATION"; + field public static final String MANAGE_CLOUD_MEDIA_PROVIDERS_PERMISSION = "com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"; + field public static final String PROVIDER_INTERFACE = "android.content.action.CLOUD_MEDIA_PROVIDER"; + } + + public static final class CloudMediaProviderContract.AlbumColumns { + field public static final String DATE_TAKEN_MILLIS = "date_taken_millis"; + field public static final String DISPLAY_NAME = "display_name"; + field public static final String ID = "id"; + field public static final String MEDIA_COUNT = "album_media_count"; + field public static final String MEDIA_COVER_ID = "album_media_cover_id"; + } + + public static final class CloudMediaProviderContract.MediaCollectionInfo { + field public static final String ACCOUNT_CONFIGURATION_INTENT = "account_configuration_intent"; + field public static final String ACCOUNT_NAME = "account_name"; + field public static final String LAST_MEDIA_SYNC_GENERATION = "last_media_sync_generation"; + field public static final String MEDIA_COLLECTION_ID = "media_collection_id"; + } + + public static final class CloudMediaProviderContract.MediaColumns { + field public static final String DATE_TAKEN_MILLIS = "date_taken_millis"; + field public static final String DURATION_MILLIS = "duration_millis"; + field public static final String ID = "id"; + field public static final String IS_FAVORITE = "is_favorite"; + field public static final String MEDIA_STORE_URI = "media_store_uri"; + field public static final String MIME_TYPE = "mime_type"; + field public static final String SIZE_BYTES = "size_bytes"; + field public static final String STANDARD_MIME_TYPE_EXTENSION = "standard_mime_type_extension"; + field public static final int STANDARD_MIME_TYPE_EXTENSION_ANIMATED_WEBP = 3; // 0x3 + field public static final int STANDARD_MIME_TYPE_EXTENSION_GIF = 1; // 0x1 + field public static final int STANDARD_MIME_TYPE_EXTENSION_MOTION_PHOTO = 2; // 0x2 + field public static final int STANDARD_MIME_TYPE_EXTENSION_NONE = 0; // 0x0 + field public static final String SYNC_GENERATION = "sync_generation"; + } + + public final class MediaStore { + ctor public MediaStore(); + method public static boolean canManageMedia(@NonNull android.content.Context); + method @NonNull public static android.app.PendingIntent createDeleteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>); + method @NonNull public static android.app.PendingIntent createFavoriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean); + method @NonNull public static android.app.PendingIntent createTrashRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean); + method @NonNull public static android.app.PendingIntent createWriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>); + method @Nullable public static android.net.Uri getDocumentUri(@NonNull android.content.Context, @NonNull android.net.Uri); + method @NonNull public static java.util.Set<java.lang.String> getExternalVolumeNames(@NonNull android.content.Context); + method public static long getGeneration(@NonNull android.content.Context, @NonNull String); + method public static android.net.Uri getMediaScannerUri(); + method @Nullable public static android.net.Uri getMediaUri(@NonNull android.content.Context, @NonNull android.net.Uri); + method @NonNull public static android.os.ParcelFileDescriptor getOriginalMediaFormatFileDescriptor(@NonNull android.content.Context, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException; + method public static int getPickImagesMaxLimit(); + method @NonNull public static java.util.Set<java.lang.String> getRecentExternalVolumeNames(@NonNull android.content.Context); + method @Nullable public static android.net.Uri getRedactedUri(@NonNull android.content.ContentResolver, @NonNull android.net.Uri); + method @NonNull public static java.util.List<android.net.Uri> getRedactedUri(@NonNull android.content.ContentResolver, @NonNull java.util.List<android.net.Uri>); + method public static boolean getRequireOriginal(@NonNull android.net.Uri); + method @NonNull public static String getVersion(@NonNull android.content.Context); + method @NonNull public static String getVersion(@NonNull android.content.Context, @NonNull String); + method @NonNull public static String getVolumeName(@NonNull android.net.Uri); + method public static boolean isCurrentCloudMediaProviderAuthority(@NonNull android.content.ContentResolver, @NonNull String); + method public static boolean isCurrentSystemGallery(@NonNull android.content.ContentResolver, int, @NonNull String); + method public static boolean isSupportedCloudMediaProviderAuthority(@NonNull android.content.ContentResolver, @NonNull String); + method public static void notifyCloudMediaChangedEvent(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String) throws java.lang.SecurityException; + method @Deprecated @NonNull public static android.net.Uri setIncludePending(@NonNull android.net.Uri); + method @NonNull public static android.net.Uri setRequireOriginal(@NonNull android.net.Uri); + field public static final String ACTION_IMAGE_CAPTURE = "android.media.action.IMAGE_CAPTURE"; + field public static final String ACTION_IMAGE_CAPTURE_SECURE = "android.media.action.IMAGE_CAPTURE_SECURE"; + field public static final String ACTION_PICK_IMAGES = "android.provider.action.PICK_IMAGES"; + field public static final String ACTION_PICK_IMAGES_SETTINGS = "android.provider.action.PICK_IMAGES_SETTINGS"; + field public static final String ACTION_REVIEW = "android.provider.action.REVIEW"; + field public static final String ACTION_REVIEW_SECURE = "android.provider.action.REVIEW_SECURE"; + field public static final String ACTION_VIDEO_CAPTURE = "android.media.action.VIDEO_CAPTURE"; + field public static final String AUTHORITY = "media"; + field @NonNull public static final android.net.Uri AUTHORITY_URI; + field public static final String EXTRA_ACCEPT_ORIGINAL_MEDIA_FORMAT = "android.provider.extra.ACCEPT_ORIGINAL_MEDIA_FORMAT"; + field public static final String EXTRA_BRIGHTNESS = "android.provider.extra.BRIGHTNESS"; + field public static final String EXTRA_DURATION_LIMIT = "android.intent.extra.durationLimit"; + field public static final String EXTRA_FINISH_ON_COMPLETION = "android.intent.extra.finishOnCompletion"; + field public static final String EXTRA_FULL_SCREEN = "android.intent.extra.fullScreen"; + field public static final String EXTRA_MEDIA_ALBUM = "android.intent.extra.album"; + field public static final String EXTRA_MEDIA_ARTIST = "android.intent.extra.artist"; + field public static final String EXTRA_MEDIA_CAPABILITIES = "android.provider.extra.MEDIA_CAPABILITIES"; + field public static final String EXTRA_MEDIA_CAPABILITIES_UID = "android.provider.extra.MEDIA_CAPABILITIES_UID"; + field public static final String EXTRA_MEDIA_FOCUS = "android.intent.extra.focus"; + field public static final String EXTRA_MEDIA_GENRE = "android.intent.extra.genre"; + field @Deprecated public static final String EXTRA_MEDIA_PLAYLIST = "android.intent.extra.playlist"; + field public static final String EXTRA_MEDIA_RADIO_CHANNEL = "android.intent.extra.radio_channel"; + field public static final String EXTRA_MEDIA_TITLE = "android.intent.extra.title"; + field public static final String EXTRA_OUTPUT = "output"; + field public static final String EXTRA_PICK_IMAGES_MAX = "android.provider.extra.PICK_IMAGES_MAX"; + field public static final String EXTRA_SCREEN_ORIENTATION = "android.intent.extra.screenOrientation"; + field public static final String EXTRA_SHOW_ACTION_ICONS = "android.intent.extra.showActionIcons"; + field public static final String EXTRA_SIZE_LIMIT = "android.intent.extra.sizeLimit"; + field public static final String EXTRA_VIDEO_QUALITY = "android.intent.extra.videoQuality"; + field public static final String INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH = "android.media.action.MEDIA_PLAY_FROM_SEARCH"; + field public static final String INTENT_ACTION_MEDIA_SEARCH = "android.intent.action.MEDIA_SEARCH"; + field @Deprecated public static final String INTENT_ACTION_MUSIC_PLAYER = "android.intent.action.MUSIC_PLAYER"; + field public static final String INTENT_ACTION_STILL_IMAGE_CAMERA = "android.media.action.STILL_IMAGE_CAMERA"; + field public static final String INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE = "android.media.action.STILL_IMAGE_CAMERA_SECURE"; + field public static final String INTENT_ACTION_TEXT_OPEN_FROM_SEARCH = "android.media.action.TEXT_OPEN_FROM_SEARCH"; + field public static final String INTENT_ACTION_VIDEO_CAMERA = "android.media.action.VIDEO_CAMERA"; + field public static final String INTENT_ACTION_VIDEO_PLAY_FROM_SEARCH = "android.media.action.VIDEO_PLAY_FROM_SEARCH"; + field public static final int MATCH_DEFAULT = 0; // 0x0 + field public static final int MATCH_EXCLUDE = 2; // 0x2 + field public static final int MATCH_INCLUDE = 1; // 0x1 + field public static final int MATCH_ONLY = 3; // 0x3 + field public static final String MEDIA_IGNORE_FILENAME = ".nomedia"; + field public static final String MEDIA_SCANNER_VOLUME = "volume"; + field public static final String META_DATA_REVIEW_GALLERY_PREWARM_SERVICE = "android.media.review_gallery_prewarm_service"; + field public static final String META_DATA_STILL_IMAGE_CAMERA_PREWARM_SERVICE = "android.media.still_image_camera_preview_service"; + field public static final String QUERY_ARG_INCLUDE_RECENTLY_UNMOUNTED_VOLUMES = "android:query-arg-recently-unmounted-volumes"; + field public static final String QUERY_ARG_MATCH_FAVORITE = "android:query-arg-match-favorite"; + field public static final String QUERY_ARG_MATCH_PENDING = "android:query-arg-match-pending"; + field public static final String QUERY_ARG_MATCH_TRASHED = "android:query-arg-match-trashed"; + field public static final String QUERY_ARG_RELATED_URI = "android:query-arg-related-uri"; + field public static final String UNKNOWN_STRING = "<unknown>"; + field public static final String VOLUME_EXTERNAL = "external"; + field public static final String VOLUME_EXTERNAL_PRIMARY = "external_primary"; + field public static final String VOLUME_INTERNAL = "internal"; + } + + public static final class MediaStore.Audio { + ctor public MediaStore.Audio(); + method @Deprecated @Nullable public static String keyFor(@Nullable String); + } + + public static interface MediaStore.Audio.AlbumColumns { + field public static final String ALBUM = "album"; + field @Deprecated public static final String ALBUM_ART = "album_art"; + field public static final String ALBUM_ID = "album_id"; + field @Deprecated public static final String ALBUM_KEY = "album_key"; + field public static final String ARTIST = "artist"; + field public static final String ARTIST_ID = "artist_id"; + field @Deprecated public static final String ARTIST_KEY = "artist_key"; + field public static final String FIRST_YEAR = "minyear"; + field public static final String LAST_YEAR = "maxyear"; + field public static final String NUMBER_OF_SONGS = "numsongs"; + field public static final String NUMBER_OF_SONGS_FOR_ARTIST = "numsongs_by_artist"; + } + + public static final class MediaStore.Audio.Albums implements android.provider.BaseColumns android.provider.MediaStore.Audio.AlbumColumns { + ctor public MediaStore.Audio.Albums(); + method public static android.net.Uri getContentUri(String); + field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/albums"; + field public static final String DEFAULT_SORT_ORDER = "album_key"; + field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/album"; + field public static final android.net.Uri EXTERNAL_CONTENT_URI; + field public static final android.net.Uri INTERNAL_CONTENT_URI; + } + + public static interface MediaStore.Audio.ArtistColumns { + field public static final String ARTIST = "artist"; + field @Deprecated public static final String ARTIST_KEY = "artist_key"; + field public static final String NUMBER_OF_ALBUMS = "number_of_albums"; + field public static final String NUMBER_OF_TRACKS = "number_of_tracks"; + } + + public static final class MediaStore.Audio.Artists implements android.provider.BaseColumns android.provider.MediaStore.Audio.ArtistColumns { + ctor public MediaStore.Audio.Artists(); + method public static android.net.Uri getContentUri(String); + field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/artists"; + field public static final String DEFAULT_SORT_ORDER = "artist_key"; + field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/artist"; + field public static final android.net.Uri EXTERNAL_CONTENT_URI; + field public static final android.net.Uri INTERNAL_CONTENT_URI; + } + + public static final class MediaStore.Audio.Artists.Albums implements android.provider.BaseColumns android.provider.MediaStore.Audio.AlbumColumns { + ctor public MediaStore.Audio.Artists.Albums(); + method public static android.net.Uri getContentUri(String, long); + } + + public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns { + field public static final String ALBUM_ID = "album_id"; + field @Deprecated public static final String ALBUM_KEY = "album_key"; + field public static final String ARTIST_ID = "artist_id"; + field @Deprecated public static final String ARTIST_KEY = "artist_key"; + field public static final String BOOKMARK = "bookmark"; + field public static final String GENRE = "genre"; + field public static final String GENRE_ID = "genre_id"; + field @Deprecated public static final String GENRE_KEY = "genre_key"; + field public static final String IS_ALARM = "is_alarm"; + field public static final String IS_AUDIOBOOK = "is_audiobook"; + field public static final String IS_MUSIC = "is_music"; + field public static final String IS_NOTIFICATION = "is_notification"; + field public static final String IS_PODCAST = "is_podcast"; + field public static final String IS_RECORDING = "is_recording"; + field public static final String IS_RINGTONE = "is_ringtone"; + field @Deprecated public static final String TITLE_KEY = "title_key"; + field public static final String TITLE_RESOURCE_URI = "title_resource_uri"; + field public static final String TRACK = "track"; + field public static final String YEAR = "year"; + } + + public static final class MediaStore.Audio.Genres implements android.provider.BaseColumns android.provider.MediaStore.Audio.GenresColumns { + ctor public MediaStore.Audio.Genres(); + method public static android.net.Uri getContentUri(String); + method public static android.net.Uri getContentUriForAudioId(String, int); + field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/genre"; + field public static final String DEFAULT_SORT_ORDER = "name"; + field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/genre"; + field public static final android.net.Uri EXTERNAL_CONTENT_URI; + field public static final android.net.Uri INTERNAL_CONTENT_URI; + } + + public static final class MediaStore.Audio.Genres.Members implements android.provider.MediaStore.Audio.AudioColumns { + ctor public MediaStore.Audio.Genres.Members(); + method public static android.net.Uri getContentUri(String, long); + field public static final String AUDIO_ID = "audio_id"; + field public static final String CONTENT_DIRECTORY = "members"; + field public static final String DEFAULT_SORT_ORDER = "title_key"; + field public static final String GENRE_ID = "genre_id"; + } + + public static interface MediaStore.Audio.GenresColumns { + field public static final String NAME = "name"; + } + + public static final class MediaStore.Audio.Media implements android.provider.MediaStore.Audio.AudioColumns { + ctor public MediaStore.Audio.Media(); + method public static android.net.Uri getContentUri(String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); + method @Deprecated @Nullable public static android.net.Uri getContentUriForPath(@NonNull String); + field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/audio"; + field public static final String DEFAULT_SORT_ORDER = "title_key"; + field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/audio"; + field public static final android.net.Uri EXTERNAL_CONTENT_URI; + field public static final String EXTRA_MAX_BYTES = "android.provider.MediaStore.extra.MAX_BYTES"; + field public static final android.net.Uri INTERNAL_CONTENT_URI; + field public static final String RECORD_SOUND_ACTION = "android.provider.MediaStore.RECORD_SOUND"; + } + + @Deprecated public static final class MediaStore.Audio.Playlists implements android.provider.BaseColumns android.provider.MediaStore.Audio.PlaylistsColumns { + ctor @Deprecated public MediaStore.Audio.Playlists(); + method @Deprecated public static android.net.Uri getContentUri(String); + field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/playlist"; + field @Deprecated public static final String DEFAULT_SORT_ORDER = "name"; + field @Deprecated public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/playlist"; + field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI; + field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI; + } + + @Deprecated public static final class MediaStore.Audio.Playlists.Members implements android.provider.MediaStore.Audio.AudioColumns { + ctor @Deprecated public MediaStore.Audio.Playlists.Members(); + method @Deprecated public static android.net.Uri getContentUri(String, long); + method @Deprecated public static boolean moveItem(android.content.ContentResolver, long, int, int); + field @Deprecated public static final String AUDIO_ID = "audio_id"; + field @Deprecated public static final String CONTENT_DIRECTORY = "members"; + field @Deprecated public static final String DEFAULT_SORT_ORDER = "play_order"; + field @Deprecated public static final String PLAYLIST_ID = "playlist_id"; + field @Deprecated public static final String PLAY_ORDER = "play_order"; + field @Deprecated public static final String _ID = "_id"; + } + + @Deprecated public static interface MediaStore.Audio.PlaylistsColumns extends android.provider.MediaStore.MediaColumns { + field @Deprecated public static final String DATA = "_data"; + field @Deprecated public static final String DATE_ADDED = "date_added"; + field @Deprecated public static final String DATE_MODIFIED = "date_modified"; + field @Deprecated public static final String NAME = "name"; + } + + public static final class MediaStore.Audio.Radio { + field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/radio"; + } + + public static interface MediaStore.DownloadColumns extends android.provider.MediaStore.MediaColumns { + field public static final String DOWNLOAD_URI = "download_uri"; + field public static final String REFERER_URI = "referer_uri"; + } + + public static final class MediaStore.Downloads implements android.provider.MediaStore.DownloadColumns { + method @NonNull public static android.net.Uri getContentUri(@NonNull String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); + field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/download"; + field @NonNull public static final android.net.Uri EXTERNAL_CONTENT_URI; + field @NonNull public static final android.net.Uri INTERNAL_CONTENT_URI; + } + + public static final class MediaStore.Files { + ctor public MediaStore.Files(); + method public static android.net.Uri getContentUri(String); + method public static android.net.Uri getContentUri(String, long); + } + + public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns { + field public static final String MEDIA_TYPE = "media_type"; + field public static final int MEDIA_TYPE_AUDIO = 2; // 0x2 + field public static final int MEDIA_TYPE_DOCUMENT = 6; // 0x6 + field public static final int MEDIA_TYPE_IMAGE = 1; // 0x1 + field public static final int MEDIA_TYPE_NONE = 0; // 0x0 + field @Deprecated public static final int MEDIA_TYPE_PLAYLIST = 4; // 0x4 + field public static final int MEDIA_TYPE_SUBTITLE = 5; // 0x5 + field public static final int MEDIA_TYPE_VIDEO = 3; // 0x3 + field public static final String MIME_TYPE = "mime_type"; + field public static final String PARENT = "parent"; + } + + public static final class MediaStore.Images { + ctor public MediaStore.Images(); + } + + public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns { + field public static final String DESCRIPTION = "description"; + field public static final String EXPOSURE_TIME = "exposure_time"; + field public static final String F_NUMBER = "f_number"; + field public static final String ISO = "iso"; + field public static final String IS_PRIVATE = "isprivate"; + field @Deprecated public static final String LATITUDE = "latitude"; + field @Deprecated public static final String LONGITUDE = "longitude"; + field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic"; + field @Deprecated public static final String PICASA_ID = "picasa_id"; + field public static final String SCENE_CAPTURE_TYPE = "scene_capture_type"; + } + + public static final class MediaStore.Images.Media implements android.provider.MediaStore.Images.ImageColumns { + ctor public MediaStore.Images.Media(); + method @Deprecated public static android.graphics.Bitmap getBitmap(android.content.ContentResolver, android.net.Uri) throws java.io.FileNotFoundException, java.io.IOException; + method public static android.net.Uri getContentUri(String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); + method @Deprecated public static String insertImage(android.content.ContentResolver, String, String, String) throws java.io.FileNotFoundException; + method @Deprecated public static String insertImage(android.content.ContentResolver, android.graphics.Bitmap, String, String); + method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]); + method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[], String, String); + method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[], String, String[], String); + field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/image"; + field public static final String DEFAULT_SORT_ORDER = "bucket_display_name"; + field public static final android.net.Uri EXTERNAL_CONTENT_URI; + field public static final android.net.Uri INTERNAL_CONTENT_URI; + } + + @Deprecated public static class MediaStore.Images.Thumbnails implements android.provider.BaseColumns { + ctor @Deprecated public MediaStore.Images.Thumbnails(); + method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long); + method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long); + method @Deprecated public static android.net.Uri getContentUri(String); + method @Deprecated @NonNull public static android.util.Size getKindSize(int); + method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options); + method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options); + method @Deprecated public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]); + method @Deprecated public static final android.database.Cursor queryMiniThumbnail(android.content.ContentResolver, long, int, String[]); + method @Deprecated public static final android.database.Cursor queryMiniThumbnails(android.content.ContentResolver, android.net.Uri, int, String[]); + field @Deprecated public static final String DATA = "_data"; + field @Deprecated public static final String DEFAULT_SORT_ORDER = "image_id ASC"; + field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI; + field @Deprecated public static final int FULL_SCREEN_KIND = 2; // 0x2 + field @Deprecated public static final String HEIGHT = "height"; + field @Deprecated public static final String IMAGE_ID = "image_id"; + field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI; + field @Deprecated public static final String KIND = "kind"; + field @Deprecated public static final int MICRO_KIND = 3; // 0x3 + field @Deprecated public static final int MINI_KIND = 1; // 0x1 + field @Deprecated public static final String THUMB_DATA = "thumb_data"; + field @Deprecated public static final String WIDTH = "width"; + } + + public static interface MediaStore.MediaColumns extends android.provider.BaseColumns { + field public static final String ALBUM = "album"; + field public static final String ALBUM_ARTIST = "album_artist"; + field public static final String ARTIST = "artist"; + field public static final String AUTHOR = "author"; + field public static final String BITRATE = "bitrate"; + field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name"; + field public static final String BUCKET_ID = "bucket_id"; + field public static final String CAPTURE_FRAMERATE = "capture_framerate"; + field public static final String CD_TRACK_NUMBER = "cd_track_number"; + field public static final String COMPILATION = "compilation"; + field public static final String COMPOSER = "composer"; + field public static final String DATA = "_data"; + field public static final String DATE_ADDED = "date_added"; + field public static final String DATE_EXPIRES = "date_expires"; + field public static final String DATE_MODIFIED = "date_modified"; + field public static final String DATE_TAKEN = "datetaken"; + field public static final String DISC_NUMBER = "disc_number"; + field public static final String DISPLAY_NAME = "_display_name"; + field public static final String DOCUMENT_ID = "document_id"; + field public static final String DURATION = "duration"; + field public static final String GENERATION_ADDED = "generation_added"; + field public static final String GENERATION_MODIFIED = "generation_modified"; + field public static final String GENRE = "genre"; + field public static final String HEIGHT = "height"; + field public static final String INSTANCE_ID = "instance_id"; + field public static final String IS_DOWNLOAD = "is_download"; + field public static final String IS_DRM = "is_drm"; + field public static final String IS_FAVORITE = "is_favorite"; + field public static final String IS_PENDING = "is_pending"; + field public static final String IS_TRASHED = "is_trashed"; + field public static final String MIME_TYPE = "mime_type"; + field public static final String NUM_TRACKS = "num_tracks"; + field public static final String ORIENTATION = "orientation"; + field public static final String ORIGINAL_DOCUMENT_ID = "original_document_id"; + field public static final String OWNER_PACKAGE_NAME = "owner_package_name"; + field public static final String RELATIVE_PATH = "relative_path"; + field public static final String RESOLUTION = "resolution"; + field public static final String SIZE = "_size"; + field public static final String TITLE = "title"; + field public static final String VOLUME_NAME = "volume_name"; + field public static final String WIDTH = "width"; + field public static final String WRITER = "writer"; + field public static final String XMP = "xmp"; + field public static final String YEAR = "year"; + } + + public static class MediaStore.PickerMediaColumns { + field public static final String DATA = "_data"; + field public static final String DATE_TAKEN = "datetaken"; + field public static final String DISPLAY_NAME = "_display_name"; + field public static final String DURATION_MILLIS = "duration"; + field public static final String MIME_TYPE = "mime_type"; + field public static final String SIZE = "_size"; + } + + public static final class MediaStore.Video { + ctor public MediaStore.Video(); + method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]); + field public static final String DEFAULT_SORT_ORDER = "_display_name"; + } + + public static final class MediaStore.Video.Media implements android.provider.MediaStore.Video.VideoColumns { + ctor public MediaStore.Video.Media(); + method public static android.net.Uri getContentUri(String); + method @NonNull public static android.net.Uri getContentUri(@NonNull String, long); + field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/video"; + field public static final String DEFAULT_SORT_ORDER = "title"; + field public static final android.net.Uri EXTERNAL_CONTENT_URI; + field public static final android.net.Uri INTERNAL_CONTENT_URI; + } + + @Deprecated public static class MediaStore.Video.Thumbnails implements android.provider.BaseColumns { + ctor @Deprecated public MediaStore.Video.Thumbnails(); + method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long); + method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long); + method @Deprecated public static android.net.Uri getContentUri(String); + method @Deprecated @NonNull public static android.util.Size getKindSize(int); + method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options); + method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options); + field @Deprecated public static final String DATA = "_data"; + field @Deprecated public static final String DEFAULT_SORT_ORDER = "video_id ASC"; + field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI; + field @Deprecated public static final int FULL_SCREEN_KIND = 2; // 0x2 + field @Deprecated public static final String HEIGHT = "height"; + field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI; + field @Deprecated public static final String KIND = "kind"; + field @Deprecated public static final int MICRO_KIND = 3; // 0x3 + field @Deprecated public static final int MINI_KIND = 1; // 0x1 + field @Deprecated public static final String VIDEO_ID = "video_id"; + field @Deprecated public static final String WIDTH = "width"; + } + + public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns { + field public static final String BOOKMARK = "bookmark"; + field public static final String CATEGORY = "category"; + field public static final String COLOR_RANGE = "color_range"; + field public static final String COLOR_STANDARD = "color_standard"; + field public static final String COLOR_TRANSFER = "color_transfer"; + field public static final String DESCRIPTION = "description"; + field public static final String IS_PRIVATE = "isprivate"; + field public static final String LANGUAGE = "language"; + field @Deprecated public static final String LATITUDE = "latitude"; + field @Deprecated public static final String LONGITUDE = "longitude"; + field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic"; + field public static final String TAGS = "tags"; + } + +} + diff --git a/extensions/3/public/api/framework-ondevicepersonalization-removed.txt b/extensions/3/public/api/framework-ondevicepersonalization-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-ondevicepersonalization-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-ondevicepersonalization.txt b/extensions/3/public/api/framework-ondevicepersonalization.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-ondevicepersonalization.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-permission-removed.txt b/extensions/3/public/api/framework-permission-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-permission-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-permission-s-removed.txt b/extensions/3/public/api/framework-permission-s-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-permission-s-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-permission-s.txt b/extensions/3/public/api/framework-permission-s.txt new file mode 100644 index 000000000..4ecc98980 --- /dev/null +++ b/extensions/3/public/api/framework-permission-s.txt @@ -0,0 +1,19 @@ +// Signature format: 2.0 +package android.app.role { + + public final class RoleManager { + method @NonNull public android.content.Intent createRequestRoleIntent(@NonNull String); + method public boolean isRoleAvailable(@NonNull String); + method public boolean isRoleHeld(@NonNull String); + field public static final String ROLE_ASSISTANT = "android.app.role.ASSISTANT"; + field public static final String ROLE_BROWSER = "android.app.role.BROWSER"; + field public static final String ROLE_CALL_REDIRECTION = "android.app.role.CALL_REDIRECTION"; + field public static final String ROLE_CALL_SCREENING = "android.app.role.CALL_SCREENING"; + field public static final String ROLE_DIALER = "android.app.role.DIALER"; + field public static final String ROLE_EMERGENCY = "android.app.role.EMERGENCY"; + field public static final String ROLE_HOME = "android.app.role.HOME"; + field public static final String ROLE_SMS = "android.app.role.SMS"; + } + +} + diff --git a/extensions/3/public/api/framework-permission.txt b/extensions/3/public/api/framework-permission.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-permission.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-scheduling-removed.txt b/extensions/3/public/api/framework-scheduling-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-scheduling-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-scheduling.txt b/extensions/3/public/api/framework-scheduling.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-scheduling.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-sdkextensions-removed.txt b/extensions/3/public/api/framework-sdkextensions-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-sdkextensions-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-sdkextensions.txt b/extensions/3/public/api/framework-sdkextensions.txt new file mode 100644 index 000000000..180afea04 --- /dev/null +++ b/extensions/3/public/api/framework-sdkextensions.txt @@ -0,0 +1,10 @@ +// Signature format: 2.0 +package android.os.ext { + + public class SdkExtensions { + method @NonNull public static java.util.Map<java.lang.Integer,java.lang.Integer> getAllExtensionVersions(); + method public static int getExtensionVersion(int); + } + +} + diff --git a/extensions/3/public/api/framework-sdksandbox-removed.txt b/extensions/3/public/api/framework-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-sdksandbox.txt b/extensions/3/public/api/framework-sdksandbox.txt new file mode 100644 index 000000000..25bbd9622 --- /dev/null +++ b/extensions/3/public/api/framework-sdksandbox.txt @@ -0,0 +1,11 @@ +// Signature format: 2.0 +package android.app.sdksandbox { + + public final class SdkSandboxManager { + method public static int getSdkSandboxState(); + field public static final int SDK_SANDBOX_STATE_DISABLED = 0; // 0x0 + field public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION = 2; // 0x2 + } + +} + diff --git a/extensions/3/public/api/framework-statsd-removed.txt b/extensions/3/public/api/framework-statsd-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-statsd-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-statsd.txt b/extensions/3/public/api/framework-statsd.txt new file mode 100644 index 000000000..a65569347 --- /dev/null +++ b/extensions/3/public/api/framework-statsd.txt @@ -0,0 +1,12 @@ +// Signature format: 2.0 +package android.util { + + public final class StatsLog { + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public static boolean logBinaryPushStateChanged(@NonNull String, long, int, int, @NonNull long[]); + method public static boolean logEvent(int); + method public static boolean logStart(int); + method public static boolean logStop(int); + } + +} + diff --git a/extensions/3/public/api/framework-tethering-removed.txt b/extensions/3/public/api/framework-tethering-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-tethering-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-tethering.txt b/extensions/3/public/api/framework-tethering.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-tethering.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-uwb-removed.txt b/extensions/3/public/api/framework-uwb-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-uwb-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-uwb.txt b/extensions/3/public/api/framework-uwb.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-uwb.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-wifi-removed.txt b/extensions/3/public/api/framework-wifi-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/framework-wifi-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/framework-wifi.txt b/extensions/3/public/api/framework-wifi.txt new file mode 100644 index 000000000..f78a462c9 --- /dev/null +++ b/extensions/3/public/api/framework-wifi.txt @@ -0,0 +1,1588 @@ +// Signature format: 2.0 +package android.net.wifi { + + public abstract class EasyConnectStatusCallback { + field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe + field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb + field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6 + field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc + field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5 + field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL = -14; // 0xfffffff2 + field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4 + field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9 + field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7 + field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff + field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd + field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8 + field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa + field public static final int EASY_CONNECT_EVENT_FAILURE_URI_GENERATION = -13; // 0xfffffff3 + } + + public final class MloLink implements android.os.Parcelable { + ctor public MloLink(); + method public int describeContents(); + method @Nullable public android.net.MacAddress getApMacAddress(); + method public int getBand(); + method @IntRange(from=1) public int getChannel(); + method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getLinkId(); + method @Nullable public android.net.MacAddress getStaMacAddress(); + method public int getState(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.MloLink> CREATOR; + field public static final int INVALID_MLO_LINK_ID = -1; // 0xffffffff + field public static final int MLO_LINK_STATE_ACTIVE = 3; // 0x3 + field public static final int MLO_LINK_STATE_IDLE = 2; // 0x2 + field public static final int MLO_LINK_STATE_INVALID = 0; // 0x0 + field public static final int MLO_LINK_STATE_UNASSOCIATED = 1; // 0x1 + } + + public final class ScanResult implements android.os.Parcelable { + ctor public ScanResult(@NonNull android.net.wifi.ScanResult); + ctor public ScanResult(); + method public static int convertChannelToFrequencyMhzIfSupported(int, int); + method public static int convertFrequencyMhzToChannelIfSupported(int); + method public int describeContents(); + method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks(); + method @Nullable public android.net.MacAddress getApMldMacAddress(); + method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId(); + method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements(); + method @NonNull public int[] getSecurityTypes(); + method @Nullable public android.net.wifi.WifiSsid getWifiSsid(); + method public int getWifiStandard(); + method public boolean is80211mcResponder(); + method public boolean isPasspointNetwork(); + method public void writeToParcel(android.os.Parcel, int); + field public String BSSID; + field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3 + field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0 + field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5 + field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1 + field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2 + field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4 + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR; + field public static final int PREAMBLE_EHT = 4; // 0x4 + field public static final int PREAMBLE_HE = 3; // 0x3 + field public static final int PREAMBLE_HT = 1; // 0x1 + field public static final int PREAMBLE_LEGACY = 0; // 0x0 + field public static final int PREAMBLE_VHT = 2; // 0x2 + field @Deprecated public String SSID; + field public static final int UNSPECIFIED = -1; // 0xffffffff + field public static final int WIFI_BAND_24_GHZ = 1; // 0x1 + field public static final int WIFI_BAND_5_GHZ = 2; // 0x2 + field public static final int WIFI_BAND_60_GHZ = 16; // 0x10 + field public static final int WIFI_BAND_6_GHZ = 8; // 0x8 + field public static final int WIFI_STANDARD_11AC = 5; // 0x5 + field public static final int WIFI_STANDARD_11AD = 7; // 0x7 + field public static final int WIFI_STANDARD_11AX = 6; // 0x6 + field public static final int WIFI_STANDARD_11BE = 8; // 0x8 + field public static final int WIFI_STANDARD_11N = 4; // 0x4 + field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1 + field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0 + field public String capabilities; + field public int centerFreq0; + field public int centerFreq1; + field public int channelWidth; + field public int frequency; + field public int level; + field @Deprecated public CharSequence operatorFriendlyName; + field public long timestamp; + field @Deprecated public CharSequence venueName; + } + + public static class ScanResult.InformationElement implements android.os.Parcelable { + ctor public ScanResult.InformationElement(int, int, @NonNull byte[]); + ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement); + method public int describeContents(); + method @NonNull public java.nio.ByteBuffer getBytes(); + method public int getId(); + method public int getIdExt(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement> CREATOR; + } + + public final class SoftApConfiguration implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.MacAddress getBssid(); + method @Nullable public String getPassphrase(); + method public int getSecurityType(); + method @Deprecated @Nullable public String getSsid(); + method @Nullable public android.net.wifi.WifiSsid getWifiSsid(); + method public boolean isHiddenSsid(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR; + field public static final int SECURITY_TYPE_OPEN = 0; // 0x0 + field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1 + field public static final int SECURITY_TYPE_WPA3_OWE = 5; // 0x5 + field public static final int SECURITY_TYPE_WPA3_OWE_TRANSITION = 4; // 0x4 + field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3 + field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2 + } + + public enum SupplicantState implements android.os.Parcelable { + method public int describeContents(); + method public static boolean isValidState(android.net.wifi.SupplicantState); + method public void writeToParcel(android.os.Parcel, int); + enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED; + enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING; + enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING; + enum_constant public static final android.net.wifi.SupplicantState COMPLETED; + enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED; + enum_constant public static final android.net.wifi.SupplicantState DORMANT; + enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE; + enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE; + enum_constant public static final android.net.wifi.SupplicantState INACTIVE; + enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED; + enum_constant public static final android.net.wifi.SupplicantState INVALID; + enum_constant public static final android.net.wifi.SupplicantState SCANNING; + enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED; + } + + @Deprecated public class WifiConfiguration implements android.os.Parcelable { + ctor @Deprecated public WifiConfiguration(); + ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration); + method public int describeContents(); + method @Deprecated public android.net.ProxyInfo getHttpProxy(); + method @Deprecated @NonNull public String getKey(); + method @Deprecated public int getMacRandomizationSetting(); + method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress(); + method @Deprecated public boolean isDppConfigurator(); + method @Deprecated public boolean isPasspoint(); + method @Deprecated public void setHttpProxy(android.net.ProxyInfo); + method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration); + method @Deprecated public void setMacRandomizationSetting(int); + method @Deprecated public void setSecurityParams(int); + method public void writeToParcel(android.os.Parcel, int); + field @Deprecated public String BSSID; + field @Deprecated public String FQDN; + field @Deprecated public static final int RANDOMIZATION_AUTO = 3; // 0x3 + field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0 + field @Deprecated public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2 + field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1 + field @Deprecated public static final int SECURITY_TYPE_DPP = 13; // 0xd + field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3 + field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5 + field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9 + field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5 + field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0 + field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6 + field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2 + field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4 + field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8 + field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7 + field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1 + field @Deprecated public String SSID; + field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms; + field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers; + field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers; + field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement; + field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers; + field @Deprecated @NonNull public java.util.BitSet allowedProtocols; + field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers; + field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig; + field @Deprecated public boolean hiddenSSID; + field @Deprecated public boolean isHomeProviderNetwork; + field @Deprecated public int networkId; + field @Deprecated public String preSharedKey; + field @Deprecated public int priority; + field @Deprecated public String providerFriendlyName; + field @Deprecated public long[] roamingConsortiumIds; + field @Deprecated public int status; + field @Deprecated public String[] wepKeys; + field @Deprecated public int wepTxKeyIndex; + } + + @Deprecated public static class WifiConfiguration.AuthAlgorithm { + field @Deprecated public static final int LEAP = 2; // 0x2 + field @Deprecated public static final int OPEN = 0; // 0x0 + field @Deprecated public static final int SAE = 3; // 0x3 + field @Deprecated public static final int SHARED = 1; // 0x1 + field @Deprecated public static final String[] strings; + field @Deprecated public static final String varName = "auth_alg"; + } + + @Deprecated public static class WifiConfiguration.GroupCipher { + field @Deprecated public static final int CCMP = 3; // 0x3 + field @Deprecated public static final int GCMP_128 = 7; // 0x7 + field @Deprecated public static final int GCMP_256 = 5; // 0x5 + field @Deprecated public static final int SMS4 = 6; // 0x6 + field @Deprecated public static final int TKIP = 2; // 0x2 + field @Deprecated public static final int WEP104 = 1; // 0x1 + field @Deprecated public static final int WEP40 = 0; // 0x0 + field @Deprecated public static final String[] strings; + field @Deprecated public static final String varName = "group"; + } + + @Deprecated public static class WifiConfiguration.GroupMgmtCipher { + field @Deprecated public static final int BIP_CMAC_256 = 0; // 0x0 + field @Deprecated public static final int BIP_GMAC_128 = 1; // 0x1 + field @Deprecated public static final int BIP_GMAC_256 = 2; // 0x2 + } + + @Deprecated public static class WifiConfiguration.KeyMgmt { + field @Deprecated public static final int IEEE8021X = 3; // 0x3 + field @Deprecated public static final int NONE = 0; // 0x0 + field @Deprecated public static final int OWE = 9; // 0x9 + field @Deprecated public static final int SAE = 8; // 0x8 + field @Deprecated public static final int SUITE_B_192 = 10; // 0xa + field @Deprecated public static final int WPA_EAP = 2; // 0x2 + field @Deprecated public static final int WPA_PSK = 1; // 0x1 + field @Deprecated public static final String[] strings; + field @Deprecated public static final String varName = "key_mgmt"; + } + + @Deprecated public static class WifiConfiguration.PairwiseCipher { + field @Deprecated public static final int CCMP = 2; // 0x2 + field @Deprecated public static final int GCMP_128 = 5; // 0x5 + field @Deprecated public static final int GCMP_256 = 3; // 0x3 + field @Deprecated public static final int NONE = 0; // 0x0 + field @Deprecated public static final int SMS4 = 4; // 0x4 + field @Deprecated public static final int TKIP = 1; // 0x1 + field @Deprecated public static final String[] strings; + field @Deprecated public static final String varName = "pairwise"; + } + + @Deprecated public static class WifiConfiguration.Protocol { + field @Deprecated public static final int RSN = 1; // 0x1 + field @Deprecated public static final int WAPI = 3; // 0x3 + field @Deprecated public static final int WPA = 0; // 0x0 + field @Deprecated public static final String[] strings; + field @Deprecated public static final String varName = "proto"; + } + + @Deprecated public static class WifiConfiguration.Status { + field @Deprecated public static final int CURRENT = 0; // 0x0 + field @Deprecated public static final int DISABLED = 1; // 0x1 + field @Deprecated public static final int ENABLED = 2; // 0x2 + field @Deprecated public static final String[] strings; + } + + public class WifiEnterpriseConfig implements android.os.Parcelable { + ctor public WifiEnterpriseConfig(); + ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig); + method public int describeContents(); + method public void enableTrustOnFirstUse(boolean); + method public String getAltSubjectMatch(); + method public String getAnonymousIdentity(); + method @Nullable public java.security.cert.X509Certificate getCaCertificate(); + method @Nullable public java.security.cert.X509Certificate[] getCaCertificates(); + method public java.security.cert.X509Certificate getClientCertificate(); + method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain(); + method @Nullable public String getClientKeyPairAlias(); + method @Nullable public java.security.PrivateKey getClientPrivateKey(); + method @Nullable public String getDecoratedIdentityPrefix(); + method public String getDomainSuffixMatch(); + method public int getEapMethod(); + method public String getIdentity(); + method public String getPassword(); + method public int getPhase2Method(); + method public String getPlmn(); + method public String getRealm(); + method @Deprecated public String getSubjectMatch(); + method public boolean hasCaCertificate(); + method public boolean isAuthenticationSimBased(); + method public boolean isEapMethodServerCertUsed(); + method public boolean isServerCertValidationEnabled(); + method public boolean isTrustOnFirstUseEnabled(); + method public void setAltSubjectMatch(String); + method public void setAnonymousIdentity(String); + method public void setCaCertificate(@Nullable java.security.cert.X509Certificate); + method public void setCaCertificates(@Nullable java.security.cert.X509Certificate[]); + method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate); + method public void setClientKeyEntryWithCertificateChain(java.security.PrivateKey, java.security.cert.X509Certificate[]); + method public void setClientKeyPairAlias(@NonNull String); + method public void setDecoratedIdentityPrefix(@Nullable String); + method public void setDomainSuffixMatch(String); + method public void setEapMethod(int); + method public void setIdentity(String); + method public void setPassword(String); + method public void setPhase2Method(int); + method public void setPlmn(String); + method public void setRealm(String); + method @Deprecated public void setSubjectMatch(String); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR; + field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA"; + field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME"; + field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA"; + field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME"; + field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_"; + field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_"; + } + + public static final class WifiEnterpriseConfig.Eap { + field public static final int AKA = 5; // 0x5 + field public static final int AKA_PRIME = 6; // 0x6 + field public static final int NONE = -1; // 0xffffffff + field public static final int PEAP = 0; // 0x0 + field public static final int PWD = 3; // 0x3 + field public static final int SIM = 4; // 0x4 + field public static final int TLS = 1; // 0x1 + field public static final int TTLS = 2; // 0x2 + field public static final int UNAUTH_TLS = 7; // 0x7 + field public static final int WAPI_CERT = 8; // 0x8 + } + + public static final class WifiEnterpriseConfig.Phase2 { + field public static final int AKA = 6; // 0x6 + field public static final int AKA_PRIME = 7; // 0x7 + field public static final int GTC = 4; // 0x4 + field public static final int MSCHAP = 2; // 0x2 + field public static final int MSCHAPV2 = 3; // 0x3 + field public static final int NONE = 0; // 0x0 + field public static final int PAP = 1; // 0x1 + field public static final int SIM = 5; // 0x5 + } + + public class WifiInfo implements android.os.Parcelable android.net.TransportInfo { + method public int describeContents(); + method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks(); + method @Nullable public android.net.MacAddress getApMldMacAddress(); + method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId(); + method public String getBSSID(); + method public int getCurrentSecurityType(); + method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState); + method public int getFrequency(); + method public boolean getHiddenSSID(); + method @Nullable public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements(); + method @Deprecated public int getIpAddress(); + method public int getLinkSpeed(); + method public String getMacAddress(); + method public int getMaxSupportedRxLinkSpeedMbps(); + method public int getMaxSupportedTxLinkSpeedMbps(); + method public int getNetworkId(); + method @Nullable public String getPasspointFqdn(); + method @Nullable public String getPasspointProviderFriendlyName(); + method public int getRssi(); + method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps(); + method public String getSSID(); + method public int getSubscriptionId(); + method public android.net.wifi.SupplicantState getSupplicantState(); + method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps(); + method public int getWifiStandard(); + method public boolean isRestricted(); + method @NonNull public android.net.wifi.WifiInfo makeCopy(long); + method public void writeToParcel(android.os.Parcel, int); + field public static final String FREQUENCY_UNITS = "MHz"; + field public static final String LINK_SPEED_UNITS = "Mbps"; + field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff + field public static final int SECURITY_TYPE_DPP = 13; // 0xd + field public static final int SECURITY_TYPE_EAP = 3; // 0x3 + field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9 + field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5 + field public static final int SECURITY_TYPE_OPEN = 0; // 0x0 + field public static final int SECURITY_TYPE_OSEN = 10; // 0xa + field public static final int SECURITY_TYPE_OWE = 6; // 0x6 + field public static final int SECURITY_TYPE_PASSPOINT_R1_R2 = 11; // 0xb + field public static final int SECURITY_TYPE_PASSPOINT_R3 = 12; // 0xc + field public static final int SECURITY_TYPE_PSK = 2; // 0x2 + field public static final int SECURITY_TYPE_SAE = 4; // 0x4 + field public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff + field public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8 + field public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7 + field public static final int SECURITY_TYPE_WEP = 1; // 0x1 + } + + public static final class WifiInfo.Builder { + ctor public WifiInfo.Builder(); + method @NonNull public android.net.wifi.WifiInfo build(); + method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String); + method @NonNull public android.net.wifi.WifiInfo.Builder setCurrentSecurityType(int); + method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int); + method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int); + method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]); + } + + public class WifiManager { + method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING}, conditional=true) public android.net.wifi.WifiManager.AddNetworkResult addNetworkPrivileged(@NonNull android.net.wifi.WifiConfiguration); + method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>); + method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public void addSuggestionConnectionStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addSuggestionUserApprovalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener); + method public void allowAutojoinGlobal(boolean); + method @Deprecated public static int calculateSignalLevel(int, int); + method @IntRange(from=0) public int calculateSignalLevel(int); + method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback); + method public static int compareSignalLevel(int, int); + method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String); + method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, String); + method @Deprecated public android.net.wifi.WifiManager.WifiLock createWifiLock(String); + method @Deprecated public boolean disableNetwork(int); + method @Deprecated public boolean disconnect(); + method @Deprecated public boolean enableNetwork(int, boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}, conditional=true) public void flushPasspointAnqpCache(); + method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiConfiguration> getCallerConfiguredNetworks(); + method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks(); + method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public android.net.wifi.WifiInfo getConnectionInfo(); + method @Deprecated public android.net.DhcpInfo getDhcpInfo(); + method public int getMaxNumberOfNetworkSuggestionsPerApp(); + method @IntRange(from=0) public int getMaxSignalLevel(); + method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions(); + method @Deprecated public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations(); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public java.util.List<android.net.wifi.ScanResult> getScanResults(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getStaConcurrencyForMultiInternetMode(); + method public int getWifiState(); + method public boolean is24GHzBandSupported(); + method public boolean is5GHzBandSupported(); + method public boolean is60GHzBandSupported(); + method public boolean is6GHzBandSupported(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled(); + method public boolean isBridgedApConcurrencySupported(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isCarrierNetworkOffloadEnabled(int, boolean); + method public boolean isDecoratedIdentitySupported(); + method @Deprecated public boolean isDeviceToApRttSupported(); + method public boolean isEasyConnectDppAkmSupported(); + method public boolean isEasyConnectEnrolleeResponderModeSupported(); + method public boolean isEasyConnectSupported(); + method public boolean isEnhancedOpenSupported(); + method public boolean isEnhancedPowerReportingSupported(); + method public boolean isMakeBeforeBreakWifiSwitchingSupported(); + method public boolean isP2pSupported(); + method public boolean isPasspointTermsAndConditionsSupported(); + method public boolean isPreferredNetworkOffloadSupported(); + method @Deprecated public boolean isScanAlwaysAvailable(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled(); + method public boolean isStaApConcurrencySupported(); + method public boolean isStaBridgedApConcurrencySupported(); + method public boolean isStaConcurrencyForLocalOnlyConnectionsSupported(); + method public boolean isStaConcurrencyForMultiInternetSupported(); + method public boolean isTdlsSupported(); + method public boolean isTrustOnFirstUseSupported(); + method public boolean isWapiSupported(); + method public boolean isWifiDisplayR2Supported(); + method public boolean isWifiEnabled(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiPasspointEnabled(); + method public boolean isWifiStandardSupported(int); + method public boolean isWpa3SaeH2eSupported(); + method public boolean isWpa3SaePublicKeySupported(); + method public boolean isWpa3SaeSupported(); + method public boolean isWpa3SuiteBSupported(); + method @Deprecated public boolean pingSupplicant(); + method public void queryAutojoinGlobal(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @Deprecated public boolean reassociate(); + method @Deprecated public boolean reconnect(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerSubsystemRestartTrackingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback); + method @Deprecated public boolean removeNetwork(int); + method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>); + method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>, int); + method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean removeNonCallerConfiguredNetworks(); + method @Deprecated public void removePasspointConfiguration(String); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionUserApprovalStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener); + method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_WIFI_INTERFACES, android.Manifest.permission.ACCESS_WIFI_STATE}) public void reportCreateInterfaceImpact(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.BiConsumer<java.lang.Boolean,java.util.Set<android.net.wifi.WifiManager.InterfaceCreationImpact>>); + method @Deprecated public boolean saveConfiguration(); + method public void setTdlsEnabled(java.net.InetAddress, boolean); + method public void setTdlsEnabledWithMacAddress(String, boolean); + method @Deprecated public boolean setWifiEnabled(boolean); + method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler); + method @Deprecated public boolean startScan(); + method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterSubsystemRestartTrackingCallback(@NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback); + method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration); + field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK"; + field public static final int ACTION_REMOVE_SUGGESTION_DISCONNECT = 2; // 0x2 + field public static final int ACTION_REMOVE_SUGGESTION_LINGER = 1; // 0x1 + field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE"; + field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION"; + field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED"; + field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1 + field @Deprecated public static final String EXTRA_BSSID = "bssid"; + field public static final String EXTRA_NETWORK_INFO = "networkInfo"; + field public static final String EXTRA_NETWORK_SUGGESTION = "android.net.wifi.extra.NETWORK_SUGGESTION"; + field public static final String EXTRA_NEW_RSSI = "newRssi"; + field @Deprecated public static final String EXTRA_NEW_STATE = "newState"; + field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state"; + field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated"; + field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE"; + field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected"; + field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError"; + field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo"; + field public static final String EXTRA_WIFI_STATE = "wifi_state"; + field public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED"; + field public static final String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE"; + field public static final String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED"; + field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS"; + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5 + field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_RESTRICTED_BY_ADMIN = 8; // 0x8 + field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0 + field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4 + field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2 + field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1 + field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3 + field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3 + field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0 + field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE"; + field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE"; + field public static final String UNKNOWN_SSID = "<unknown ssid>"; + field public static final int WIFI_INTERFACE_TYPE_AP = 1; // 0x1 + field public static final int WIFI_INTERFACE_TYPE_AWARE = 2; // 0x2 + field public static final int WIFI_INTERFACE_TYPE_DIRECT = 3; // 0x3 + field public static final int WIFI_INTERFACE_TYPE_STA = 0; // 0x0 + field @Deprecated public static final int WIFI_MODE_FULL = 1; // 0x1 + field public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3 + field public static final int WIFI_MODE_FULL_LOW_LATENCY = 4; // 0x4 + field @Deprecated public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2 + field public static final int WIFI_MULTI_INTERNET_MODE_DBS_AP = 1; // 0x1 + field public static final int WIFI_MULTI_INTERNET_MODE_DISABLED = 0; // 0x0 + field public static final int WIFI_MULTI_INTERNET_MODE_MULTI_AP = 2; // 0x2 + field public static final String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED"; + field public static final int WIFI_STATE_DISABLED = 1; // 0x1 + field public static final int WIFI_STATE_DISABLING = 0; // 0x0 + field public static final int WIFI_STATE_ENABLED = 3; // 0x3 + field public static final int WIFI_STATE_ENABLING = 2; // 0x2 + field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4 + field @Deprecated public static final int WPS_AUTH_FAILURE = 6; // 0x6 + field @Deprecated public static final int WPS_OVERLAP_ERROR = 3; // 0x3 + field @Deprecated public static final int WPS_TIMED_OUT = 7; // 0x7 + field @Deprecated public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5 + field @Deprecated public static final int WPS_WEP_PROHIBITED = 4; // 0x4 + } + + public static final class WifiManager.AddNetworkResult implements android.os.Parcelable { + ctor public WifiManager.AddNetworkResult(int, int); + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult> CREATOR; + field public static final int STATUS_ADD_PASSPOINT_FAILURE = 3; // 0x3 + field public static final int STATUS_ADD_WIFI_CONFIG_FAILURE = 4; // 0x4 + field public static final int STATUS_FAILURE_UNKNOWN = 1; // 0x1 + field public static final int STATUS_FAILURE_UPDATE_NETWORK_KEYS = 9; // 0x9 + field public static final int STATUS_INVALID_CONFIGURATION = 5; // 0x5 + field public static final int STATUS_INVALID_CONFIGURATION_ENTERPRISE = 10; // 0xa + field public static final int STATUS_NO_PERMISSION = 2; // 0x2 + field public static final int STATUS_NO_PERMISSION_MODIFY_CONFIG = 6; // 0x6 + field public static final int STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION = 8; // 0x8 + field public static final int STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING = 7; // 0x7 + field public static final int STATUS_SUCCESS = 0; // 0x0 + field public final int networkId; + field public final int statusCode; + } + + public static class WifiManager.InterfaceCreationImpact { + ctor public WifiManager.InterfaceCreationImpact(int, @NonNull java.util.Set<java.lang.String>); + method public int getInterfaceType(); + method @NonNull public java.util.Set<java.lang.String> getPackages(); + } + + public static class WifiManager.LocalOnlyHotspotCallback { + ctor public WifiManager.LocalOnlyHotspotCallback(); + method public void onFailed(int); + method public void onStarted(android.net.wifi.WifiManager.LocalOnlyHotspotReservation); + method public void onStopped(); + field public static final int ERROR_GENERIC = 2; // 0x2 + field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3 + field public static final int ERROR_NO_CHANNEL = 1; // 0x1 + field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4 + } + + public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable { + method public void close(); + method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration(); + method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration(); + } + + public class WifiManager.MulticastLock { + method public void acquire(); + method public boolean isHeld(); + method public void release(); + method public void setReferenceCounted(boolean); + } + + public abstract static class WifiManager.ScanResultsCallback { + ctor public WifiManager.ScanResultsCallback(); + method public abstract void onScanResultsAvailable(); + } + + public abstract static class WifiManager.SubsystemRestartTrackingCallback { + ctor public WifiManager.SubsystemRestartTrackingCallback(); + method public abstract void onSubsystemRestarted(); + method public abstract void onSubsystemRestarting(); + } + + public static interface WifiManager.SuggestionConnectionStatusListener { + method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int); + } + + public static interface WifiManager.SuggestionUserApprovalStatusListener { + method public void onUserApprovalStatusChange(int); + } + + public class WifiManager.WifiLock { + method public void acquire(); + method public boolean isHeld(); + method public void release(); + method public void setReferenceCounted(boolean); + method public void setWorkSource(android.os.WorkSource); + } + + @Deprecated public abstract static class WifiManager.WpsCallback { + ctor @Deprecated public WifiManager.WpsCallback(); + method @Deprecated public abstract void onFailed(int); + method @Deprecated public abstract void onStarted(String); + method @Deprecated public abstract void onSucceeded(); + } + + public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable { + method public int describeContents(); + method public int getBand(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR; + } + + public static final class WifiNetworkSpecifier.Builder { + ctor public WifiNetworkSpecifier.Builder(); + method @NonNull public android.net.wifi.WifiNetworkSpecifier build(); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBand(int); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2Passphrase(@NonNull String); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @Deprecated @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Passphrase(@NonNull String); + } + + public final class WifiNetworkSuggestion implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.MacAddress getBssid(); + method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig(); + method public int getMacRandomizationSetting(); + method @Nullable public String getPassphrase(); + method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig(); + method @IntRange(from=0) public int getPriority(); + method @IntRange(from=0) public int getPriorityGroup(); + method @Nullable public String getSsid(); + method @Nullable public android.os.ParcelUuid getSubscriptionGroup(); + method public int getSubscriptionId(); + method @Nullable public android.net.wifi.WifiSsid getWifiSsid(); + method public boolean isAppInteractionRequired(); + method public boolean isCarrierMerged(); + method public boolean isCredentialSharedWithUser(); + method public boolean isEnhancedOpen(); + method public boolean isHiddenSsid(); + method public boolean isInitialAutojoinEnabled(); + method public boolean isMetered(); + method public boolean isRestricted(); + method public boolean isUntrusted(); + method public boolean isUserInteractionRequired(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR; + field public static final int RANDOMIZATION_NON_PERSISTENT = 1; // 0x1 + field public static final int RANDOMIZATION_PERSISTENT = 0; // 0x0 + } + + public static final class WifiNetworkSuggestion.Builder { + ctor public WifiNetworkSuggestion.Builder(); + method @NonNull public android.net.wifi.WifiNetworkSuggestion build(); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierMerged(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsWpa3SaeH2eOnlyModeEnabled(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setMacRandomizationSetting(int); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(@IntRange(from=0) int); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setRestricted(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionGroup(@NonNull android.os.ParcelUuid); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionId(int); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWifiSsid(@NonNull android.net.wifi.WifiSsid); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @Deprecated @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Passphrase(@NonNull String); + } + + public final class WifiSsid implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.net.wifi.WifiSsid fromBytes(@Nullable byte[]); + method @NonNull public byte[] getBytes(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiSsid> CREATOR; + } + + public class WpsInfo implements android.os.Parcelable { + ctor public WpsInfo(); + ctor public WpsInfo(android.net.wifi.WpsInfo); + method public int describeContents(); + method public void writeToParcel(android.os.Parcel, int); + field public String BSSID; + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR; + field public static final int DISPLAY = 1; // 0x1 + field public static final int INVALID = 4; // 0x4 + field public static final int KEYPAD = 2; // 0x2 + field public static final int LABEL = 3; // 0x3 + field public static final int PBC = 0; // 0x0 + field public String pin; + field public int setup; + } + +} + +package android.net.wifi.aware { + + public class AttachCallback { + ctor public AttachCallback(); + method public void onAttachFailed(); + method public void onAttached(android.net.wifi.aware.WifiAwareSession); + method public void onAwareSessionTerminated(); + } + + public final class AwareResources implements android.os.Parcelable { + ctor public AwareResources(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int); + method public int describeContents(); + method @IntRange(from=0) public int getAvailableDataPathsCount(); + method @IntRange(from=0) public int getAvailablePublishSessionsCount(); + method @IntRange(from=0) public int getAvailableSubscribeSessionsCount(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources> CREATOR; + } + + public final class Characteristics implements android.os.Parcelable { + method public int describeContents(); + method public int getMaxMatchFilterLength(); + method public int getMaxServiceNameLength(); + method public int getMaxServiceSpecificInfoLength(); + method @IntRange(from=1) public int getNumberOfSupportedDataInterfaces(); + method @IntRange(from=1) public int getNumberOfSupportedDataPaths(); + method @IntRange(from=1) public int getNumberOfSupportedPublishSessions(); + method @IntRange(from=1) public int getNumberOfSupportedSubscribeSessions(); + method public int getSupportedCipherSuites(); + method public boolean isInstantCommunicationModeSupported(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR; + field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_128 = 4; // 0x4 + field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_256 = 8; // 0x8 + field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1 + field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2 + field public static final int WIFI_AWARE_CIPHER_SUITE_NONE = 0; // 0x0 + } + + public class DiscoverySession implements java.lang.AutoCloseable { + method public void close(); + method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(@NonNull android.net.wifi.aware.PeerHandle); + method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String); + method public void sendMessage(@NonNull android.net.wifi.aware.PeerHandle, int, @Nullable byte[]); + } + + public class DiscoverySessionCallback { + ctor public DiscoverySessionCallback(); + method public void onMessageReceived(android.net.wifi.aware.PeerHandle, byte[]); + method public void onMessageSendFailed(int); + method public void onMessageSendSucceeded(int); + method public void onPublishStarted(@NonNull android.net.wifi.aware.PublishDiscoverySession); + method public void onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>); + method public void onServiceDiscovered(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo); + method public void onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>, int); + method public void onServiceDiscoveredWithinRange(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo, int); + method public void onServiceLost(@NonNull android.net.wifi.aware.PeerHandle, int); + method public void onSessionConfigFailed(); + method public void onSessionConfigUpdated(); + method public void onSessionTerminated(); + method public void onSubscribeStarted(@NonNull android.net.wifi.aware.SubscribeDiscoverySession); + } + + public class IdentityChangedListener { + ctor public IdentityChangedListener(); + method public void onIdentityChanged(byte[]); + } + + public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable { + ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle); + method public int describeContents(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR; + } + + public class PeerHandle { + } + + public final class PublishConfig implements android.os.Parcelable { + method public int describeContents(); + method public int getInstantCommunicationBand(); + method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getSecurityConfig(); + method public boolean isInstantCommunicationModeEnabled(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR; + field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1 + field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0 + } + + public static final class PublishConfig.Builder { + ctor public PublishConfig.Builder(); + method public android.net.wifi.aware.PublishConfig build(); + method @NonNull public android.net.wifi.aware.PublishConfig.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig); + method @NonNull public android.net.wifi.aware.PublishConfig.Builder setInstantCommunicationModeEnabled(boolean, int); + method public android.net.wifi.aware.PublishConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>); + method public android.net.wifi.aware.PublishConfig.Builder setPublishType(int); + method public android.net.wifi.aware.PublishConfig.Builder setRangingEnabled(boolean); + method public android.net.wifi.aware.PublishConfig.Builder setServiceName(@NonNull String); + method public android.net.wifi.aware.PublishConfig.Builder setServiceSpecificInfo(@Nullable byte[]); + method public android.net.wifi.aware.PublishConfig.Builder setTerminateNotificationEnabled(boolean); + method public android.net.wifi.aware.PublishConfig.Builder setTtlSec(int); + } + + public class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession { + method public void updatePublish(@NonNull android.net.wifi.aware.PublishConfig); + } + + public final class ServiceDiscoveryInfo { + method @NonNull public java.util.List<byte[]> getMatchFilters(); + method public int getPeerCipherSuite(); + method @NonNull public android.net.wifi.aware.PeerHandle getPeerHandle(); + method @Nullable public byte[] getScid(); + method @Nullable public byte[] getServiceSpecificInfo(); + } + + public final class SubscribeConfig implements android.os.Parcelable { + method public int describeContents(); + method public int getInstantCommunicationBand(); + method public boolean isInstantCommunicationModeEnabled(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR; + field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1 + field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0 + } + + public static final class SubscribeConfig.Builder { + ctor public SubscribeConfig.Builder(); + method public android.net.wifi.aware.SubscribeConfig build(); + method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setInstantCommunicationModeEnabled(boolean, int); + method public android.net.wifi.aware.SubscribeConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>); + method public android.net.wifi.aware.SubscribeConfig.Builder setMaxDistanceMm(int); + method public android.net.wifi.aware.SubscribeConfig.Builder setMinDistanceMm(int); + method public android.net.wifi.aware.SubscribeConfig.Builder setServiceName(@NonNull String); + method public android.net.wifi.aware.SubscribeConfig.Builder setServiceSpecificInfo(@Nullable byte[]); + method public android.net.wifi.aware.SubscribeConfig.Builder setSubscribeType(int); + method public android.net.wifi.aware.SubscribeConfig.Builder setTerminateNotificationEnabled(boolean); + method public android.net.wifi.aware.SubscribeConfig.Builder setTtlSec(int); + } + + public class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession { + method public void updateSubscribe(@NonNull android.net.wifi.aware.SubscribeConfig); + } + + public final class WifiAwareChannelInfo implements android.os.Parcelable { + method public int describeContents(); + method @IntRange(from=0) public int getChannelBandwidth(); + method @IntRange(from=0) public int getChannelFrequencyMhz(); + method @IntRange(from=0) public int getSpatialStreamCount(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareChannelInfo> CREATOR; + } + + public final class WifiAwareDataPathSecurityConfig implements android.os.Parcelable { + method public int describeContents(); + method public int getCipherSuite(); + method @Nullable public byte[] getPmk(); + method @Nullable public byte[] getPmkId(); + method @Nullable public String getPskPassphrase(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareDataPathSecurityConfig> CREATOR; + } + + public static final class WifiAwareDataPathSecurityConfig.Builder { + ctor public WifiAwareDataPathSecurityConfig.Builder(int); + method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig build(); + method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmk(@NonNull byte[]); + method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmkId(@NonNull byte[]); + method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPskPassphrase(@NonNull String); + } + + public class WifiAwareManager { + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE}) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @Nullable android.os.Handler); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.AwareResources getAvailableAwareResources(); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.Characteristics getCharacteristics(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAvailable(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isDeviceAttached(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isInstantCommunicationModeEnabled(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isSetChannelOnDataPathSupported(); + field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String ACTION_WIFI_AWARE_RESOURCE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED"; + field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED"; + field public static final String EXTRA_AWARE_RESOURCES = "android.net.wifi.aware.extra.AWARE_RESOURCES"; + field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0 + field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1 + field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE = 1; // 0x1 + field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN = 0; // 0x0 + } + + public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo { + method public int describeContents(); + method @NonNull public java.util.List<android.net.wifi.aware.WifiAwareChannelInfo> getChannelInfoList(); + method @Nullable public java.net.Inet6Address getPeerIpv6Addr(); + method public int getPort(); + method public int getTransportProtocol(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR; + } + + public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable { + method public int describeContents(); + method @IntRange(from=0) public int getChannelFrequencyMhz(); + method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getWifiAwareDataPathSecurityConfig(); + method public boolean isChannelRequired(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR; + } + + public static final class WifiAwareNetworkSpecifier.Builder { + ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle); + ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.PublishDiscoverySession); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build(); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setChannelFrequencyMhz(@IntRange(from=0) int, boolean); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String); + method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int); + } + + public class WifiAwareSession implements java.lang.AutoCloseable { + method public void close(); + method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]); + method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(int, @NonNull byte[], @NonNull String); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void publish(@NonNull android.net.wifi.aware.PublishConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void subscribe(@NonNull android.net.wifi.aware.SubscribeConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler); + } + +} + +package android.net.wifi.hotspot2 { + + public final class ConfigParser { + method public static android.net.wifi.hotspot2.PasspointConfiguration parsePasspointConfig(String, byte[]); + } + + public final class PasspointConfiguration implements android.os.Parcelable { + ctor public PasspointConfiguration(); + ctor public PasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration); + method public int describeContents(); + method public android.net.wifi.hotspot2.pps.Credential getCredential(); + method @Nullable public String getDecoratedIdentityPrefix(); + method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp(); + method public long getSubscriptionExpirationTimeMillis(); + method @NonNull public String getUniqueId(); + method public boolean isOsuProvisioned(); + method public void setCredential(android.net.wifi.hotspot2.pps.Credential); + method public void setDecoratedIdentityPrefix(@Nullable String); + method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp); + method public void setSubscriptionExpirationTimeInMillis(long); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR; + } + +} + +package android.net.wifi.hotspot2.omadm { + + public final class PpsMoParser { + method public static android.net.wifi.hotspot2.PasspointConfiguration parseMoText(String); + } + +} + +package android.net.wifi.hotspot2.pps { + + public final class Credential implements android.os.Parcelable { + ctor public Credential(); + ctor public Credential(android.net.wifi.hotspot2.pps.Credential); + method public int describeContents(); + method public java.security.cert.X509Certificate getCaCertificate(); + method public android.net.wifi.hotspot2.pps.Credential.CertificateCredential getCertCredential(); + method public java.security.cert.X509Certificate[] getClientCertificateChain(); + method public java.security.PrivateKey getClientPrivateKey(); + method public String getRealm(); + method public android.net.wifi.hotspot2.pps.Credential.SimCredential getSimCredential(); + method public android.net.wifi.hotspot2.pps.Credential.UserCredential getUserCredential(); + method public void setCaCertificate(java.security.cert.X509Certificate); + method public void setCertCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential); + method public void setClientCertificateChain(java.security.cert.X509Certificate[]); + method public void setClientPrivateKey(java.security.PrivateKey); + method public void setRealm(String); + method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential); + method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR; + } + + public static final class Credential.CertificateCredential implements android.os.Parcelable { + ctor public Credential.CertificateCredential(); + ctor public Credential.CertificateCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential); + method public int describeContents(); + method public byte[] getCertSha256Fingerprint(); + method public String getCertType(); + method public void setCertSha256Fingerprint(byte[]); + method public void setCertType(String); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR; + } + + public static final class Credential.SimCredential implements android.os.Parcelable { + ctor public Credential.SimCredential(); + ctor public Credential.SimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential); + method public int describeContents(); + method public int getEapType(); + method public String getImsi(); + method public void setEapType(int); + method public void setImsi(String); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR; + } + + public static final class Credential.UserCredential implements android.os.Parcelable { + ctor public Credential.UserCredential(); + ctor public Credential.UserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential); + method public int describeContents(); + method public int getEapType(); + method public String getNonEapInnerMethod(); + method public String getPassword(); + method public String getUsername(); + method public void setEapType(int); + method public void setNonEapInnerMethod(String); + method public void setPassword(String); + method public void setUsername(String); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR; + } + + public final class HomeSp implements android.os.Parcelable { + ctor public HomeSp(); + ctor public HomeSp(android.net.wifi.hotspot2.pps.HomeSp); + method public int describeContents(); + method public String getFqdn(); + method public String getFriendlyName(); + method @Nullable public long[] getMatchAllOis(); + method @Nullable public long[] getMatchAnyOis(); + method @NonNull public java.util.Collection<java.lang.String> getOtherHomePartnersList(); + method public long[] getRoamingConsortiumOis(); + method public void setFqdn(String); + method public void setFriendlyName(String); + method public void setMatchAllOis(@Nullable long[]); + method public void setMatchAnyOis(@Nullable long[]); + method public void setOtherHomePartnersList(@NonNull java.util.Collection<java.lang.String>); + method public void setRoamingConsortiumOis(long[]); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR; + } + +} + +package android.net.wifi.p2p { + + public class WifiP2pConfig implements android.os.Parcelable { + ctor public WifiP2pConfig(); + ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig); + method public int describeContents(); + method public int getGroupOwnerBand(); + method public int getNetworkId(); + method @Nullable public String getNetworkName(); + method @Nullable public String getPassphrase(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR; + field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1 + field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2 + field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0 + field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff + field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf + field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0 + field public String deviceAddress; + field @IntRange(from=0, to=15) public int groupOwnerIntent; + field public android.net.wifi.WpsInfo wps; + } + + public static final class WifiP2pConfig.Builder { + ctor public WifiP2pConfig.Builder(); + method @NonNull public android.net.wifi.p2p.WifiP2pConfig build(); + method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean); + method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress); + method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int); + method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int); + method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String); + method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String); + } + + public class WifiP2pDevice implements android.os.Parcelable { + ctor public WifiP2pDevice(); + ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice); + method public int describeContents(); + method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements(); + method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo(); + method public boolean isGroupOwner(); + method public boolean isServiceDiscoveryCapable(); + method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice); + method public boolean wpsDisplaySupported(); + method public boolean wpsKeypadSupported(); + method public boolean wpsPbcSupported(); + method public void writeToParcel(android.os.Parcel, int); + field public static final int AVAILABLE = 3; // 0x3 + field public static final int CONNECTED = 0; // 0x0 + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR; + field public static final int FAILED = 2; // 0x2 + field public static final int INVITED = 1; // 0x1 + field public static final int UNAVAILABLE = 4; // 0x4 + field public String deviceAddress; + field public String deviceName; + field public String primaryDeviceType; + field public String secondaryDeviceType; + field public int status; + } + + public class WifiP2pDeviceList implements android.os.Parcelable { + ctor public WifiP2pDeviceList(); + ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList); + method public int describeContents(); + method public android.net.wifi.p2p.WifiP2pDevice get(String); + method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR; + } + + public class WifiP2pGroup implements android.os.Parcelable { + ctor public WifiP2pGroup(); + ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup); + method public int describeContents(); + method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList(); + method public int getFrequency(); + method public String getInterface(); + method public int getNetworkId(); + method public String getNetworkName(); + method public android.net.wifi.p2p.WifiP2pDevice getOwner(); + method public String getPassphrase(); + method public boolean isGroupOwner(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR; + field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe + field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff + } + + public class WifiP2pInfo implements android.os.Parcelable { + ctor public WifiP2pInfo(); + ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo); + method public int describeContents(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR; + field public boolean groupFormed; + field public java.net.InetAddress groupOwnerAddress; + field public boolean isGroupOwner; + } + + public class WifiP2pManager { + method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void addExternalApprover(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @NonNull android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void addLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void addServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void clearLocalServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void clearServiceRequests(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSocialChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSpecificFrequency(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public static int getP2pMaxAllowedVendorElementsLengthBytes(); + method public android.net.wifi.p2p.WifiP2pManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager.ChannelListener); + method public boolean isChannelConstrainedDiscoverySupported(); + method public boolean isGroupClientRemovalSupported(); + method public boolean isSetVendorElementsSupported(); + method public void removeClient(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void removeExternalApprover(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void removeLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void removeServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestDeviceInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener); + method public void requestDiscoveryState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.GroupInfoListener); + method public void requestNetworkInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener); + method public void requestP2pState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.P2pStateListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PeerListListener); + method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void setDnsSdResponseListeners(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener); + method public void setServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener); + method public void setUpnpServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setVendorElements(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method public void stopPeerDiscovery(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener); + field public static final String ACTION_WIFI_P2P_REQUEST_RESPONSE_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_REQUEST_RESPONSE_CHANGED"; + field public static final int BUSY = 2; // 0x2 + field public static final int CONNECTION_REQUEST_ACCEPT = 0; // 0x0 + field public static final int CONNECTION_REQUEST_DEFER_SHOW_PIN_TO_SERVICE = 3; // 0x3 + field public static final int CONNECTION_REQUEST_DEFER_TO_SERVICE = 2; // 0x2 + field public static final int CONNECTION_REQUEST_REJECT = 1; // 0x1 + field public static final int ERROR = 0; // 0x0 + field public static final String EXTRA_DISCOVERY_STATE = "discoveryState"; + field public static final String EXTRA_NETWORK_INFO = "networkInfo"; + field public static final String EXTRA_P2P_DEVICE_LIST = "wifiP2pDeviceList"; + field public static final String EXTRA_REQUEST_CONFIG = "android.net.wifi.p2p.extra.REQUEST_CONFIG"; + field public static final String EXTRA_REQUEST_RESPONSE = "android.net.wifi.p2p.extra.REQUEST_RESPONSE"; + field public static final String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice"; + field public static final String EXTRA_WIFI_P2P_GROUP = "p2pGroupInfo"; + field public static final String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo"; + field public static final String EXTRA_WIFI_STATE = "wifi_p2p_state"; + field public static final int NO_SERVICE_REQUESTS = 3; // 0x3 + field public static final int P2P_UNSUPPORTED = 1; // 0x1 + field public static final String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE"; + field public static final String WIFI_P2P_DISCOVERY_CHANGED_ACTION = "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE"; + field public static final int WIFI_P2P_DISCOVERY_STARTED = 2; // 0x2 + field public static final int WIFI_P2P_DISCOVERY_STOPPED = 1; // 0x1 + field public static final String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED"; + field public static final String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED"; + field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1 + field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2 + field public static final String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED"; + } + + public static interface WifiP2pManager.ActionListener { + method public void onFailure(int); + method public void onSuccess(); + } + + public static class WifiP2pManager.Channel implements java.lang.AutoCloseable { + method public void close(); + } + + public static interface WifiP2pManager.ChannelListener { + method public void onChannelDisconnected(); + } + + public static interface WifiP2pManager.ConnectionInfoListener { + method public void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo); + } + + public static interface WifiP2pManager.DeviceInfoListener { + method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice); + } + + public static interface WifiP2pManager.DiscoveryStateListener { + method public void onDiscoveryStateAvailable(int); + } + + public static interface WifiP2pManager.DnsSdServiceResponseListener { + method public void onDnsSdServiceAvailable(String, String, android.net.wifi.p2p.WifiP2pDevice); + } + + public static interface WifiP2pManager.DnsSdTxtRecordListener { + method public void onDnsSdTxtRecordAvailable(String, java.util.Map<java.lang.String,java.lang.String>, android.net.wifi.p2p.WifiP2pDevice); + } + + public static interface WifiP2pManager.ExternalApproverRequestListener { + method public void onAttached(@NonNull android.net.MacAddress); + method public void onConnectionRequested(int, @NonNull android.net.wifi.p2p.WifiP2pConfig, @NonNull android.net.wifi.p2p.WifiP2pDevice); + method public void onDetached(@NonNull android.net.MacAddress, int); + method public void onPinGenerated(@NonNull android.net.MacAddress, @NonNull String); + field public static final int APPROVER_DETACH_REASON_CLOSE = 3; // 0x3 + field public static final int APPROVER_DETACH_REASON_FAILURE = 1; // 0x1 + field public static final int APPROVER_DETACH_REASON_REMOVE = 0; // 0x0 + field public static final int APPROVER_DETACH_REASON_REPLACE = 2; // 0x2 + field public static final int REQUEST_TYPE_INVITATION = 1; // 0x1 + field public static final int REQUEST_TYPE_JOIN = 2; // 0x2 + field public static final int REQUEST_TYPE_NEGOTIATION = 0; // 0x0 + } + + public static interface WifiP2pManager.GroupInfoListener { + method public void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup); + } + + public static interface WifiP2pManager.NetworkInfoListener { + method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo); + } + + public static interface WifiP2pManager.P2pStateListener { + method public void onP2pStateAvailable(int); + } + + public static interface WifiP2pManager.PeerListListener { + method public void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList); + } + + public static interface WifiP2pManager.ServiceResponseListener { + method public void onServiceAvailable(int, byte[], android.net.wifi.p2p.WifiP2pDevice); + } + + public static interface WifiP2pManager.UpnpServiceResponseListener { + method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice); + } + + public final class WifiP2pWfdInfo implements android.os.Parcelable { + ctor public WifiP2pWfdInfo(); + ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo); + method public int describeContents(); + method public int getControlPort(); + method public int getDeviceInfo(); + method public int getDeviceType(); + method public int getMaxThroughput(); + method public int getR2DeviceInfo(); + method public int getR2DeviceType(); + method public boolean isContentProtectionSupported(); + method public boolean isCoupledSinkSupportedAtSink(); + method public boolean isCoupledSinkSupportedAtSource(); + method public boolean isEnabled(); + method public boolean isR2Supported(); + method public boolean isSessionAvailable(); + method public void setContentProtectionSupported(boolean); + method public void setControlPort(@IntRange(from=0) int); + method public void setCoupledSinkSupportAtSink(boolean); + method public void setCoupledSinkSupportAtSource(boolean); + method public boolean setDeviceType(int); + method public void setEnabled(boolean); + method public void setMaxThroughput(@IntRange(from=0) int); + method public boolean setR2DeviceType(int); + method public void setSessionAvailable(boolean); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR; + field public static final int DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE = 2048; // 0x800 + field public static final int DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK = 1024; // 0x400 + field public static final int DEVICE_INFO_CONTENT_PROTECTION_SUPPORT = 256; // 0x100 + field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK = 8; // 0x8 + field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE = 4; // 0x4 + field public static final int DEVICE_INFO_DEVICE_TYPE_MASK = 3; // 0x3 + field public static final int DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK = 128; // 0x80 + field public static final int DEVICE_INFO_SESSION_AVAILABLE_MASK = 48; // 0x30 + field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP = 4096; // 0x1000 + field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE = 8192; // 0x2000 + field public static final int DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT = 512; // 0x200 + field public static final int DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT = 64; // 0x40 + field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1 + field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2 + field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3 + field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0 + field public static final int PREFERRED_CONNECTIVITY_P2P = 0; // 0x0 + field public static final int PREFERRED_CONNECTIVITY_TDLS = 1; // 0x1 + } + +} + +package android.net.wifi.p2p.nsd { + + public class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo { + method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo newInstance(String, String, java.util.Map<java.lang.String,java.lang.String>); + } + + public class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest { + method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(); + method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String); + method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String, String); + } + + public class WifiP2pServiceInfo implements android.os.Parcelable { + method public int describeContents(); + method public void writeToParcel(android.os.Parcel, int); + field public static final int SERVICE_TYPE_ALL = 0; // 0x0 + field public static final int SERVICE_TYPE_BONJOUR = 1; // 0x1 + field public static final int SERVICE_TYPE_UPNP = 2; // 0x2 + field public static final int SERVICE_TYPE_VENDOR_SPECIFIC = 255; // 0xff + } + + public class WifiP2pServiceRequest implements android.os.Parcelable { + method public int describeContents(); + method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int, String); + method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int); + method public void writeToParcel(android.os.Parcel, int); + } + + public class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo { + method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo newInstance(String, String, java.util.List<java.lang.String>); + } + + public class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest { + method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(); + method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(String); + } + +} + +package android.net.wifi.rtt { + + public class CivicLocationKeys { + field public static final int ADDITIONAL_CODE = 32; // 0x20 + field public static final int APT = 26; // 0x1a + field public static final int BOROUGH = 4; // 0x4 + field public static final int BRANCH_ROAD_NAME = 36; // 0x24 + field public static final int BUILDING = 25; // 0x19 + field public static final int CITY = 3; // 0x3 + field public static final int COUNTY = 2; // 0x2 + field public static final int DESK = 33; // 0x21 + field public static final int FLOOR = 27; // 0x1b + field public static final int GROUP_OF_STREETS = 6; // 0x6 + field public static final int HNO = 19; // 0x13 + field public static final int HNS = 20; // 0x14 + field public static final int LANGUAGE = 0; // 0x0 + field public static final int LMK = 21; // 0x15 + field public static final int LOC = 22; // 0x16 + field public static final int NAM = 23; // 0x17 + field public static final int NEIGHBORHOOD = 5; // 0x5 + field public static final int PCN = 30; // 0x1e + field public static final int POD = 17; // 0x11 + field public static final int POSTAL_CODE = 24; // 0x18 + field public static final int PO_BOX = 31; // 0x1f + field public static final int PRD = 16; // 0x10 + field public static final int PRIMARY_ROAD_NAME = 34; // 0x22 + field public static final int ROAD_SECTION = 35; // 0x23 + field public static final int ROOM = 28; // 0x1c + field public static final int SCRIPT = 128; // 0x80 + field public static final int STATE = 1; // 0x1 + field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27 + field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26 + field public static final int STS = 18; // 0x12 + field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25 + field public static final int TYPE_OF_PLACE = 29; // 0x1d + } + + public final class RangingRequest implements android.os.Parcelable { + method public int describeContents(); + method public static int getDefaultRttBurstSize(); + method public static int getMaxPeers(); + method public static int getMaxRttBurstSize(); + method public static int getMinRttBurstSize(); + method public int getRttBurstSize(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR; + } + + public static final class RangingRequest.Builder { + ctor public RangingRequest.Builder(); + method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(@NonNull android.net.wifi.ScanResult); + method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>); + method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoint(@NonNull android.net.wifi.ScanResult); + method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>); + method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig); + method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addResponders(@NonNull java.util.List<android.net.wifi.rtt.ResponderConfig>); + method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.MacAddress); + method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.wifi.aware.PeerHandle); + method public android.net.wifi.rtt.RangingRequest build(); + method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setRttBurstSize(int); + } + + public final class RangingResult implements android.os.Parcelable { + method public int describeContents(); + method public int getDistanceMm(); + method public int getDistanceStdDevMm(); + method @Nullable public android.net.MacAddress getMacAddress(); + method public int getNumAttemptedMeasurements(); + method public int getNumSuccessfulMeasurements(); + method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle(); + method public long getRangingTimestampMillis(); + method public int getRssi(); + method public int getStatus(); + method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation(); + method public boolean is80211mcMeasurement(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR; + field public static final int STATUS_FAIL = 1; // 0x1 + field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2 + field public static final int STATUS_SUCCESS = 0; // 0x0 + } + + public abstract class RangingResultCallback { + ctor public RangingResultCallback(); + method public abstract void onRangingFailure(int); + method public abstract void onRangingResults(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>); + field public static final int STATUS_CODE_FAIL = 1; // 0x1 + field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2 + } + + public final class ResponderConfig implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.net.wifi.rtt.ResponderConfig fromScanResult(@NonNull android.net.wifi.ScanResult); + method @IntRange(from=0) public int getCenterFreq0Mhz(); + method @IntRange(from=0) public int getCenterFreq1Mhz(); + method public int getChannelWidth(); + method @IntRange(from=0) public int getFrequencyMhz(); + method @Nullable public android.net.MacAddress getMacAddress(); + method public int getPreamble(); + method public boolean is80211mcSupported(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR; + } + + public static final class ResponderConfig.Builder { + ctor public ResponderConfig.Builder(); + method @NonNull public android.net.wifi.rtt.ResponderConfig build(); + method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder set80211mcSupported(boolean); + method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq0Mhz(@IntRange(from=0) int); + method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq1Mhz(@IntRange(from=0) int); + method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setChannelWidth(int); + method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setFrequencyMhz(@IntRange(from=0) int); + method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setMacAddress(@NonNull android.net.MacAddress); + method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setPreamble(int); + } + + public final class ResponderLocation implements android.os.Parcelable { + method public int describeContents(); + method public double getAltitude(); + method public int getAltitudeType(); + method public double getAltitudeUncertainty(); + method public java.util.List<android.net.MacAddress> getColocatedBssids(); + method public int getDatum(); + method public int getExpectedToMove(); + method public double getFloorNumber(); + method public double getHeightAboveFloorMeters(); + method public double getHeightAboveFloorUncertaintyMeters(); + method public double getLatitude(); + method public double getLatitudeUncertainty(); + method public int getLciVersion(); + method public double getLongitude(); + method public double getLongitudeUncertainty(); + method @Nullable public String getMapImageMimeType(); + method @Nullable public android.net.Uri getMapImageUri(); + method public boolean getRegisteredLocationAgreementIndication(); + method public boolean isLciSubelementValid(); + method public boolean isZaxisSubelementValid(); + method @Nullable public android.location.Address toCivicLocationAddress(); + method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray(); + method @NonNull public android.location.Location toLocation(); + method public void writeToParcel(android.os.Parcel, int); + field public static final int ALTITUDE_FLOORS = 2; // 0x2 + field public static final int ALTITUDE_METERS = 1; // 0x1 + field public static final int ALTITUDE_UNDEFINED = 0; // 0x0 + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR; + field public static final int DATUM_NAD83_MLLW = 3; // 0x3 + field public static final int DATUM_NAD83_NAV88 = 2; // 0x2 + field public static final int DATUM_UNDEFINED = 0; // 0x0 + field public static final int DATUM_WGS84 = 1; // 0x1 + field public static final int LCI_VERSION_1 = 1; // 0x1 + field public static final int LOCATION_FIXED = 0; // 0x0 + field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2 + field public static final int LOCATION_RESERVED = 3; // 0x3 + field public static final int LOCATION_VARIABLE = 1; // 0x1 + } + + public class WifiRttManager { + method public boolean isAvailable(); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.NEARBY_WIFI_DEVICES}) public void startRanging(@NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback); + field public static final String ACTION_WIFI_RTT_STATE_CHANGED = "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED"; + } + +} + diff --git a/extensions/3/public/api/service-art-removed.txt b/extensions/3/public/api/service-art-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/service-art-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/service-art.txt b/extensions/3/public/api/service-art.txt new file mode 100644 index 000000000..c7844e078 --- /dev/null +++ b/extensions/3/public/api/service-art.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package com.android.server.art { + + public final class ArtManagerLocal { + ctor public ArtManagerLocal(); + } + +} + diff --git a/extensions/3/public/api/service-media-s-removed.txt b/extensions/3/public/api/service-media-s-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/service-media-s-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/service-media-s.txt b/extensions/3/public/api/service-media-s.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/service-media-s.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/service-permission-removed.txt b/extensions/3/public/api/service-permission-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/service-permission-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/service-permission.txt b/extensions/3/public/api/service-permission.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/service-permission.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/service-sdksandbox-removed.txt b/extensions/3/public/api/service-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/service-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/public/api/service-sdksandbox.txt b/extensions/3/public/api/service-sdksandbox.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/public/api/service-sdksandbox.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system-server/api/service-art-removed.txt b/extensions/3/system-server/api/service-art-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system-server/api/service-art-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system-server/api/service-art.txt b/extensions/3/system-server/api/service-art.txt new file mode 100644 index 000000000..c7844e078 --- /dev/null +++ b/extensions/3/system-server/api/service-art.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package com.android.server.art { + + public final class ArtManagerLocal { + ctor public ArtManagerLocal(); + } + +} + diff --git a/extensions/3/system-server/api/service-media-s-removed.txt b/extensions/3/system-server/api/service-media-s-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system-server/api/service-media-s-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system-server/api/service-media-s.txt b/extensions/3/system-server/api/service-media-s.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system-server/api/service-media-s.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system-server/api/service-permission-removed.txt b/extensions/3/system-server/api/service-permission-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system-server/api/service-permission-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system-server/api/service-permission.txt b/extensions/3/system-server/api/service-permission.txt new file mode 100644 index 000000000..b1869c2c7 --- /dev/null +++ b/extensions/3/system-server/api/service-permission.txt @@ -0,0 +1,54 @@ +// Signature format: 2.0 +package com.android.permission.persistence { + + public interface RuntimePermissionsPersistence { + method @NonNull public static com.android.permission.persistence.RuntimePermissionsPersistence createInstance(); + method public void deleteForUser(@NonNull android.os.UserHandle); + method @Nullable public com.android.permission.persistence.RuntimePermissionsState readForUser(@NonNull android.os.UserHandle); + method public void writeForUser(@NonNull com.android.permission.persistence.RuntimePermissionsState, @NonNull android.os.UserHandle); + } + + public final class RuntimePermissionsState { + ctor public RuntimePermissionsState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>); + method @Nullable public String getFingerprint(); + method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getPackagePermissions(); + method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getSharedUserPermissions(); + method public int getVersion(); + field public static final int NO_VERSION = -1; // 0xffffffff + } + + public static final class RuntimePermissionsState.PermissionState { + ctor public RuntimePermissionsState.PermissionState(@NonNull String, boolean, int); + method public int getFlags(); + method @NonNull public String getName(); + method public boolean isGranted(); + } + +} + +package com.android.role { + + public interface RoleManagerLocal { + method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRolesAndHolders(int); + } + +} + +package com.android.role.persistence { + + public interface RolesPersistence { + method @NonNull public static com.android.role.persistence.RolesPersistence createInstance(); + method public void deleteForUser(@NonNull android.os.UserHandle); + method @Nullable public com.android.role.persistence.RolesState readForUser(@NonNull android.os.UserHandle); + method public void writeForUser(@NonNull com.android.role.persistence.RolesState, @NonNull android.os.UserHandle); + } + + public final class RolesState { + ctor public RolesState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.Set<java.lang.String>>); + method @Nullable public String getPackagesHash(); + method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRoles(); + method public int getVersion(); + } + +} + diff --git a/extensions/3/system-server/api/service-sdksandbox-removed.txt b/extensions/3/system-server/api/service-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system-server/api/service-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system-server/api/service-sdksandbox.txt b/extensions/3/system-server/api/service-sdksandbox.txt new file mode 100644 index 000000000..4e077078c --- /dev/null +++ b/extensions/3/system-server/api/service-sdksandbox.txt @@ -0,0 +1,16 @@ +// Signature format: 2.0 +package com.android.server.sdksandbox { + + public interface SdkSandboxManagerLocal { + method public void enforceAllowedToSendBroadcast(@NonNull android.content.Intent); + method public void enforceAllowedToStartActivity(@NonNull android.content.Intent); + method public void enforceAllowedToStartOrBindService(@NonNull android.content.Intent); + method @NonNull public String getSdkSandboxProcessNameForInstrumentation(@NonNull android.content.pm.ApplicationInfo); + method public void notifyInstrumentationFinished(@NonNull String, int); + method public void notifyInstrumentationStarted(@NonNull String, int); + field public static final String SERVICE_INTERFACE = "com.android.sdksandbox.SdkSandboxService"; + field public static final String VERIFIER_RECEIVER = "com.android.server.sdksandbox.SdkSandboxVerifierReceiver"; + } + +} + diff --git a/extensions/3/system/api/android.net.ipsec.ike-removed.txt b/extensions/3/system/api/android.net.ipsec.ike-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/android.net.ipsec.ike-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/android.net.ipsec.ike.txt b/extensions/3/system/api/android.net.ipsec.ike.txt new file mode 100644 index 000000000..f09f33d18 --- /dev/null +++ b/extensions/3/system/api/android.net.ipsec.ike.txt @@ -0,0 +1,155 @@ +// Signature format: 2.0 +package android.net.eap { + + public final class EapSessionConfig { + method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig(); + } + + @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method @Deprecated public int getAppType(); + method @Deprecated public int getSubId(); + } + +} + +package android.net.ipsec.ike { + + public interface ChildSessionCallback { + method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform); + } + + public final class ChildSessionConfiguration { + method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses(); + method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers(); + method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers(); + method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets(); + } + + public static final class ChildSessionConfiguration.Builder { + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses(); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers(); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers(); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets(); + } + + public abstract class ChildSessionParams { + method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals(); + } + + public final class IkeSession implements java.lang.AutoCloseable { + method public void setNetwork(@NonNull android.net.Network); + } + + public interface IkeSessionCallback { + method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException); + method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo); + } + + public final class IkeSessionConfiguration { + method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers(); + } + + public static final class IkeSessionConfiguration.Builder { + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers(); + } + + public final class IkeSessionParams { + method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests(); + method @IntRange(from=0x0, to=0x3f) public int getDscp(); + method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension(); + method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals(); + } + + public static final class IkeSessionParams.Builder { + ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int); + method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension); + } + + public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest { + method @Nullable public java.net.Inet4Address getAddress(); + } + + public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest { + method @Nullable public java.net.Inet6Address getAddress(); + } + + public static interface IkeSessionParams.IkeConfigRequest { + } + + public static final class TransportModeChildSessionParams.Builder { + method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + } + + public static final class TunnelModeChildSessionParams.Builder { + method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + } + +} + +package android.net.ipsec.ike.exceptions { + + public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException { + method @Nullable public byte[] getErrorData(); + } + +} + +package android.net.ipsec.ike.ike3gpp { + + public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData { + ctor public Ike3gppBackoffTimer(byte, int); + method public int getBackoffCause(); + method public byte getBackoffTimer(); + method public int getDataType(); + field public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904 + field public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a + } + + public abstract class Ike3gppData { + method public abstract int getDataType(); + field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2 + field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1 + } + + public final class Ike3gppExtension { + ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener(); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams(); + } + + public static interface Ike3gppExtension.Ike3gppDataListener { + method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>); + } + + public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData { + ctor public Ike3gppN1ModeInformation(@NonNull byte[]); + method public int getDataType(); + method @NonNull public byte[] getSnssai(); + } + + public final class Ike3gppParams { + method @Nullable public String getMobileDeviceIdentity(); + method public byte getPduSessionId(); + field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0 + } + + public static final class Ike3gppParams.Builder { + ctor public Ike3gppParams.Builder(); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build(); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setMobileDeviceIdentity(@Nullable String); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte); + } + +} + diff --git a/extensions/3/system/api/art.module.public.api-removed.txt b/extensions/3/system/api/art.module.public.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/art.module.public.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/art.module.public.api.txt b/extensions/3/system/api/art.module.public.api.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/art.module.public.api.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/conscrypt.module.public.api-removed.txt b/extensions/3/system/api/conscrypt.module.public.api-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/conscrypt.module.public.api-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/conscrypt.module.public.api.txt b/extensions/3/system/api/conscrypt.module.public.api.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/conscrypt.module.public.api.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-adservices-removed.txt b/extensions/3/system/api/framework-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-adservices.txt b/extensions/3/system/api/framework-adservices.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-adservices.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-appsearch-removed.txt b/extensions/3/system/api/framework-appsearch-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-appsearch-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-appsearch.txt b/extensions/3/system/api/framework-appsearch.txt new file mode 100644 index 000000000..4a6194e29 --- /dev/null +++ b/extensions/3/system/api/framework-appsearch.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.app.appsearch { + + public class AppSearchManagerFrameworkInitializer { + method public static void initialize(); + } + +} + diff --git a/extensions/3/system/api/framework-connectivity-removed.txt b/extensions/3/system/api/framework-connectivity-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-connectivity-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-connectivity-t-removed.txt b/extensions/3/system/api/framework-connectivity-t-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-connectivity-t-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-connectivity-t.txt b/extensions/3/system/api/framework-connectivity-t.txt new file mode 100644 index 000000000..c2d245c83 --- /dev/null +++ b/extensions/3/system/api/framework-connectivity-t.txt @@ -0,0 +1,349 @@ +// Signature format: 2.0 +package android.app.usage { + + public class NetworkStatsManager { + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void registerNetworkStatsProvider(@NonNull String, @NonNull android.net.netstats.provider.NetworkStatsProvider); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider); + } + +} + +package android.nearby { + + public interface BroadcastCallback { + method public void onStatusChanged(int); + field public static final int STATUS_FAILURE = 1; // 0x1 + field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2 + field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4 + field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3 + field public static final int STATUS_OK = 0; // 0x0 + } + + public abstract class BroadcastRequest { + method @NonNull public java.util.List<java.lang.Integer> getMediums(); + method @IntRange(from=0xffffff81, to=126) public int getTxPower(); + method public int getType(); + method public int getVersion(); + field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3 + field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff + field public static final int MEDIUM_BLE = 1; // 0x1 + field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff + field public static final int PRESENCE_VERSION_V0 = 0; // 0x0 + field public static final int PRESENCE_VERSION_V1 = 1; // 0x1 + field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81 + } + + public final class CredentialElement implements android.os.Parcelable { + ctor public CredentialElement(@NonNull String, @NonNull byte[]); + method public int describeContents(); + method @NonNull public String getKey(); + method @NonNull public byte[] getValue(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR; + } + + public final class DataElement implements android.os.Parcelable { + ctor public DataElement(int, @NonNull byte[]); + method public int describeContents(); + method public int getKey(); + method @NonNull public byte[] getValue(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR; + } + + public abstract class NearbyDevice { + method @NonNull public java.util.List<java.lang.Integer> getMediums(); + method @Nullable public String getName(); + method @IntRange(from=0xffffff81, to=126) public int getRssi(); + method public static boolean isValidMedium(int); + } + + public class NearbyManager { + method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.nearby.BroadcastRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.BroadcastCallback); + method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int startScan(@NonNull android.nearby.ScanRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.ScanCallback); + method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback); + method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback); + } + + public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<java.lang.Integer> getActions(); + method @NonNull public android.nearby.PrivateCredential getCredential(); + method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); + method @NonNull public byte[] getSalt(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR; + } + + public static final class PresenceBroadcastRequest.Builder { + ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement); + method @NonNull public android.nearby.PresenceBroadcastRequest build(); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int); + } + + public abstract class PresenceCredential { + method @NonNull public byte[] getAuthenticityKey(); + method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements(); + method public int getIdentityType(); + method @NonNull public byte[] getSecretId(); + method public int getType(); + field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0 + field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1 + field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1 + field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2 + field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3 + field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0 + } + + public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getDeviceId(); + method @Nullable public String getDeviceImageUrl(); + method public int getDeviceType(); + method public long getDiscoveryTimestampMillis(); + method @NonNull public byte[] getEncryptedIdentity(); + method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); + method @NonNull public byte[] getSalt(); + method @NonNull public byte[] getSecretId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR; + } + + public static final class PresenceDevice.Builder { + ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]); + method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement); + method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int); + method @NonNull public android.nearby.PresenceDevice build(); + method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String); + method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int); + method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long); + method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String); + method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int); + } + + public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials(); + method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); + method @NonNull public java.util.List<java.lang.Integer> getPresenceActions(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR; + } + + public static final class PresenceScanFilter.Builder { + ctor public PresenceScanFilter.Builder(); + method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential); + method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement); + method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int); + method @NonNull public android.nearby.PresenceScanFilter build(); + method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int); + } + + public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getDeviceName(); + method @NonNull public byte[] getMetadataEncryptionKey(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR; + } + + public static final class PrivateCredential.Builder { + ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String); + method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); + method @NonNull public android.nearby.PrivateCredential build(); + method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int); + } + + public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public byte[] getEncryptedMetadata(); + method @NonNull public byte[] getEncryptedMetadataKeyTag(); + method @NonNull public byte[] getPublicKey(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR; + } + + public static final class PublicCredential.Builder { + ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]); + method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); + method @NonNull public android.nearby.PublicCredential build(); + method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int); + } + + public interface ScanCallback { + method public void onDiscovered(@NonNull android.nearby.NearbyDevice); + method public void onLost(@NonNull android.nearby.NearbyDevice); + method public void onUpdated(@NonNull android.nearby.NearbyDevice); + } + + public abstract class ScanFilter { + method @IntRange(from=0, to=127) public int getMaxPathLoss(); + method public int getType(); + } + + public final class ScanRequest implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters(); + method public int getScanMode(); + method public int getScanType(); + method @NonNull public android.os.WorkSource getWorkSource(); + method public boolean isBleEnabled(); + method public static boolean isValidScanMode(int); + method public static boolean isValidScanType(int); + method @NonNull public static String scanModeToString(int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR; + field public static final int SCAN_MODE_BALANCED = 1; // 0x1 + field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2 + field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0 + field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff + field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1 + field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2 + } + + public static final class ScanRequest.Builder { + ctor public ScanRequest.Builder(); + method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter); + method @NonNull public android.nearby.ScanRequest build(); + method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean); + method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int); + method @NonNull public android.nearby.ScanRequest.Builder setScanType(int); + method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource); + } + +} + +package android.net { + + public class EthernetManager { + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void disableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void enableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void updateConfiguration(@NonNull String, @NonNull android.net.EthernetNetworkUpdateRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>); + } + + public static interface EthernetManager.TetheredInterfaceCallback { + method public void onAvailable(@NonNull String); + method public void onUnavailable(); + } + + public static class EthernetManager.TetheredInterfaceRequest { + method public void release(); + } + + public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable { + ctor public EthernetNetworkManagementException(@NonNull String); + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR; + } + + public final class EthernetNetworkUpdateRequest implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.IpConfiguration getIpConfiguration(); + method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR; + } + + public static final class EthernetNetworkUpdateRequest.Builder { + ctor public EthernetNetworkUpdateRequest.Builder(); + ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest); + method @NonNull public android.net.EthernetNetworkUpdateRequest build(); + method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration); + method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities); + } + + public class IpSecManager { + method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void applyTunnelModeTransform(@NonNull android.net.IpSecManager.IpSecTunnelInterface, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecManager.IpSecTunnelInterface createIpSecTunnelInterface(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException; + } + + public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable { + method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; + method public void close(); + method @NonNull public String getInterfaceName(); + method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; + method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException; + } + + public static class IpSecTransform.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; + } + + public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable { + ctor public NetworkStats(long, int); + method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats); + method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry); + method public int describeContents(); + method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator(); + method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR; + field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff + field public static final int DEFAULT_NETWORK_NO = 0; // 0x0 + field public static final int DEFAULT_NETWORK_YES = 1; // 0x1 + field public static final String IFACE_VT = "vt_data0"; + field public static final int METERED_ALL = -1; // 0xffffffff + field public static final int METERED_NO = 0; // 0x0 + field public static final int METERED_YES = 1; // 0x1 + field public static final int ROAMING_ALL = -1; // 0xffffffff + field public static final int ROAMING_NO = 0; // 0x0 + field public static final int ROAMING_YES = 1; // 0x1 + field public static final int SET_ALL = -1; // 0xffffffff + field public static final int SET_DEFAULT = 0; // 0x0 + field public static final int SET_FOREGROUND = 1; // 0x1 + field public static final int TAG_NONE = 0; // 0x0 + field public static final int UID_ALL = -1; // 0xffffffff + field public static final int UID_TETHERING = -5; // 0xfffffffb + } + + public static class NetworkStats.Entry { + ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long); + method public int getDefaultNetwork(); + method public int getMetered(); + method public long getOperations(); + method public int getRoaming(); + method public long getRxBytes(); + method public long getRxPackets(); + method public int getSet(); + method public int getTag(); + method public long getTxBytes(); + method public long getTxPackets(); + method public int getUid(); + } + + public class TrafficStats { + method public static void setThreadStatsTagApp(); + method public static void setThreadStatsTagBackup(); + method public static void setThreadStatsTagRestore(); + field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f + field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80 + field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff + field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00 + field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f + field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00 + } + +} + +package android.net.netstats.provider { + + public abstract class NetworkStatsProvider { + ctor public NetworkStatsProvider(); + method public void notifyAlertReached(); + method public void notifyLimitReached(); + method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats); + method public void notifyWarningReached(); + method public abstract void onRequestStatsUpdate(int); + method public abstract void onSetAlert(long); + method public abstract void onSetLimit(@NonNull String, long); + method public void onSetWarningAndLimit(@NonNull String, long, long); + field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff + } + +} + diff --git a/extensions/3/system/api/framework-connectivity.txt b/extensions/3/system/api/framework-connectivity.txt new file mode 100644 index 000000000..db1d7e9e5 --- /dev/null +++ b/extensions/3/system/api/framework-connectivity.txt @@ -0,0 +1,522 @@ +// Signature format: 2.0 +package android.net { + + public class CaptivePortal implements android.os.Parcelable { + method @Deprecated public void logEvent(int, @NonNull String); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork(); + method public void useNetwork(); + field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64 + field public static final int APP_RETURN_DISMISSED = 0; // 0x0 + field public static final int APP_RETURN_UNWANTED = 1; // 0x1 + field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2 + } + + public final class CaptivePortalData implements android.os.Parcelable { + method public int describeContents(); + method public long getByteLimit(); + method public long getExpiryTimeMillis(); + method public long getRefreshTimeMillis(); + method @Nullable public android.net.Uri getUserPortalUrl(); + method public int getUserPortalUrlSource(); + method @Nullable public CharSequence getVenueFriendlyName(); + method @Nullable public android.net.Uri getVenueInfoUrl(); + method public int getVenueInfoUrlSource(); + method public boolean isCaptive(); + method public boolean isSessionExtendable(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0 + field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1 + field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR; + } + + public static class CaptivePortalData.Builder { + ctor public CaptivePortalData.Builder(); + ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData); + method @NonNull public android.net.CaptivePortalData build(); + method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long); + method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean); + method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long); + method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long); + method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean); + method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri); + method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int); + method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence); + method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri); + method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int); + } + + public class ConnectivityManager { + method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull android.os.ParcelFileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); + method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); + method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl(); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported(); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider); + method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback); + method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void requestNetwork(@NonNull android.net.NetworkRequest, int, int, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_AIRPLANE_MODE, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void setAirplaneMode(boolean); + method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi(); + method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider); + method public void unregisterQosCallback(@NonNull android.net.QosCallback); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback); + field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC"; + field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT"; + field public static final int TETHERING_BLUETOOTH = 2; // 0x2 + field public static final int TETHERING_USB = 1; // 0x1 + field public static final int TETHERING_WIFI = 0; // 0x0 + field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd + field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0 + field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb + field public static final int TYPE_NONE = -1; // 0xffffffff + field @Deprecated public static final int TYPE_PROXY = 16; // 0x10 + field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd + } + + @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback { + ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback(); + method @Deprecated public void onTetheringFailed(); + method @Deprecated public void onTetheringStarted(); + } + + @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener { + method @Deprecated public void onTetheringEntitlementResult(int); + } + + @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback { + ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback(); + method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network); + } + + public final class DscpPolicy implements android.os.Parcelable { + method @Nullable public java.net.InetAddress getDestinationAddress(); + method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange(); + method public int getDscpValue(); + method public int getPolicyId(); + method public int getProtocol(); + method @Nullable public java.net.InetAddress getSourceAddress(); + method public int getSourcePort(); + field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR; + field public static final int PROTOCOL_ANY = -1; // 0xffffffff + field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff + } + + public static final class DscpPolicy.Builder { + ctor public DscpPolicy.Builder(int, int); + method @NonNull public android.net.DscpPolicy build(); + method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress); + method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>); + method @NonNull public android.net.DscpPolicy.Builder setProtocol(int); + method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress); + method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int); + } + + public final class InvalidPacketException extends java.lang.Exception { + ctor public InvalidPacketException(int); + method public int getError(); + field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb + field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 + field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea + } + + public final class IpConfiguration implements android.os.Parcelable { + ctor public IpConfiguration(); + ctor public IpConfiguration(@NonNull android.net.IpConfiguration); + method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment(); + method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings(); + method public void setHttpProxy(@Nullable android.net.ProxyInfo); + method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment); + method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings); + method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); + } + + public enum IpConfiguration.IpAssignment { + enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP; + enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC; + enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED; + } + + public enum IpConfiguration.ProxySettings { + enum_constant public static final android.net.IpConfiguration.ProxySettings NONE; + enum_constant public static final android.net.IpConfiguration.ProxySettings PAC; + enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC; + enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED; + } + + public final class IpPrefix implements android.os.Parcelable { + ctor public IpPrefix(@NonNull String); + } + + public class KeepalivePacketData { + ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull byte[]) throws android.net.InvalidPacketException; + method @NonNull public java.net.InetAddress getDstAddress(); + method public int getDstPort(); + method @NonNull public byte[] getPacket(); + method @NonNull public java.net.InetAddress getSrcAddress(); + method public int getSrcPort(); + } + + public class LinkAddress implements android.os.Parcelable { + ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int); + ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long); + ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); + ctor public LinkAddress(@NonNull String); + ctor public LinkAddress(@NonNull String, int, int); + method public long getDeprecationTime(); + method public long getExpirationTime(); + method public boolean isGlobalPreferred(); + method public boolean isIpv4(); + method public boolean isIpv6(); + method public boolean isSameAddressAs(@Nullable android.net.LinkAddress); + field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL + field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL + } + + public final class LinkProperties implements android.os.Parcelable { + ctor public LinkProperties(@Nullable android.net.LinkProperties); + ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean); + method public boolean addDnsServer(@NonNull java.net.InetAddress); + method public boolean addLinkAddress(@NonNull android.net.LinkAddress); + method public boolean addPcscfServer(@NonNull java.net.InetAddress); + method @NonNull public java.util.List<java.net.InetAddress> getAddresses(); + method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames(); + method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses(); + method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes(); + method @Nullable public android.net.Uri getCaptivePortalApiUrl(); + method @Nullable public android.net.CaptivePortalData getCaptivePortalData(); + method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers(); + method @Nullable public String getTcpBufferSizes(); + method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers(); + method public boolean hasGlobalIpv6Address(); + method public boolean hasIpv4Address(); + method public boolean hasIpv4DefaultRoute(); + method public boolean hasIpv4DnsServer(); + method public boolean hasIpv6DefaultRoute(); + method public boolean hasIpv6DnsServer(); + method public boolean isIpv4Provisioned(); + method public boolean isIpv6Provisioned(); + method public boolean isProvisioned(); + method public boolean isReachable(@NonNull java.net.InetAddress); + method public boolean removeDnsServer(@NonNull java.net.InetAddress); + method public boolean removeLinkAddress(@NonNull android.net.LinkAddress); + method public boolean removeRoute(@NonNull android.net.RouteInfo); + method public void setCaptivePortalApiUrl(@Nullable android.net.Uri); + method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData); + method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>); + method public void setPrivateDnsServerName(@Nullable String); + method public void setTcpBufferSizes(@Nullable String); + method public void setUsePrivateDns(boolean); + method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>); + } + + public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable { + ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException; + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR; + } + + public class Network implements android.os.Parcelable { + ctor public Network(@NonNull android.net.Network); + method public int getNetId(); + method @NonNull public android.net.Network getPrivateDnsBypassingCopy(); + } + + public abstract class NetworkAgent { + ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider); + ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkScore, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider); + method @Nullable public android.net.Network getNetwork(); + method public void markConnected(); + method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData); + method public void onAutomaticReconnectDisabled(); + method public void onBandwidthUpdateRequested(); + method public void onDscpPolicyStatusUpdated(int, int); + method public void onNetworkCreated(); + method public void onNetworkDestroyed(); + method public void onNetworkUnwanted(); + method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter); + method public void onQosCallbackUnregistered(int); + method public void onRemoveKeepalivePacketFilter(int); + method public void onSaveAcceptUnvalidated(boolean); + method public void onSignalStrengthThresholdsUpdated(@NonNull int[]); + method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData); + method public void onStopSocketKeepalive(int); + method public void onValidationStatus(int, @Nullable android.net.Uri); + method @NonNull public android.net.Network register(); + method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy); + method public final void sendLinkProperties(@NonNull android.net.LinkProperties); + method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities); + method public final void sendNetworkScore(@NonNull android.net.NetworkScore); + method public final void sendNetworkScore(@IntRange(from=0, to=99) int); + method public final void sendQosCallbackError(int, int); + method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes); + method public final void sendQosSessionLost(int, int, int); + method public void sendRemoveAllDscpPolicies(); + method public void sendRemoveDscpPolicy(int); + method public final void sendSocketKeepaliveEvent(int, int); + method @Deprecated public void setLegacySubtype(int, @NonNull String); + method public void setLingerDuration(@NonNull java.time.Duration); + method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int); + method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>); + method public void unregister(); + method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int); + field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4 + field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3 + field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5 + field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2 + field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1 + field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0 + field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2 + field public static final int VALIDATION_STATUS_VALID = 1; // 0x1 + } + + public final class NetworkAgentConfig implements android.os.Parcelable { + method public int describeContents(); + method public int getLegacyType(); + method @NonNull public String getLegacyTypeName(); + method public boolean isExplicitlySelected(); + method public boolean isPartialConnectivityAcceptable(); + method public boolean isUnvalidatedConnectivityAcceptable(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR; + } + + public static final class NetworkAgentConfig.Builder { + ctor public NetworkAgentConfig.Builder(); + method @NonNull public android.net.NetworkAgentConfig build(); + method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String); + method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean); + } + + public final class NetworkCapabilities implements android.os.Parcelable { + method @NonNull public int[] getAdministratorUids(); + method @Nullable public static String getCapabilityCarrierName(int); + method @Nullable public String getSsid(); + method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds(); + method @NonNull public int[] getTransportTypes(); + method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks(); + method public boolean isPrivateDnsBroken(); + method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities); + field public static final int NET_CAPABILITY_BIP = 31; // 0x1f + field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c + field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16 + field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a + field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18 + field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b + field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e + } + + public static final class NetworkCapabilities.Builder { + ctor public NetworkCapabilities.Builder(); + ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities); + method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int); + method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int); + method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int); + method @NonNull public android.net.NetworkCapabilities build(); + method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int); + method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int); + method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]); + method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int); + method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int); + method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String); + method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>); + method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>); + method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities(); + } + + public class NetworkProvider { + ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String); + method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest); + method public int getProviderId(); + method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest); + method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int); + method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void registerNetworkOffer(@NonNull android.net.NetworkScore, @NonNull android.net.NetworkCapabilities, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkProvider.NetworkOfferCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback); + field public static final int ID_NONE = -1; // 0xffffffff + } + + public static interface NetworkProvider.NetworkOfferCallback { + method public void onNetworkNeeded(@NonNull android.net.NetworkRequest); + method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest); + } + + public class NetworkReleasedException extends java.lang.Exception { + ctor public NetworkReleasedException(); + } + + public class NetworkRequest implements android.os.Parcelable { + method @Nullable public String getRequestorPackageName(); + method public int getRequestorUid(); + } + + public static class NetworkRequest.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int); + method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>); + } + + public final class NetworkScore implements android.os.Parcelable { + method public int describeContents(); + method public int getKeepConnectedReason(); + method public int getLegacyInt(); + method public boolean isExiting(); + method public boolean isTransportPrimary(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR; + field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1 + field public static final int KEEP_CONNECTED_NONE = 0; // 0x0 + } + + public static final class NetworkScore.Builder { + ctor public NetworkScore.Builder(); + method @NonNull public android.net.NetworkScore build(); + method @NonNull public android.net.NetworkScore.Builder setExiting(boolean); + method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int); + method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int); + method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean); + } + + public final class OemNetworkPreferences implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR; + field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1 + field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2 + field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3 + field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4 + field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0 + } + + public static final class OemNetworkPreferences.Builder { + ctor public OemNetworkPreferences.Builder(); + ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences); + method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int); + method @NonNull public android.net.OemNetworkPreferences build(); + method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String); + } + + public abstract class QosCallback { + ctor public QosCallback(); + method public void onError(@NonNull android.net.QosCallbackException); + method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes); + method public void onQosSessionLost(@NonNull android.net.QosSession); + } + + public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException { + } + + public final class QosCallbackException extends java.lang.Exception { + ctor public QosCallbackException(@NonNull String); + ctor public QosCallbackException(@NonNull Throwable); + } + + public abstract class QosFilter { + method @NonNull public abstract android.net.Network getNetwork(); + method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int); + method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int); + } + + public final class QosSession implements android.os.Parcelable { + ctor public QosSession(int, int); + method public int describeContents(); + method public int getSessionId(); + method public int getSessionType(); + method public long getUniqueId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR; + field public static final int TYPE_EPS_BEARER = 1; // 0x1 + field public static final int TYPE_NR_BEARER = 2; // 0x2 + } + + public interface QosSessionAttributes { + } + + public final class QosSocketInfo implements android.os.Parcelable { + ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException; + method public int describeContents(); + method @NonNull public java.net.InetSocketAddress getLocalSocketAddress(); + method @NonNull public android.net.Network getNetwork(); + method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR; + } + + public final class RouteInfo implements android.os.Parcelable { + ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int); + ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int); + method public int getMtu(); + } + + public abstract class SocketKeepalive implements java.lang.AutoCloseable { + field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf + field public static final int SUCCESS = 0; // 0x0 + } + + public class SocketLocalAddressChangedException extends java.lang.Exception { + ctor public SocketLocalAddressChangedException(); + } + + public class SocketNotBoundException extends java.lang.Exception { + ctor public SocketNotBoundException(); + } + + public final class StaticIpConfiguration implements android.os.Parcelable { + ctor public StaticIpConfiguration(); + ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); + method public void addDnsServer(@NonNull java.net.InetAddress); + method public void clear(); + method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String); + } + + public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable { + ctor public TcpKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[], int, int, int, int, int, int) throws android.net.InvalidPacketException; + method public int describeContents(); + method public int getIpTos(); + method public int getIpTtl(); + method public int getTcpAck(); + method public int getTcpSeq(); + method public int getTcpWindow(); + method public int getTcpWindowScale(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR; + } + +} + +package android.net.apf { + + public final class ApfCapabilities implements android.os.Parcelable { + ctor public ApfCapabilities(int, int, int); + method public int describeContents(); + method public static boolean getApfDrop8023Frames(); + method @NonNull public static int[] getApfEtherTypeBlackList(); + method public boolean hasDataAccess(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR; + field public final int apfPacketFormat; + field public final int apfVersionSupported; + field public final int maximumApfProgramSize; + } + +} + diff --git a/extensions/3/system/api/framework-media-removed.txt b/extensions/3/system/api/framework-media-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-media-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-media.txt b/extensions/3/system/api/framework-media.txt new file mode 100644 index 000000000..6eea769d9 --- /dev/null +++ b/extensions/3/system/api/framework-media.txt @@ -0,0 +1,68 @@ +// Signature format: 2.0 +package android.media { + + public final class MediaTranscodingManager { + method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener); + } + + @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener { + method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession); + } + + public abstract static class MediaTranscodingManager.TranscodingRequest { + method public int getClientPid(); + method public int getClientUid(); + method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor(); + method @NonNull public android.net.Uri getDestinationUri(); + method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor(); + method @NonNull public android.net.Uri getSourceUri(); + } + + public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver { + ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat); + method @Nullable public android.media.MediaFormat resolveVideoFormat(); + method public boolean shouldTranscode(); + } + + public static final class MediaTranscodingManager.TranscodingSession { + method public boolean addClientUid(int); + method public void cancel(); + method @NonNull public java.util.List<java.lang.Integer> getClientUids(); + method public int getErrorCode(); + method @IntRange(from=0, to=100) public int getProgress(); + method public int getResult(); + method public int getSessionId(); + method public int getStatus(); + method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener); + field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1 + field public static final int ERROR_NONE = 0; // 0x0 + field public static final int ERROR_SERVICE_DIED = 2; // 0x2 + field public static final int RESULT_CANCELED = 4; // 0x4 + field public static final int RESULT_ERROR = 3; // 0x3 + field public static final int RESULT_NONE = 1; // 0x1 + field public static final int RESULT_SUCCESS = 2; // 0x2 + field public static final int STATUS_FINISHED = 3; // 0x3 + field public static final int STATUS_PAUSED = 4; // 0x4 + field public static final int STATUS_PENDING = 1; // 0x1 + field public static final int STATUS_RUNNING = 2; // 0x2 + } + + @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener { + method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int); + } + + public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest { + method @NonNull public android.media.MediaFormat getVideoTrackFormat(); + } + + public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder { + ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat); + method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build(); + method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int); + method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int); + method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor); + method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor); + } + +} + diff --git a/extensions/3/system/api/framework-mediaprovider-removed.txt b/extensions/3/system/api/framework-mediaprovider-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-mediaprovider-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-mediaprovider.txt b/extensions/3/system/api/framework-mediaprovider.txt new file mode 100644 index 000000000..d29a6ed0d --- /dev/null +++ b/extensions/3/system/api/framework-mediaprovider.txt @@ -0,0 +1,15 @@ +// Signature format: 2.0 +package android.provider { + + public final class MediaStore { + method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri); + method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File); + method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String); + method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver); + field public static final String AUTHORITY_LEGACY = "media_legacy"; + field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI; + field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan"; + } + +} + diff --git a/extensions/3/system/api/framework-ondevicepersonalization-removed.txt b/extensions/3/system/api/framework-ondevicepersonalization-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-ondevicepersonalization-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-ondevicepersonalization.txt b/extensions/3/system/api/framework-ondevicepersonalization.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-ondevicepersonalization.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-permission-removed.txt b/extensions/3/system/api/framework-permission-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-permission-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-permission-s-removed.txt b/extensions/3/system/api/framework-permission-s-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-permission-s-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-permission-s.txt b/extensions/3/system/api/framework-permission-s.txt new file mode 100644 index 000000000..db2d140ca --- /dev/null +++ b/extensions/3/system/api/framework-permission-s.txt @@ -0,0 +1,514 @@ +// Signature format: 2.0 +package android.app.role { + + public interface OnRoleHoldersChangedListener { + method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle); + } + + @Deprecated public abstract class RoleControllerService extends android.app.Service { + ctor @Deprecated public RoleControllerService(); + method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int); + method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent); + method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int); + method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles(); + method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String); + method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String); + method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String); + method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int); + field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService"; + } + + public final class RoleManager { + method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle); + method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String); + method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String); + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String); + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle); + method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isApplicationVisibleForRole(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification(); + method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isRoleVisible(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle); + method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String); + method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean); + method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>); + field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1 + field public static final String ROLE_DEVICE_POLICY_MANAGEMENT = "android.app.role.DEVICE_POLICY_MANAGEMENT"; + field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER"; + field public static final String ROLE_SYSTEM_SUPERVISION = "android.app.role.SYSTEM_SUPERVISION"; + field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING"; + } + +} + +package android.safetycenter { + + public final class SafetyCenterData implements android.os.Parcelable { + ctor public SafetyCenterData(@NonNull android.safetycenter.SafetyCenterStatus, @NonNull java.util.List<android.safetycenter.SafetyCenterIssue>, @NonNull java.util.List<android.safetycenter.SafetyCenterEntryOrGroup>, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup>); + method public int describeContents(); + method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntryOrGroup> getEntriesOrGroups(); + method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getIssues(); + method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup> getStaticEntryGroups(); + method @NonNull public android.safetycenter.SafetyCenterStatus getStatus(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterData> CREATOR; + } + + public final class SafetyCenterEntry implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.safetycenter.SafetyCenterEntry.IconAction getIconAction(); + method @NonNull public String getId(); + method @Nullable public android.app.PendingIntent getPendingIntent(); + method public int getSeverityLevel(); + method public int getSeverityUnspecifiedIconType(); + method @Nullable public CharSequence getSummary(); + method @NonNull public CharSequence getTitle(); + method public boolean isEnabled(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry> CREATOR; + field public static final int ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING = 3400; // 0xd48 + field public static final int ENTRY_SEVERITY_LEVEL_OK = 3200; // 0xc80 + field public static final int ENTRY_SEVERITY_LEVEL_RECOMMENDATION = 3300; // 0xce4 + field public static final int ENTRY_SEVERITY_LEVEL_UNKNOWN = 3000; // 0xbb8 + field public static final int ENTRY_SEVERITY_LEVEL_UNSPECIFIED = 3100; // 0xc1c + field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_ICON = 0; // 0x0 + field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION = 2; // 0x2 + field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_PRIVACY = 1; // 0x1 + } + + public static final class SafetyCenterEntry.Builder { + ctor public SafetyCenterEntry.Builder(@NonNull String, @NonNull CharSequence); + ctor public SafetyCenterEntry.Builder(@NonNull android.safetycenter.SafetyCenterEntry); + method @NonNull public android.safetycenter.SafetyCenterEntry build(); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setEnabled(boolean); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(@Nullable android.safetycenter.SafetyCenterEntry.IconAction); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(int, @NonNull android.app.PendingIntent); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setId(@NonNull String); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityLevel(int); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityUnspecifiedIconType(int); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSummary(@Nullable CharSequence); + method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setTitle(@NonNull CharSequence); + } + + public static final class SafetyCenterEntry.IconAction implements android.os.Parcelable { + ctor public SafetyCenterEntry.IconAction(int, @NonNull android.app.PendingIntent); + method public int describeContents(); + method @NonNull public android.app.PendingIntent getPendingIntent(); + method public int getType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry.IconAction> CREATOR; + field public static final int ICON_ACTION_TYPE_GEAR = 30100; // 0x7594 + field public static final int ICON_ACTION_TYPE_INFO = 30200; // 0x75f8 + } + + public final class SafetyCenterEntryGroup implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntry> getEntries(); + method @NonNull public String getId(); + method public int getSeverityLevel(); + method public int getSeverityUnspecifiedIconType(); + method @Nullable public CharSequence getSummary(); + method @NonNull public CharSequence getTitle(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryGroup> CREATOR; + } + + public static final class SafetyCenterEntryGroup.Builder { + ctor public SafetyCenterEntryGroup.Builder(@NonNull String, @NonNull CharSequence); + ctor public SafetyCenterEntryGroup.Builder(@NonNull android.safetycenter.SafetyCenterEntryGroup); + method @NonNull public android.safetycenter.SafetyCenterEntryGroup build(); + method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setEntries(@NonNull java.util.List<android.safetycenter.SafetyCenterEntry>); + method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setId(@NonNull String); + method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityLevel(int); + method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityUnspecifiedIconType(int); + method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSummary(@Nullable CharSequence); + method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setTitle(@NonNull CharSequence); + } + + public final class SafetyCenterEntryOrGroup implements android.os.Parcelable { + ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntry); + ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryGroup); + method public int describeContents(); + method @Nullable public android.safetycenter.SafetyCenterEntry getEntry(); + method @Nullable public android.safetycenter.SafetyCenterEntryGroup getEntryGroup(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryOrGroup> CREATOR; + } + + public final class SafetyCenterErrorDetails implements android.os.Parcelable { + ctor public SafetyCenterErrorDetails(@NonNull CharSequence); + method public int describeContents(); + method @NonNull public CharSequence getErrorMessage(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterErrorDetails> CREATOR; + } + + public final class SafetyCenterIssue implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue.Action> getActions(); + method @NonNull public String getId(); + method public int getSeverityLevel(); + method @Nullable public CharSequence getSubtitle(); + method @NonNull public CharSequence getSummary(); + method @NonNull public CharSequence getTitle(); + method public boolean isDismissible(); + method public boolean shouldConfirmDismissal(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue> CREATOR; + field public static final int ISSUE_SEVERITY_LEVEL_CRITICAL_WARNING = 2300; // 0x8fc + field public static final int ISSUE_SEVERITY_LEVEL_OK = 2100; // 0x834 + field public static final int ISSUE_SEVERITY_LEVEL_RECOMMENDATION = 2200; // 0x898 + } + + public static final class SafetyCenterIssue.Action implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getId(); + method @NonNull public CharSequence getLabel(); + method @NonNull public android.app.PendingIntent getPendingIntent(); + method @Nullable public CharSequence getSuccessMessage(); + method public boolean isInFlight(); + method public boolean willResolve(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action> CREATOR; + } + + public static final class SafetyCenterIssue.Action.Builder { + ctor public SafetyCenterIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent); + method @NonNull public android.safetycenter.SafetyCenterIssue.Action build(); + method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setId(@NonNull String); + method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setIsInFlight(boolean); + method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setLabel(@NonNull CharSequence); + method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setPendingIntent(@NonNull android.app.PendingIntent); + method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setSuccessMessage(@Nullable CharSequence); + method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setWillResolve(boolean); + } + + public static final class SafetyCenterIssue.Builder { + ctor public SafetyCenterIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence); + ctor public SafetyCenterIssue.Builder(@NonNull android.safetycenter.SafetyCenterIssue); + method @NonNull public android.safetycenter.SafetyCenterIssue build(); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setActions(@NonNull java.util.List<android.safetycenter.SafetyCenterIssue.Action>); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setDismissible(boolean); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setId(@NonNull String); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSeverityLevel(int); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setShouldConfirmDismissal(boolean); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSubtitle(@Nullable CharSequence); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSummary(@NonNull CharSequence); + method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setTitle(@NonNull CharSequence); + } + + public final class SafetyCenterManager { + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void addOnSafetyCenterDataChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener); + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearAllSafetySourceDataForTests(); + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearSafetyCenterConfigForTests(); + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void dismissSafetyCenterIssue(@NonNull String); + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void executeSafetyCenterIssueAction(@NonNull String, @NonNull String); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.config.SafetyCenterConfig getSafetyCenterConfig(); + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.SafetyCenterData getSafetyCenterData(); + method @Nullable @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public android.safetycenter.SafetySourceData getSafetySourceData(@NonNull String); + method @RequiresPermission(anyOf={android.Manifest.permission.READ_SAFETY_CENTER_STATUS, android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE}) public boolean isSafetyCenterEnabled(); + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int); + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void removeOnSafetyCenterDataChangedListener(@NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener); + method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void reportSafetySourceError(@NonNull String, @NonNull android.safetycenter.SafetySourceErrorDetails); + method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void setSafetyCenterConfigForTests(@NonNull android.safetycenter.config.SafetyCenterConfig); + method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void setSafetySourceData(@NonNull String, @Nullable android.safetycenter.SafetySourceData, @NonNull android.safetycenter.SafetyEvent); + field public static final String ACTION_REFRESH_SAFETY_SOURCES = "android.safetycenter.action.REFRESH_SAFETY_SOURCES"; + field public static final String ACTION_SAFETY_CENTER_ENABLED_CHANGED = "android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED"; + field public static final int EXTRA_REFRESH_REQUEST_TYPE_FETCH_FRESH_DATA = 0; // 0x0 + field public static final int EXTRA_REFRESH_REQUEST_TYPE_GET_DATA = 1; // 0x1 + field public static final String EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_BROADCAST_ID"; + field public static final String EXTRA_REFRESH_SAFETY_SOURCES_REQUEST_TYPE = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_REQUEST_TYPE"; + field public static final String EXTRA_REFRESH_SAFETY_SOURCE_IDS = "android.safetycenter.extra.REFRESH_SAFETY_SOURCE_IDS"; + field public static final String EXTRA_SAFETY_SOURCE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ID"; + field public static final String EXTRA_SAFETY_SOURCE_ISSUE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ISSUE_ID"; + field public static final String EXTRA_SAFETY_SOURCE_USER_HANDLE = "android.safetycenter.extra.SAFETY_SOURCE_USER_HANDLE"; + field public static final int REFRESH_REASON_DEVICE_LOCALE_CHANGE = 400; // 0x190 + field public static final int REFRESH_REASON_DEVICE_REBOOT = 300; // 0x12c + field public static final int REFRESH_REASON_OTHER = 600; // 0x258 + field public static final int REFRESH_REASON_PAGE_OPEN = 100; // 0x64 + field public static final int REFRESH_REASON_RESCAN_BUTTON_CLICK = 200; // 0xc8 + field public static final int REFRESH_REASON_SAFETY_CENTER_ENABLED = 500; // 0x1f4 + } + + public static interface SafetyCenterManager.OnSafetyCenterDataChangedListener { + method public default void onError(@NonNull android.safetycenter.SafetyCenterErrorDetails); + method public void onSafetyCenterDataChanged(@NonNull android.safetycenter.SafetyCenterData); + } + + public final class SafetyCenterStaticEntry implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.app.PendingIntent getPendingIntent(); + method @Nullable public CharSequence getSummary(); + method @NonNull public CharSequence getTitle(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntry> CREATOR; + } + + public static final class SafetyCenterStaticEntry.Builder { + ctor public SafetyCenterStaticEntry.Builder(@NonNull CharSequence); + ctor public SafetyCenterStaticEntry.Builder(@NonNull android.safetycenter.SafetyCenterStaticEntry); + method @NonNull public android.safetycenter.SafetyCenterStaticEntry build(); + method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent); + method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setSummary(@Nullable CharSequence); + method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setTitle(@NonNull CharSequence); + } + + public final class SafetyCenterStaticEntryGroup implements android.os.Parcelable { + ctor public SafetyCenterStaticEntryGroup(@NonNull CharSequence, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntry>); + method public int describeContents(); + method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntry> getStaticEntries(); + method @NonNull public CharSequence getTitle(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntryGroup> CREATOR; + } + + public final class SafetyCenterStatus implements android.os.Parcelable { + method public int describeContents(); + method public int getRefreshStatus(); + method public int getSeverityLevel(); + method @NonNull public CharSequence getSummary(); + method @NonNull public CharSequence getTitle(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStatus> CREATOR; + field public static final int OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING = 1300; // 0x514 + field public static final int OVERALL_SEVERITY_LEVEL_OK = 1100; // 0x44c + field public static final int OVERALL_SEVERITY_LEVEL_RECOMMENDATION = 1200; // 0x4b0 + field public static final int OVERALL_SEVERITY_LEVEL_UNKNOWN = 1000; // 0x3e8 + field public static final int REFRESH_STATUS_DATA_FETCH_IN_PROGRESS = 10100; // 0x2774 + field public static final int REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS = 10200; // 0x27d8 + field public static final int REFRESH_STATUS_NONE = 0; // 0x0 + } + + public static final class SafetyCenterStatus.Builder { + ctor public SafetyCenterStatus.Builder(@NonNull CharSequence, @NonNull CharSequence); + ctor public SafetyCenterStatus.Builder(@NonNull android.safetycenter.SafetyCenterStatus); + method @NonNull public android.safetycenter.SafetyCenterStatus build(); + method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setRefreshStatus(int); + method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSeverityLevel(int); + method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSummary(@NonNull CharSequence); + method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setTitle(@NonNull CharSequence); + } + + public final class SafetyEvent implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getRefreshBroadcastId(); + method @Nullable public String getSafetySourceIssueActionId(); + method @Nullable public String getSafetySourceIssueId(); + method public int getType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyEvent> CREATOR; + field public static final int SAFETY_EVENT_TYPE_DEVICE_LOCALE_CHANGED = 500; // 0x1f4 + field public static final int SAFETY_EVENT_TYPE_DEVICE_REBOOTED = 600; // 0x258 + field public static final int SAFETY_EVENT_TYPE_REFRESH_REQUESTED = 200; // 0xc8 + field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_FAILED = 400; // 0x190 + field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_SUCCEEDED = 300; // 0x12c + field public static final int SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED = 100; // 0x64 + } + + public static final class SafetyEvent.Builder { + ctor public SafetyEvent.Builder(int); + method @NonNull public android.safetycenter.SafetyEvent build(); + method @NonNull public android.safetycenter.SafetyEvent.Builder setRefreshBroadcastId(@Nullable String); + method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueActionId(@Nullable String); + method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueId(@Nullable String); + } + + public final class SafetySourceData implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue> getIssues(); + method @Nullable public android.safetycenter.SafetySourceStatus getStatus(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceData> CREATOR; + field public static final int SEVERITY_LEVEL_CRITICAL_WARNING = 400; // 0x190 + field public static final int SEVERITY_LEVEL_INFORMATION = 200; // 0xc8 + field public static final int SEVERITY_LEVEL_RECOMMENDATION = 300; // 0x12c + field public static final int SEVERITY_LEVEL_UNSPECIFIED = 100; // 0x64 + } + + public static final class SafetySourceData.Builder { + ctor public SafetySourceData.Builder(); + method @NonNull public android.safetycenter.SafetySourceData.Builder addIssue(@NonNull android.safetycenter.SafetySourceIssue); + method @NonNull public android.safetycenter.SafetySourceData build(); + method @NonNull public android.safetycenter.SafetySourceData.Builder clearIssues(); + method @NonNull public android.safetycenter.SafetySourceData.Builder setStatus(@Nullable android.safetycenter.SafetySourceStatus); + } + + public final class SafetySourceErrorDetails implements android.os.Parcelable { + ctor public SafetySourceErrorDetails(@NonNull android.safetycenter.SafetyEvent); + method public int describeContents(); + method @NonNull public android.safetycenter.SafetyEvent getSafetyEvent(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceErrorDetails> CREATOR; + } + + public final class SafetySourceIssue implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions(); + method @NonNull public String getId(); + method public int getIssueCategory(); + method @NonNull public String getIssueTypeId(); + method @Nullable public android.app.PendingIntent getOnDismissPendingIntent(); + method public int getSeverityLevel(); + method @Nullable public CharSequence getSubtitle(); + method @NonNull public CharSequence getSummary(); + method @NonNull public CharSequence getTitle(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue> CREATOR; + field public static final int ISSUE_CATEGORY_ACCOUNT = 200; // 0xc8 + field public static final int ISSUE_CATEGORY_DEVICE = 100; // 0x64 + field public static final int ISSUE_CATEGORY_GENERAL = 300; // 0x12c + } + + public static final class SafetySourceIssue.Action implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getId(); + method @NonNull public CharSequence getLabel(); + method @NonNull public android.app.PendingIntent getPendingIntent(); + method @Nullable public CharSequence getSuccessMessage(); + method public boolean willResolve(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action> CREATOR; + } + + public static final class SafetySourceIssue.Action.Builder { + ctor public SafetySourceIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent); + method @NonNull public android.safetycenter.SafetySourceIssue.Action build(); + method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setSuccessMessage(@Nullable CharSequence); + method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setWillResolve(boolean); + } + + public static final class SafetySourceIssue.Builder { + ctor public SafetySourceIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence, int, @NonNull String); + method @NonNull public android.safetycenter.SafetySourceIssue.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action); + method @NonNull public android.safetycenter.SafetySourceIssue build(); + method @NonNull public android.safetycenter.SafetySourceIssue.Builder clearActions(); + method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueCategory(int); + method @NonNull public android.safetycenter.SafetySourceIssue.Builder setOnDismissPendingIntent(@Nullable android.app.PendingIntent); + method @NonNull public android.safetycenter.SafetySourceIssue.Builder setSubtitle(@Nullable CharSequence); + } + + public final class SafetySourceStatus implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.safetycenter.SafetySourceStatus.IconAction getIconAction(); + method @Nullable public android.app.PendingIntent getPendingIntent(); + method public int getSeverityLevel(); + method @NonNull public CharSequence getSummary(); + method @NonNull public CharSequence getTitle(); + method public boolean isEnabled(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus> CREATOR; + } + + public static final class SafetySourceStatus.Builder { + ctor public SafetySourceStatus.Builder(@NonNull CharSequence, @NonNull CharSequence, int); + method @NonNull public android.safetycenter.SafetySourceStatus build(); + method @NonNull public android.safetycenter.SafetySourceStatus.Builder setEnabled(boolean); + method @NonNull public android.safetycenter.SafetySourceStatus.Builder setIconAction(@Nullable android.safetycenter.SafetySourceStatus.IconAction); + method @NonNull public android.safetycenter.SafetySourceStatus.Builder setPendingIntent(@Nullable android.app.PendingIntent); + } + + public static final class SafetySourceStatus.IconAction implements android.os.Parcelable { + ctor public SafetySourceStatus.IconAction(int, @NonNull android.app.PendingIntent); + method public int describeContents(); + method public int getIconType(); + method @NonNull public android.app.PendingIntent getPendingIntent(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus.IconAction> CREATOR; + field public static final int ICON_TYPE_GEAR = 100; // 0x64 + field public static final int ICON_TYPE_INFO = 200; // 0xc8 + } + +} + +package android.safetycenter.config { + + public final class SafetyCenterConfig implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.safetycenter.config.SafetySourcesGroup> getSafetySourcesGroups(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetyCenterConfig> CREATOR; + } + + public static final class SafetyCenterConfig.Builder { + ctor public SafetyCenterConfig.Builder(); + method @NonNull public android.safetycenter.config.SafetyCenterConfig.Builder addSafetySourcesGroup(@NonNull android.safetycenter.config.SafetySourcesGroup); + method @NonNull public android.safetycenter.config.SafetyCenterConfig build(); + } + + public final class SafetySource implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getId(); + method public int getInitialDisplayState(); + method @Nullable public String getIntentAction(); + method public int getMaxSeverityLevel(); + method @NonNull public String getPackageName(); + method public int getProfile(); + method @StringRes public int getSearchTermsResId(); + method @StringRes public int getSummaryResId(); + method @StringRes public int getTitleForWorkResId(); + method @StringRes public int getTitleResId(); + method public int getType(); + method public boolean isLoggingAllowed(); + method public boolean isRefreshOnPageOpenAllowed(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySource> CREATOR; + field public static final int INITIAL_DISPLAY_STATE_DISABLED = 1; // 0x1 + field public static final int INITIAL_DISPLAY_STATE_ENABLED = 0; // 0x0 + field public static final int INITIAL_DISPLAY_STATE_HIDDEN = 2; // 0x2 + field public static final int PROFILE_ALL = 2; // 0x2 + field public static final int PROFILE_NONE = 0; // 0x0 + field public static final int PROFILE_PRIMARY = 1; // 0x1 + field public static final int SAFETY_SOURCE_TYPE_DYNAMIC = 2; // 0x2 + field public static final int SAFETY_SOURCE_TYPE_ISSUE_ONLY = 3; // 0x3 + field public static final int SAFETY_SOURCE_TYPE_STATIC = 1; // 0x1 + } + + public static final class SafetySource.Builder { + ctor public SafetySource.Builder(int); + method @NonNull public android.safetycenter.config.SafetySource build(); + method @NonNull public android.safetycenter.config.SafetySource.Builder setId(@Nullable String); + method @NonNull public android.safetycenter.config.SafetySource.Builder setInitialDisplayState(int); + method @NonNull public android.safetycenter.config.SafetySource.Builder setIntentAction(@Nullable String); + method @NonNull public android.safetycenter.config.SafetySource.Builder setLoggingAllowed(boolean); + method @NonNull public android.safetycenter.config.SafetySource.Builder setMaxSeverityLevel(int); + method @NonNull public android.safetycenter.config.SafetySource.Builder setPackageName(@Nullable String); + method @NonNull public android.safetycenter.config.SafetySource.Builder setProfile(int); + method @NonNull public android.safetycenter.config.SafetySource.Builder setRefreshOnPageOpenAllowed(boolean); + method @NonNull public android.safetycenter.config.SafetySource.Builder setSearchTermsResId(@StringRes int); + method @NonNull public android.safetycenter.config.SafetySource.Builder setSummaryResId(@StringRes int); + method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForWorkResId(@StringRes int); + method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleResId(@StringRes int); + } + + public final class SafetySourcesGroup implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getId(); + method @NonNull public java.util.List<android.safetycenter.config.SafetySource> getSafetySources(); + method public int getStatelessIconType(); + method @StringRes public int getSummaryResId(); + method @StringRes public int getTitleResId(); + method public int getType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySourcesGroup> CREATOR; + field public static final int SAFETY_SOURCES_GROUP_TYPE_COLLAPSIBLE = 0; // 0x0 + field public static final int SAFETY_SOURCES_GROUP_TYPE_HIDDEN = 2; // 0x2 + field public static final int SAFETY_SOURCES_GROUP_TYPE_RIGID = 1; // 0x1 + field public static final int STATELESS_ICON_TYPE_NONE = 0; // 0x0 + field public static final int STATELESS_ICON_TYPE_PRIVACY = 1; // 0x1 + } + + public static final class SafetySourcesGroup.Builder { + ctor public SafetySourcesGroup.Builder(); + method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder addSafetySource(@NonNull android.safetycenter.config.SafetySource); + method @NonNull public android.safetycenter.config.SafetySourcesGroup build(); + method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setId(@Nullable String); + method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setStatelessIconType(int); + method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setSummaryResId(@StringRes int); + method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setTitleResId(@StringRes int); + } + +} + diff --git a/extensions/3/system/api/framework-permission.txt b/extensions/3/system/api/framework-permission.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-permission.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-scheduling-removed.txt b/extensions/3/system/api/framework-scheduling-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-scheduling-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-scheduling.txt b/extensions/3/system/api/framework-scheduling.txt new file mode 100644 index 000000000..5b76cd49b --- /dev/null +++ b/extensions/3/system/api/framework-scheduling.txt @@ -0,0 +1,26 @@ +// Signature format: 2.0 +package android.scheduling { + + public final class RebootReadinessManager { + method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener); + method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot(); + method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot(); + method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending(); + method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener); + field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY"; + field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT"; + } + + public static final class RebootReadinessManager.RebootReadinessStatus { + ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String); + method public long getEstimatedFinishTime(); + method @NonNull public String getLogSubsystemName(); + method public boolean isReadyToReboot(); + } + + public static interface RebootReadinessManager.RequestRebootReadinessStatusListener { + method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus(); + } + +} + diff --git a/extensions/3/system/api/framework-sdkextensions-removed.txt b/extensions/3/system/api/framework-sdkextensions-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-sdkextensions-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-sdkextensions.txt b/extensions/3/system/api/framework-sdkextensions.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-sdkextensions.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-sdksandbox-removed.txt b/extensions/3/system/api/framework-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-sdksandbox.txt b/extensions/3/system/api/framework-sdksandbox.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-sdksandbox.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-statsd-removed.txt b/extensions/3/system/api/framework-statsd-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-statsd-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-statsd.txt b/extensions/3/system/api/framework-statsd.txt new file mode 100644 index 000000000..c432a7f87 --- /dev/null +++ b/extensions/3/system/api/framework-statsd.txt @@ -0,0 +1,124 @@ +// Signature format: 2.0 +package android.app { + + public final class StatsManager { + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException; + method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]); + method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int); + method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long); + method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata(); + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException; + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException; + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException; + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException; + method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long); + method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] setActiveConfigsChangedOperation(@Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException; + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setBroadcastSubscriber(android.app.PendingIntent, long, long) throws android.app.StatsManager.StatsUnavailableException; + method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent); + method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent); + method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setFetchReportsOperation(android.app.PendingIntent, long) throws android.app.StatsManager.StatsUnavailableException; + method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void setPullAtomCallback(int, @Nullable android.app.StatsManager.PullAtomMetadata, @NonNull java.util.concurrent.Executor, @NonNull android.app.StatsManager.StatsPullAtomCallback); + field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED"; + field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS"; + field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES"; + field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY"; + field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID"; + field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE"; + field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID"; + field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID"; + field public static final int PULL_SKIP = 1; // 0x1 + field public static final int PULL_SUCCESS = 0; // 0x0 + } + + public static class StatsManager.PullAtomMetadata { + method @Nullable public int[] getAdditiveFields(); + method public long getCoolDownMillis(); + method public long getTimeoutMillis(); + } + + public static class StatsManager.PullAtomMetadata.Builder { + ctor public StatsManager.PullAtomMetadata.Builder(); + method @NonNull public android.app.StatsManager.PullAtomMetadata build(); + method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]); + method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long); + method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long); + } + + public static interface StatsManager.StatsPullAtomCallback { + method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>); + } + + public static class StatsManager.StatsUnavailableException extends android.util.AndroidException { + ctor public StatsManager.StatsUnavailableException(String); + ctor public StatsManager.StatsUnavailableException(String, Throwable); + } + +} + +package android.os { + + public final class StatsDimensionsValue implements android.os.Parcelable { + method public int describeContents(); + method public boolean getBooleanValue(); + method public int getField(); + method public float getFloatValue(); + method public int getIntValue(); + method public long getLongValue(); + method public String getStringValue(); + method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList(); + method public int getValueType(); + method public boolean isValueType(int); + method public void writeToParcel(android.os.Parcel, int); + field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5 + field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR; + field public static final int FLOAT_VALUE_TYPE = 6; // 0x6 + field public static final int INT_VALUE_TYPE = 3; // 0x3 + field public static final int LONG_VALUE_TYPE = 4; // 0x4 + field public static final int STRING_VALUE_TYPE = 2; // 0x2 + field public static final int TUPLE_VALUE_TYPE = 7; // 0x7 + } + +} + +package android.util { + + public final class StatsEvent { + method @NonNull public static android.util.StatsEvent.Builder newBuilder(); + } + + public static final class StatsEvent.Builder { + method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean); + method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int); + method @NonNull public android.util.StatsEvent build(); + method @NonNull public android.util.StatsEvent.Builder setAtomId(int); + method @NonNull public android.util.StatsEvent.Builder usePooledBuffer(); + method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]); + method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean); + method @NonNull public android.util.StatsEvent.Builder writeBooleanArray(@NonNull boolean[]); + method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]); + method @NonNull public android.util.StatsEvent.Builder writeFloat(float); + method @NonNull public android.util.StatsEvent.Builder writeFloatArray(@NonNull float[]); + method @NonNull public android.util.StatsEvent.Builder writeInt(int); + method @NonNull public android.util.StatsEvent.Builder writeIntArray(@NonNull int[]); + method @NonNull public android.util.StatsEvent.Builder writeKeyValuePairs(@Nullable android.util.SparseIntArray, @Nullable android.util.SparseLongArray, @Nullable android.util.SparseArray<java.lang.String>, @Nullable android.util.SparseArray<java.lang.Float>); + method @NonNull public android.util.StatsEvent.Builder writeLong(long); + method @NonNull public android.util.StatsEvent.Builder writeLongArray(@NonNull long[]); + method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String); + method @NonNull public android.util.StatsEvent.Builder writeStringArray(@NonNull String[]); + } + + public final class StatsLog { + method public static void write(@NonNull android.util.StatsEvent); + method @Deprecated public static void writeRaw(@NonNull byte[], int); + field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6 + field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4 + field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1 + field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3 + field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5 + field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8 + field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7 + field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2 + } + +} + diff --git a/extensions/3/system/api/framework-tethering-removed.txt b/extensions/3/system/api/framework-tethering-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-tethering-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-tethering.txt b/extensions/3/system/api/framework-tethering.txt new file mode 100644 index 000000000..844ff6471 --- /dev/null +++ b/extensions/3/system/api/framework-tethering.txt @@ -0,0 +1,117 @@ +// Signature format: 2.0 +package android.net { + + public final class TetheredClient implements android.os.Parcelable { + ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int); + method public int describeContents(); + method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses(); + method @NonNull public android.net.MacAddress getMacAddress(); + method public int getTetheringType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR; + } + + public static final class TetheredClient.AddressInfo implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.LinkAddress getAddress(); + method @Nullable public String getHostname(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR; + } + + public final class TetheringInterface implements android.os.Parcelable { + ctor public TetheringInterface(int, @NonNull String); + method public int describeContents(); + method @NonNull public String getInterface(); + method public int getType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR; + } + + public class TetheringManager { + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering(); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback); + field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED"; + field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1 + field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2 + field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY"; + field public static final String EXTRA_ACTIVE_TETHER = "tetherArray"; + field public static final String EXTRA_AVAILABLE_TETHER = "availableArray"; + field public static final String EXTRA_ERRORED_TETHER = "erroredArray"; + field public static final int TETHERING_BLUETOOTH = 2; // 0x2 + field public static final int TETHERING_ETHERNET = 5; // 0x5 + field public static final int TETHERING_INVALID = -1; // 0xffffffff + field public static final int TETHERING_NCM = 4; // 0x4 + field public static final int TETHERING_USB = 1; // 0x1 + field public static final int TETHERING_WIFI = 0; // 0x0 + field public static final int TETHERING_WIFI_P2P = 3; // 0x3 + field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc + field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9 + field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8 + field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd + field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa + field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5 + field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf + field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe + field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0 + field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb + field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2 + field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6 + field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4 + field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1 + field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10 + field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3 + field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7 + field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2 + field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1 + field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0 + } + + public static interface TetheringManager.OnTetheringEntitlementResultListener { + method public void onTetheringEntitlementResult(int); + } + + public static interface TetheringManager.StartTetheringCallback { + method public default void onTetheringFailed(int); + method public default void onTetheringStarted(); + } + + public static interface TetheringManager.TetheringEventCallback { + method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>); + method public default void onError(@NonNull String, int); + method public default void onError(@NonNull android.net.TetheringInterface, int); + method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>); + method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); + method public default void onOffloadStatusChanged(int); + method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>); + method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); + method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>); + method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); + method public default void onTetheringSupported(boolean); + method public default void onUpstreamChanged(@Nullable android.net.Network); + } + + public static class TetheringManager.TetheringRequest { + method @Nullable public android.net.LinkAddress getClientStaticIpv4Address(); + method public int getConnectivityScope(); + method @Nullable public android.net.LinkAddress getLocalIpv4Address(); + method public boolean getShouldShowEntitlementUi(); + method public int getTetheringType(); + method public boolean isExemptFromEntitlementCheck(); + } + + public static class TetheringManager.TetheringRequest.Builder { + ctor public TetheringManager.TetheringRequest.Builder(int); + method @NonNull public android.net.TetheringManager.TetheringRequest build(); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress); + } + +} + diff --git a/extensions/3/system/api/framework-uwb-removed.txt b/extensions/3/system/api/framework-uwb-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/3/system/api/framework-uwb-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/3/system/api/framework-uwb.txt b/extensions/3/system/api/framework-uwb.txt new file mode 100644 index 000000000..bc51295c3 --- /dev/null +++ b/extensions/3/system/api/framework-uwb.txt @@ -0,0 +1,230 @@ +// Signature format: 2.0 +package android.uwb { + + public final class AngleMeasurement implements android.os.Parcelable { + ctor public AngleMeasurement(@FloatRange(from=-3.141592653589793, to=3.141592653589793) double, @FloatRange(from=0.0, to=3.141592653589793) double, @FloatRange(from=0.0, to=1.0) double); + method public int describeContents(); + method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel(); + method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians(); + method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR; + } + + public final class AngleOfArrivalMeasurement implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.uwb.AngleMeasurement getAltitude(); + method @NonNull public android.uwb.AngleMeasurement getAzimuth(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR; + } + + public static final class AngleOfArrivalMeasurement.Builder { + ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement); + method @NonNull public android.uwb.AngleOfArrivalMeasurement build(); + method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement); + } + + public final class DistanceMeasurement implements android.os.Parcelable { + method public int describeContents(); + method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel(); + method @FloatRange(from=0.0) public double getErrorMeters(); + method public double getMeters(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR; + } + + public static final class DistanceMeasurement.Builder { + ctor public DistanceMeasurement.Builder(); + method @NonNull public android.uwb.DistanceMeasurement build(); + method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double); + method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double); + method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double); + } + + public final class RangingMeasurement implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement(); + method @Nullable public android.uwb.AngleOfArrivalMeasurement getDestinationAngleOfArrivalMeasurement(); + method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement(); + method public long getElapsedRealtimeNanos(); + method public int getLineOfSight(); + method public int getMeasurementFocus(); + method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress(); + method @IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) public int getRssiDbm(); + method public int getStatus(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR; + field public static final int LOS = 0; // 0x0 + field public static final int LOS_UNDETERMINED = 255; // 0xff + field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_AZIMUTH = 2; // 0x2 + field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_ELEVATION = 3; // 0x3 + field public static final int MEASUREMENT_FOCUS_NONE = 0; // 0x0 + field public static final int MEASUREMENT_FOCUS_RANGE = 1; // 0x1 + field public static final int NLOS = 1; // 0x1 + field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1 + field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff + field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0 + field public static final int RSSI_MAX = -1; // 0xffffffff + field public static final int RSSI_MIN = -127; // 0xffffff81 + field public static final int RSSI_UNKNOWN = -128; // 0xffffff80 + } + + public static final class RangingMeasurement.Builder { + ctor public RangingMeasurement.Builder(); + method @NonNull public android.uwb.RangingMeasurement build(); + method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement); + method @NonNull public android.uwb.RangingMeasurement.Builder setDestinationAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement); + method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement); + method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long); + method @NonNull public android.uwb.RangingMeasurement.Builder setLineOfSight(int); + method @NonNull public android.uwb.RangingMeasurement.Builder setMeasurementFocus(int); + method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress); + method @NonNull public android.uwb.RangingMeasurement.Builder setRssiDbm(@IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) int); + method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int); + } + + public final class RangingReport implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR; + } + + public static final class RangingReport.Builder { + ctor public RangingReport.Builder(); + method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement); + method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>); + method @NonNull public android.uwb.RangingReport build(); + } + + public final class RangingSession implements java.lang.AutoCloseable { + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void addControlee(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close(); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void pause(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void removeControlee(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void resume(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void sendData(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop(); + } + + public static interface RangingSession.Callback { + method public void onClosed(int, @NonNull android.os.PersistableBundle); + method public default void onControleeAddFailed(int, @NonNull android.os.PersistableBundle); + method public default void onControleeAdded(@NonNull android.os.PersistableBundle); + method public default void onControleeRemoveFailed(int, @NonNull android.os.PersistableBundle); + method public default void onControleeRemoved(@NonNull android.os.PersistableBundle); + method public default void onDataReceiveFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle); + method public default void onDataReceived(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]); + method public default void onDataSendFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle); + method public default void onDataSent(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle); + method public void onOpenFailed(int, @NonNull android.os.PersistableBundle); + method public void onOpened(@NonNull android.uwb.RangingSession); + method public default void onPauseFailed(int, @NonNull android.os.PersistableBundle); + method public default void onPaused(@NonNull android.os.PersistableBundle); + method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle); + method public void onReconfigured(@NonNull android.os.PersistableBundle); + method public void onReportReceived(@NonNull android.uwb.RangingReport); + method public default void onResumeFailed(int, @NonNull android.os.PersistableBundle); + method public default void onResumed(@NonNull android.os.PersistableBundle); + method public default void onServiceConnected(@NonNull android.os.PersistableBundle); + method public default void onServiceDiscovered(@NonNull android.os.PersistableBundle); + method public void onStartFailed(int, @NonNull android.os.PersistableBundle); + method public void onStarted(@NonNull android.os.PersistableBundle); + method public void onStopFailed(int, @NonNull android.os.PersistableBundle); + method public void onStopped(int, @NonNull android.os.PersistableBundle); + field public static final int CONTROLEE_FAILURE_REASON_MAX_CONTROLEE_REACHED = 0; // 0x0 + field public static final int DATA_FAILURE_REASON_DATA_SIZE_TOO_LARGE = 10; // 0xa + field public static final int REASON_BAD_PARAMETERS = 3; // 0x3 + field public static final int REASON_GENERIC_ERROR = 4; // 0x4 + field public static final int REASON_LOCAL_REQUEST = 1; // 0x1 + field public static final int REASON_MAX_RR_RETRY_REACHED = 9; // 0x9 + field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5 + field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7 + field public static final int REASON_REMOTE_REQUEST = 2; // 0x2 + field public static final int REASON_SERVICE_CONNECTION_FAILURE = 11; // 0xb + field public static final int REASON_SERVICE_DISCOVERY_FAILURE = 10; // 0xa + field public static final int REASON_SE_INTERACTION_FAILURE = 13; // 0xd + field public static final int REASON_SE_NOT_SUPPORTED = 12; // 0xc + field public static final int REASON_SYSTEM_POLICY = 6; // 0x6 + field public static final int REASON_UNKNOWN = 0; // 0x0 + } + + public final class UwbAddress implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]); + method public int size(); + method @NonNull public byte[] toBytes(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR; + field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8 + field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2 + } + + public final class UwbManager { + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle addServiceProfile(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(@NonNull String); + method public int getAdapterState(); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfCertificateInfo(@NonNull android.os.PersistableBundle); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfProvisioningAuthorities(@NonNull android.os.PersistableBundle); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAllServiceProfiles(); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.List<android.os.PersistableBundle> getChipInfos(); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public String getDefaultChipId(); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(@NonNull String); + method public boolean isUwbEnabled(); + method @NonNull @RequiresPermission(allOf={android.Manifest.permission.UWB_PRIVILEGED, android.Manifest.permission.UWB_RANGING}) public android.os.CancellationSignal openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback); + method @NonNull @RequiresPermission(allOf={android.Manifest.permission.UWB_PRIVILEGED, android.Manifest.permission.UWB_RANGING}) public android.os.CancellationSignal openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback, @NonNull String); + method public void provisionProfileAdfByScript(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdfProvisionStateCallback); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbVendorUciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbVendorUciCallback); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeProfileAdf(@NonNull android.os.PersistableBundle); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeServiceProfile(@NonNull android.os.PersistableBundle); + method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(@IntRange(from=9, to=15) int, int, @NonNull byte[]); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setUwbEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback); + method public void unregisterUwbVendorUciCallback(@NonNull android.uwb.UwbManager.UwbVendorUciCallback); + field public static final int REMOVE_PROFILE_ADF_ERROR_INTERNAL = 2; // 0x2 + field public static final int REMOVE_PROFILE_ADF_ERROR_UNKNOWN_SERVICE = 1; // 0x1 + field public static final int REMOVE_PROFILE_ADF_SUCCESS = 0; // 0x0 + field public static final int REMOVE_SERVICE_PROFILE_ERROR_INTERNAL = 2; // 0x2 + field public static final int REMOVE_SERVICE_PROFILE_ERROR_UNKNOWN_SERVICE = 1; // 0x1 + field public static final int REMOVE_SERVICE_PROFILE_SUCCESS = 0; // 0x0 + field public static final int SEND_VENDOR_UCI_ERROR_HW = 1; // 0x1 + field public static final int SEND_VENDOR_UCI_ERROR_INVALID_ARGS = 3; // 0x3 + field public static final int SEND_VENDOR_UCI_ERROR_INVALID_GID = 4; // 0x4 + field public static final int SEND_VENDOR_UCI_ERROR_OFF = 2; // 0x2 + field public static final int SEND_VENDOR_UCI_SUCCESS = 0; // 0x0 + } + + public static interface UwbManager.AdapterStateCallback { + method public void onStateChanged(int, int); + field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1 + field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4 + field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0 + field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3 + field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2 + field public static final int STATE_DISABLED = 0; // 0x0 + field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2 + field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1 + } + + public abstract static class UwbManager.AdfProvisionStateCallback { + ctor public UwbManager.AdfProvisionStateCallback(); + method public abstract void onProfileAdfsProvisionFailed(int, @NonNull android.os.PersistableBundle); + method public abstract void onProfileAdfsProvisioned(@NonNull android.os.PersistableBundle); + field public static final int REASON_INVALID_OID = 1; // 0x1 + field public static final int REASON_SE_FAILURE = 2; // 0x2 + field public static final int REASON_UNKNOWN = 3; // 0x3 + } + + public static interface UwbManager.UwbVendorUciCallback { + method public void onVendorUciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]); + method public void onVendorUciResponse(@IntRange(from=9, to=15) int, int, @NonNull byte[]); + } + +} + diff --git a/extensions/3/system/api/framework-wifi-removed.txt b/extensions/3/system/api/framework-wifi-removed.txt new file mode 100644 index 000000000..a2d0dff3e --- /dev/null +++ b/extensions/3/system/api/framework-wifi-removed.txt @@ -0,0 +1,16 @@ +// Signature format: 2.0 +package android.net.wifi { + + @Deprecated public class BatchedScanResult implements android.os.Parcelable { + ctor public BatchedScanResult(); + ctor public BatchedScanResult(android.net.wifi.BatchedScanResult); + field public final java.util.List<android.net.wifi.ScanResult> scanResults; + field public boolean truncated; + } + + public final class ScanResult implements android.os.Parcelable { + field public boolean untrusted; + } + +} + diff --git a/extensions/3/system/api/framework-wifi.txt b/extensions/3/system/api/framework-wifi.txt new file mode 100644 index 000000000..2249e02e1 --- /dev/null +++ b/extensions/3/system/api/framework-wifi.txt @@ -0,0 +1,1276 @@ +// Signature format: 2.0 +package android.net.wifi { + + public final class CoexUnsafeChannel implements android.os.Parcelable { + ctor public CoexUnsafeChannel(int, int); + ctor public CoexUnsafeChannel(int, int, int); + method public int getBand(); + method public int getChannel(); + method public int getPowerCapDbm(); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR; + field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff + } + + public abstract class EasyConnectStatusCallback { + ctor public EasyConnectStatusCallback(); + method public void onBootstrapUriGenerated(@NonNull android.net.Uri); + method public abstract void onConfiguratorSuccess(int); + method public abstract void onEnrolleeSuccess(int); + method public void onFailure(int); + method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]); + method public abstract void onProgress(int); + field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0 + field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3 + field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2 + field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1 + field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1 + field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0 + } + + @Deprecated public class RttManager { + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback); + method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities(); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities(); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener); + field @Deprecated public static final int BASE = 160256; // 0x27200 + field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204 + field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206 + field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205 + field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208 + field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207 + field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202 + field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200 + field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201 + field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203 + field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description"; + field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2 + field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1 + field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4 + field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa + field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd + field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc + field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe + field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb + field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff + field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2 + field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20 + field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4 + field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8 + field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1 + field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4 + field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff + field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5 + field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4 + field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3 + field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1 + field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2 + field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0 + field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8 + field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1 + field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6 + field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc + field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf + field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9 + field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4 + field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7 + field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2 + field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa + field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3 + field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb + field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5 + field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd + field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe + field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0 + field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4 + field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2 + field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1 + field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2 + field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0 + } + + @Deprecated public class RttManager.Capabilities { + ctor @Deprecated public RttManager.Capabilities(); + field @Deprecated public int supportedPeerType; + field @Deprecated public int supportedType; + } + + @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable { + field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams; + } + + @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable { + ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]); + field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults; + } + + @Deprecated public abstract static class RttManager.ResponderCallback { + ctor @Deprecated public RttManager.ResponderCallback(); + method @Deprecated public abstract void onResponderEnableFailure(int); + method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig); + } + + @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable { + ctor @Deprecated public RttManager.ResponderConfig(); + method @Deprecated public int describeContents(); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR; + field @Deprecated public int centerFreq0; + field @Deprecated public int centerFreq1; + field @Deprecated public int channelWidth; + field @Deprecated public int frequency; + field @Deprecated public String macAddress; + field @Deprecated public int preamble; + } + + @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable { + ctor @Deprecated public RttManager.RttCapabilities(); + field @Deprecated public int bwSupported; + field @Deprecated public boolean lciSupported; + field @Deprecated public boolean lcrSupported; + field @Deprecated public int mcVersion; + field @Deprecated public boolean oneSidedRttSupported; + field @Deprecated public int preambleSupported; + field @Deprecated public boolean responderSupported; + field @Deprecated public boolean secureRttSupported; + field @Deprecated public boolean supportedPeerType; + field @Deprecated public boolean supportedType; + field @Deprecated public boolean twoSided11McRttSupported; + } + + @Deprecated public static interface RttManager.RttListener { + method @Deprecated public void onAborted(); + method @Deprecated public void onFailure(int, String); + method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]); + } + + @Deprecated public static class RttManager.RttParams { + ctor @Deprecated public RttManager.RttParams(); + field @Deprecated public boolean LCIRequest; + field @Deprecated public boolean LCRRequest; + field @Deprecated public int bandwidth; + field @Deprecated public String bssid; + field @Deprecated public int burstTimeout; + field @Deprecated public int centerFreq0; + field @Deprecated public int centerFreq1; + field @Deprecated public int channelWidth; + field @Deprecated public int deviceType; + field @Deprecated public int frequency; + field @Deprecated public int interval; + field @Deprecated public int numRetriesPerFTMR; + field @Deprecated public int numRetriesPerMeasurementFrame; + field @Deprecated public int numSamplesPerBurst; + field @Deprecated public int num_retries; + field @Deprecated public int num_samples; + field @Deprecated public int numberBurst; + field @Deprecated public int preamble; + field @Deprecated public int requestType; + field @Deprecated public boolean secure; + } + + @Deprecated public static class RttManager.RttResult { + ctor @Deprecated public RttManager.RttResult(); + field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI; + field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR; + field @Deprecated public String bssid; + field @Deprecated public int burstDuration; + field @Deprecated public int burstNumber; + field @Deprecated public int distance; + field @Deprecated public int distanceSpread; + field @Deprecated public int distanceStandardDeviation; + field @Deprecated public int distance_cm; + field @Deprecated public int distance_sd_cm; + field @Deprecated public int distance_spread_cm; + field @Deprecated public int frameNumberPerBurstPeer; + field @Deprecated public int measurementFrameNumber; + field @Deprecated public int measurementType; + field @Deprecated public int negotiatedBurstNum; + field @Deprecated public int requestType; + field @Deprecated public int retryAfterDuration; + field @Deprecated public int rssi; + field @Deprecated public int rssiSpread; + field @Deprecated public int rssi_spread; + field @Deprecated public long rtt; + field @Deprecated public long rttSpread; + field @Deprecated public long rttStandardDeviation; + field @Deprecated public long rtt_ns; + field @Deprecated public long rtt_sd_ns; + field @Deprecated public long rtt_spread_ns; + field @Deprecated public int rxRate; + field @Deprecated public boolean secure; + field @Deprecated public int status; + field @Deprecated public int successMeasurementFrameNumber; + field @Deprecated public long ts; + field @Deprecated public int txRate; + field @Deprecated public int tx_rate; + } + + @Deprecated public static class RttManager.WifiInformationElement { + ctor @Deprecated public RttManager.WifiInformationElement(); + field @Deprecated public byte[] data; + field @Deprecated public byte id; + } + + public final class ScanResult implements android.os.Parcelable { + method public int getBand(); + method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid); + field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9 + field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7 + field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8 + field public static final int CIPHER_CCMP = 3; // 0x3 + field public static final int CIPHER_GCMP_128 = 6; // 0x6 + field public static final int CIPHER_GCMP_256 = 4; // 0x4 + field public static final int CIPHER_NONE = 0; // 0x0 + field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1 + field public static final int CIPHER_SMS4 = 5; // 0x5 + field public static final int CIPHER_TKIP = 2; // 0x2 + field public static final int KEY_MGMT_EAP = 2; // 0x2 + field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6 + field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa + field public static final int KEY_MGMT_FT_EAP = 4; // 0x4 + field public static final int KEY_MGMT_FT_PSK = 3; // 0x3 + field public static final int KEY_MGMT_FT_SAE = 11; // 0xb + field public static final int KEY_MGMT_NONE = 0; // 0x0 + field public static final int KEY_MGMT_OSEN = 7; // 0x7 + field public static final int KEY_MGMT_OWE = 9; // 0x9 + field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc + field public static final int KEY_MGMT_PSK = 1; // 0x1 + field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5 + field public static final int KEY_MGMT_SAE = 8; // 0x8 + field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe + field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd + field public static final int PROTOCOL_NONE = 0; // 0x0 + field public static final int PROTOCOL_OSEN = 3; // 0x3 + field public static final int PROTOCOL_RSN = 2; // 0x2 + field public static final int PROTOCOL_WAPI = 4; // 0x4 + field public static final int PROTOCOL_WPA = 1; // 0x1 + } + + public final class SoftApCapability implements android.os.Parcelable { + method public boolean areFeaturesSupported(long); + method public int describeContents(); + method public int getMaxSupportedClients(); + method @NonNull public int[] getSupportedChannelList(int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR; + field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L + field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L + field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L + field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L + field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L + field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L + field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L + field public static final long SOFTAP_FEATURE_IEEE80211_BE = 512L; // 0x200L + field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L + field public static final long SOFTAP_FEATURE_WPA3_OWE = 2048L; // 0x800L + field public static final long SOFTAP_FEATURE_WPA3_OWE_TRANSITION = 1024L; // 0x400L + field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L + } + + public final class SoftApConfiguration implements android.os.Parcelable { + method @NonNull public int[] getAllowedAcsChannels(int); + method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList(); + method @Deprecated public int getBand(); + method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList(); + method public long getBridgedModeOpportunisticShutdownTimeoutMillis(); + method @Deprecated public int getChannel(); + method @NonNull public android.util.SparseIntArray getChannels(); + method public int getMacRandomizationSetting(); + method public int getMaxChannelBandwidth(); + method public int getMaxNumberOfClients(); + method @NonNull public android.net.MacAddress getPersistentRandomizedMacAddress(); + method public long getShutdownTimeoutMillis(); + method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements(); + method public boolean isAutoShutdownEnabled(); + method public boolean isBridgedModeOpportunisticShutdownEnabled(); + method public boolean isClientControlByUserEnabled(); + method public boolean isIeee80211axEnabled(); + method public boolean isIeee80211beEnabled(); + method public boolean isUserConfiguration(); + method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration(); + field public static final int BAND_2GHZ = 1; // 0x1 + field public static final int BAND_5GHZ = 2; // 0x2 + field public static final int BAND_60GHZ = 8; // 0x8 + field public static final int BAND_6GHZ = 4; // 0x4 + field @Deprecated public static final int BAND_ANY = 7; // 0x7 + field public static final long DEFAULT_TIMEOUT = -1L; // 0xffffffffffffffffL + field public static final int RANDOMIZATION_NONE = 0; // 0x0 + field public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2 + field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1 + } + + public static final class SoftApConfiguration.Builder { + ctor public SoftApConfiguration.Builder(); + ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration); + method @NonNull public android.net.wifi.SoftApConfiguration build(); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedAcsChannels(int, @NonNull int[]); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownTimeoutMillis(@IntRange(from=0xffffffff) long); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211beEnabled(boolean); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxChannelBandwidth(int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0xffffffff) long); + method @Deprecated @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorElements(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>); + method @NonNull public android.net.wifi.SoftApConfiguration.Builder setWifiSsid(@Nullable android.net.wifi.WifiSsid); + } + + public final class SoftApInfo implements android.os.Parcelable { + method public int describeContents(); + method public long getAutoShutdownTimeoutMillis(); + method public int getBandwidth(); + method @Nullable public android.net.MacAddress getBssid(); + method public int getFrequency(); + method public int getWifiStandard(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6 + field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2 + field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1 + field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7 + field public static final int CHANNEL_WIDTH_320MHZ = 11; // 0xb + field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3 + field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8 + field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9 + field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4 + field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5 + field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa + field public static final int CHANNEL_WIDTH_AUTO = -1; // 0xffffffff + field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0 + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR; + } + + public final class WifiAvailableChannel implements android.os.Parcelable { + ctor public WifiAvailableChannel(int, int); + method public int describeContents(); + method public int getFrequencyMhz(); + method public int getOperationalModes(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR; + field public static final int OP_MODE_SAP = 2; // 0x2 + field public static final int OP_MODE_STA = 1; // 0x1 + field public static final int OP_MODE_TDLS = 32; // 0x20 + field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10 + field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4 + field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8 + } + + public final class WifiClient implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.MacAddress getMacAddress(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR; + } + + @Deprecated public class WifiConfiguration implements android.os.Parcelable { + method @Deprecated @NonNull public java.util.Set<java.lang.String> getAllNetworkKeys(); + method @Deprecated public int getAuthType(); + method @Deprecated @Nullable public java.util.List<android.net.MacAddress> getBssidAllowlist(); + method @Deprecated public int getDeletionPriority(); + method @Deprecated @NonNull public byte[] getDppCSignKey(); + method @Deprecated @NonNull public byte[] getDppConnector(); + method @Deprecated @NonNull public byte[] getDppNetAccessKey(); + method @Deprecated @NonNull public byte[] getDppPrivateEcKey(); + method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration(); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus(); + method @Deprecated @NonNull public String getPrintableSsid(); + method @Deprecated @NonNull public String getProfileKey(); + method @Deprecated public int getRecentFailureReason(); + method @Deprecated public boolean hasNoInternetAccess(); + method @Deprecated public boolean isEphemeral(); + method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo); + method @Deprecated public boolean isNoInternetAccessExpected(); + method @Deprecated public boolean isRepeaterEnabled(); + method @Deprecated public void setBssidAllowlist(@Nullable java.util.List<android.net.MacAddress>); + method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException; + method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus); + method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setRepeaterEnabled(boolean); + field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff + field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1 + field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0 + field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2 + field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11 + field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec + field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef + field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0 + field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1 + field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee + field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed + field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3 + field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0 + field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2 + field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb + field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea + field @Deprecated public boolean allowAutojoin; + field @Deprecated public int carrierId; + field @Deprecated public boolean carrierMerged; + field @Deprecated public String creatorName; + field @Deprecated public int creatorUid; + field @Deprecated public boolean fromWifiNetworkSpecifier; + field @Deprecated public boolean fromWifiNetworkSuggestion; + field @Deprecated public int lastConnectUid; + field @Deprecated public String lastUpdateName; + field @Deprecated public int lastUpdateUid; + field @Deprecated public int macRandomizationSetting; + field @Deprecated public boolean meteredHint; + field @Deprecated public int meteredOverride; + field @Deprecated public int numAssociation; + field @Deprecated public int numScorerOverride; + field @Deprecated public int numScorerOverrideAndSwitchedNetwork; + field @Deprecated public boolean requirePmf; + field @Deprecated public boolean shared; + field @Deprecated public int subscriptionId; + field @Deprecated public boolean useExternalScores; + } + + @Deprecated public static class WifiConfiguration.KeyMgmt { + field @Deprecated public static final int WAPI_CERT = 14; // 0xe + field @Deprecated public static final int WAPI_PSK = 13; // 0xd + field @Deprecated public static final int WPA2_PSK = 4; // 0x4 + } + + @Deprecated public static class WifiConfiguration.NetworkSelectionStatus { + method @Deprecated public int getDisableReasonCounter(int); + method @Deprecated public long getDisableTime(); + method @Deprecated public static int getMaxNetworkSelectionDisableReason(); + method @Deprecated public int getNetworkSelectionDisableReason(); + method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int); + method @Deprecated public int getNetworkSelectionStatus(); + method @Deprecated @NonNull public String getNetworkStatusString(); + method @Deprecated public boolean hasEverConnected(); + field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1 + field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2 + field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5 + field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9 + field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa + field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7 + field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8 + field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc + field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3 + field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb + field @Deprecated public static final int DISABLED_NONE = 0; // 0x0 + field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6 + field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4 + field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0 + field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2 + field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1 + } + + @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder { + ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder(); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build(); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int); + method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int); + } + + public final class WifiConnectedSessionInfo implements android.os.Parcelable { + method public int describeContents(); + method public int getSessionId(); + method public boolean isUserSelected(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR; + } + + public static final class WifiConnectedSessionInfo.Builder { + ctor public WifiConnectedSessionInfo.Builder(int); + method @NonNull public android.net.wifi.WifiConnectedSessionInfo build(); + method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean); + } + + public class WifiEnterpriseConfig implements android.os.Parcelable { + method @Nullable public String[] getCaCertificateAliases(); + method @NonNull public String getCaPath(); + method @NonNull public String getClientCertificateAlias(); + method public int getOcsp(); + method @NonNull public String getWapiCertSuite(); + method public void setCaCertificateAliases(@Nullable String[]); + method public void setCaPath(@NonNull String); + method public void setClientCertificateAlias(@NonNull String); + method public void setOcsp(int); + method public void setWapiCertSuite(@NonNull String); + field public static final int OCSP_NONE = 0; // 0x0 + field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1 + field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3 + field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2 + } + + public class WifiFrameworkInitializer { + method public static void registerServiceWrappers(); + } + + public class WifiInfo implements android.os.Parcelable android.net.TransportInfo { + method public double getLostTxPacketsPerSecond(); + method @Nullable public String getNetworkKey(); + method @Nullable public String getRequestingPackageName(); + method public double getRetriedTxPacketsPerSecond(); + method public int getScore(); + method public double getSuccessfulRxPacketsPerSecond(); + method public double getSuccessfulTxPacketsPerSecond(); + method public boolean isCarrierMerged(); + method public boolean isEphemeral(); + method public boolean isOemPaid(); + method public boolean isOemPrivate(); + method public boolean isOsuAp(); + method public boolean isPasspointAp(); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary(); + method public boolean isTrusted(); + method @Nullable public static String sanitizeSsid(@Nullable String); + field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00"; + field public static final int INVALID_RSSI = -127; // 0xffffff81 + } + + public class WifiManager { + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean); + method public void clearExternalPnoScanRequest(); + method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode(); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer(); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(int, @Nullable android.net.wifi.WifiManager.ActionListener); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void disable(int, @Nullable android.net.wifi.WifiManager.ActionListener); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void forget(int, @Nullable android.net.wifi.WifiManager.ActionListener); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.util.Pair<android.net.wifi.WifiConfiguration,java.util.Map<java.lang.Integer,java.util.List<android.net.wifi.ScanResult>>>> getAllMatchingWifiConfigs(@NonNull java.util.List<android.net.wifi.ScanResult>); + method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getAllowedChannels(int, int); + method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public String getCountryCode(); + method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork(); + method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength(); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses(); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void getLastCallerInfoForApi(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.BiConsumer<java.lang.String,java.lang.Boolean>); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,java.util.List<android.net.wifi.ScanResult>> getMatchingOsuProviders(@Nullable java.util.List<android.net.wifi.ScanResult>); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,android.net.wifi.hotspot2.PasspointConfiguration> getMatchingPasspointConfigsForOsuProviders(@NonNull java.util.Set<android.net.wifi.hotspot2.OsuProvider>); + method @NonNull @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.Map<android.net.wifi.WifiNetworkSuggestion,java.util.List<android.net.wifi.ScanResult>> getMatchingScanResults(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>, @Nullable java.util.List<android.net.wifi.ScanResult>); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public java.util.Set<java.lang.String> getOemPrivilegedWifiAdminPackages(); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}, conditional=true) public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks(); + method @Nullable @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}, conditional=true) public android.net.wifi.WifiConfiguration getPrivilegedConnectedNetwork(); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration(); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}, conditional=true) public java.util.Set<android.net.wifi.WifiSsid> getSsidsAllowlist(); + method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getUsableChannels(int, int); + method public int getVerboseLoggingLevel(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState(); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.WifiConfiguration> getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(@NonNull java.util.List<android.net.wifi.ScanResult>); + method public boolean isApMacRandomizationSupported(); + method public boolean isConnectedMacRandomizationSupported(); + method @Deprecated public boolean isDeviceToDeviceRttSupported(); + method public boolean isPortableHotspotSupported(); + method public boolean isStaConcurrencyForRestrictedConnectionsSupported(); + method public boolean isVerboseLoggingEnabled(); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled(); + method public boolean isWifiScannerSupported(); + method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyMinimumRequiredWifiSecurityLevelChanged(int); + method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyWifiSsidPolicyChanged(@NonNull android.app.admin.WifiSsidPolicy); + method @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void registerActiveCountryCodeChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback); + method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback); + method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void registerLocalOnlyHotspotSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void registerSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener); + method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem(); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]); + method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData(); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData(); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void save(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int); + method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String); + method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int); + method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION}) public void setExternalPnoScanRequest(@NonNull java.util.List<android.net.wifi.WifiSsid>, @Nullable int[], @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.PnoScanResultsCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean); + method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setScreenOnScanSchedule(@Nullable java.util.List<android.net.wifi.WifiManager.ScreenOnScanSchedule>); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}, conditional=true) public void setSsidsAllowlist(@NonNull java.util.Set<android.net.wifi.WifiSsid>); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean setStaConcurrencyForMultiInternetMode(int); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingLevel(int); + method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWifiPasspointEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsConfiguratorInitiator(@NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeInitiator(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeResponder(@Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NEARBY_WIFI_DEVICES}) public void startLocalOnlyHotspot(@NonNull android.net.wifi.SoftApConfiguration, @Nullable java.util.concurrent.Executor, @Nullable android.net.wifi.WifiManager.LocalOnlyHotspotCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int); + method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(@NonNull android.net.wifi.hotspot2.OsuProvider, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.hotspot2.ProvisioningCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession(); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId(); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp(); + method public void unregisterActiveCountryCodeChangedCallback(@NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback); + method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback); + method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void unregisterLocalOnlyHotspotSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void unregisterSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int); + method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int); + field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED"; + field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET"; + field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW"; + field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING"; + field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE"; + field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE"; + field public static final int API_AUTOJOIN_GLOBAL = 5; // 0x5 + field public static final int API_SCANNING_ENABLED = 1; // 0x1 + field public static final int API_SET_SCAN_SCHEDULE = 6; // 0x6 + field public static final int API_SOFT_AP = 3; // 0x3 + field public static final int API_TETHERED_HOTSPOT = 4; // 0x4 + field public static final int API_WIFI_ENABLED = 2; // 0x2 + field public static final int CHANGE_REASON_ADDED = 0; // 0x0 + field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2 + field public static final int CHANGE_REASON_REMOVED = 1; // 0x1 + field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2 + field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4 + field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1 + field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE"; + field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1 + field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2 + field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3 + field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0 + field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3 + field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4 + field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5 + field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0 + field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1 + field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2 + field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1 + field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0 + field public static final String EXTRA_CHANGE_REASON = "changeReason"; + field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES"; + field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges"; + field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK"; + field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state"; + field public static final String EXTRA_URL = "android.net.wifi.extra.URL"; + field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON"; + field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME"; + field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE"; + field public static final String EXTRA_WIFI_AP_STATE = "wifi_state"; + field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration"; + field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et"; + field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid"; + field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0 + field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2 + field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1 + field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff + field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0 + field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1 + field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0 + field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1 + field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0 + field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1 + field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2 + field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0 + field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1 + field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2 + field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED"; + field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb + field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa + field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd + field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc + field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe + field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED"; + field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1 + field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0 + } + + public static interface WifiManager.ActionListener { + method public void onFailure(int); + method public void onSuccess(); + field public static final int FAILURE_BUSY = 2; // 0x2 + field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0 + field public static final int FAILURE_INVALID_ARGS = 3; // 0x3 + field public static final int FAILURE_IN_PROGRESS = 1; // 0x1 + field public static final int FAILURE_NOT_AUTHORIZED = 4; // 0x4 + } + + public static interface WifiManager.ActiveCountryCodeChangedCallback { + method public void onActiveCountryCodeChanged(@NonNull String); + method public void onCountryCodeInactive(); + } + + public abstract static class WifiManager.CoexCallback { + ctor public WifiManager.CoexCallback(); + method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int); + } + + public static interface WifiManager.NetworkRequestMatchCallback { + method public default void onAbort(); + method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>); + method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback); + method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration); + method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration); + } + + public static interface WifiManager.NetworkRequestUserSelectionCallback { + method public default void reject(); + method public default void select(@NonNull android.net.wifi.WifiConfiguration); + } + + public static interface WifiManager.OnWifiActivityEnergyInfoListener { + method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo); + } + + public static interface WifiManager.OnWifiUsabilityStatsListener { + method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry); + } + + public static interface WifiManager.PnoScanResultsCallback { + method public void onRegisterFailed(int); + method public void onRegisterSuccess(); + method public void onRemoved(int); + method public void onScanResultsAvailable(@NonNull java.util.List<android.net.wifi.ScanResult>); + field public static final int REGISTER_PNO_CALLBACK_ALREADY_REGISTERED = 1; // 0x1 + field public static final int REGISTER_PNO_CALLBACK_PNO_NOT_SUPPORTED = 3; // 0x3 + field public static final int REGISTER_PNO_CALLBACK_RESOURCE_BUSY = 2; // 0x2 + field public static final int REGISTER_PNO_CALLBACK_UNKNOWN = 0; // 0x0 + field public static final int REMOVE_PNO_CALLBACK_RESULTS_DELIVERED = 1; // 0x1 + field public static final int REMOVE_PNO_CALLBACK_UNKNOWN = 0; // 0x0 + field public static final int REMOVE_PNO_CALLBACK_UNREGISTERED = 2; // 0x2 + } + + public static interface WifiManager.ScoreUpdateObserver { + method public default void blocklistCurrentBssid(int); + method public void notifyScoreUpdate(int, int); + method public default void notifyStatusUpdate(int, boolean); + method public default void requestNudOperation(int); + method public void triggerUpdateOfWifiUsabilityStats(int); + } + + public static class WifiManager.ScreenOnScanSchedule { + ctor public WifiManager.ScreenOnScanSchedule(@NonNull java.time.Duration, int); + method @NonNull public java.time.Duration getScanInterval(); + method public int getScanType(); + } + + public static interface WifiManager.SoftApCallback { + method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int); + method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability); + method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>); + method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>); + method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo); + method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>); + method public default void onStateChanged(int, int); + } + + public static interface WifiManager.TrafficStateCallback { + method public void onStateChanged(int); + field public static final int DATA_ACTIVITY_IN = 1; // 0x1 + field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3 + field public static final int DATA_ACTIVITY_NONE = 0; // 0x0 + field public static final int DATA_ACTIVITY_OUT = 2; // 0x2 + } + + public static interface WifiManager.WifiConnectedNetworkScorer { + method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver); + method @Deprecated public default void onStart(int); + method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo); + method public void onStop(int); + } + + public static interface WifiManager.WifiVerboseLoggingStatusChangedListener { + method public void onWifiVerboseLoggingStatusChanged(boolean); + } + + @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable { + ctor @Deprecated public WifiNetworkConnectionStatistics(int, int); + ctor @Deprecated public WifiNetworkConnectionStatistics(); + ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics); + method @Deprecated public int describeContents(); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR; + field @Deprecated public int numConnection; + field @Deprecated public int numUsage; + } + + public final class WifiNetworkSuggestion implements android.os.Parcelable { + method public int getCarrierId(); + method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration(); + method public boolean isOemPaid(); + method public boolean isOemPrivate(); + } + + public static final class WifiNetworkSuggestion.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean); + method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean); + } + + public class WifiScanner { + method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]); + method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings); + method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<java.lang.Integer> getAvailableChannels(int); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults(); + method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults(); + method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean isScanning(); + method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.NETWORK_STACK}) public void registerScanListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiScanner.ScanListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource); + method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener); + method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource); + method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener); + method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener); + method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener); + method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener); + method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener); + method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener); + method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener); + field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000 + field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8 + field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb + field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe + field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd + field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc + field public static final int REASON_SUCCEEDED = 0; // 0x0 + field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff + field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0 + field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1 + field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2 + field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4 + field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2 + field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0 + field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1 + field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb + field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf + field public static final int WIFI_BAND_24_GHZ = 1; // 0x1 + field public static final int WIFI_BAND_5_GHZ = 2; // 0x2 + field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4 + field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6 + field public static final int WIFI_BAND_60_GHZ = 16; // 0x10 + field public static final int WIFI_BAND_6_GHZ = 8; // 0x8 + field public static final int WIFI_BAND_BOTH = 3; // 0x3 + field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7 + field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0 + field public static final int WIFI_RNR_ENABLED = 1; // 0x1 + field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0 + field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2 + } + + public static interface WifiScanner.ActionListener { + method public void onFailure(int, String); + method public void onSuccess(); + } + + @Deprecated public static class WifiScanner.BssidInfo { + ctor @Deprecated public WifiScanner.BssidInfo(); + field @Deprecated public String bssid; + field @Deprecated public int frequencyHint; + field @Deprecated public int high; + field @Deprecated public int low; + } + + @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener { + method @Deprecated public void onFound(android.net.wifi.ScanResult[]); + method @Deprecated public void onLost(android.net.wifi.ScanResult[]); + } + + public static class WifiScanner.ChannelSpec { + ctor public WifiScanner.ChannelSpec(int); + field public int frequency; + } + + @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable { + ctor @Deprecated public WifiScanner.HotlistSettings(); + field @Deprecated public int apLostThreshold; + field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos; + } + + public static class WifiScanner.ParcelableScanData implements android.os.Parcelable { + ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]); + method public android.net.wifi.WifiScanner.ScanData[] getResults(); + field public android.net.wifi.WifiScanner.ScanData[] mResults; + } + + public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable { + ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]); + method public android.net.wifi.ScanResult[] getResults(); + field public android.net.wifi.ScanResult[] mResults; + } + + public static class WifiScanner.ScanData implements android.os.Parcelable { + ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]); + ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData); + method public int getFlags(); + method public int getId(); + method public android.net.wifi.ScanResult[] getResults(); + method public int getScannedBands(); + } + + public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener { + method public void onFullResult(android.net.wifi.ScanResult); + method @Deprecated public void onPeriodChanged(int); + method public void onResults(android.net.wifi.WifiScanner.ScanData[]); + } + + public static class WifiScanner.ScanSettings implements android.os.Parcelable { + ctor public WifiScanner.ScanSettings(); + method public int getRnrSetting(); + method public boolean is6GhzPscOnlyEnabled(); + method public void set6GhzPscOnlyEnabled(boolean); + method public void setRnrSetting(int); + field public int band; + field public android.net.wifi.WifiScanner.ChannelSpec[] channels; + field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks; + field public boolean hideFromAppOps; + field public boolean ignoreLocationSettings; + field @Deprecated public int maxPeriodInMs; + field @Deprecated public int maxScansToCache; + field @Deprecated public int numBssidsPerScan; + field @Deprecated public int periodInMs; + field @Deprecated public int reportEvents; + field @Deprecated public int stepCount; + field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type; + } + + public static class WifiScanner.ScanSettings.HiddenNetwork { + ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String); + field @NonNull public final String ssid; + } + + @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener { + method @Deprecated public void onChanging(android.net.wifi.ScanResult[]); + method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]); + } + + @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable { + ctor @Deprecated public WifiScanner.WifiChangeSettings(); + field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos; + field @Deprecated public int lostApSampleSize; + field @Deprecated public int minApsBreachingThreshold; + field @Deprecated public int periodInMs; + field @Deprecated public int rssiSampleSize; + field @Deprecated public int unchangedSampleSize; + } + + public final class WifiUsabilityStatsEntry implements android.os.Parcelable { + method public int describeContents(); + method public int getCellularDataNetworkType(); + method public int getCellularSignalStrengthDb(); + method public int getCellularSignalStrengthDbm(); + method @IntRange(from=0xffffffff, to=255) public int getChannelUtilizationRatio(); + method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int); + method public int getLinkSpeedMbps(); + method public int getProbeElapsedTimeSinceLastUpdateMillis(); + method public int getProbeMcsRateSinceLastUpdate(); + method public int getProbeStatusSinceLastUpdate(); + method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats(); + method public int getRssi(); + method public int getRxLinkSpeedMbps(); + method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent(); + method public long getTimeStampMillis(); + method public long getTotalBackgroundScanTimeMillis(); + method public long getTotalBeaconRx(); + method public long getTotalCcaBusyFreqTimeMillis(); + method public long getTotalHotspot2ScanTimeMillis(); + method public long getTotalNanScanTimeMillis(); + method public long getTotalPnoScanTimeMillis(); + method public long getTotalRadioOnFreqTimeMillis(); + method public long getTotalRadioOnTimeMillis(); + method public long getTotalRadioRxTimeMillis(); + method public long getTotalRadioTxTimeMillis(); + method public long getTotalRoamScanTimeMillis(); + method public long getTotalRxSuccess(); + method public long getTotalScanTimeMillis(); + method public long getTotalTxBad(); + method public long getTotalTxRetries(); + method public long getTotalTxSuccess(); + method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats(); + method public boolean isCellularDataAvailable(); + method public boolean isSameRegisteredCell(); + method public boolean isThroughputSufficient(); + method public boolean isWifiScoringEnabled(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR; + field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4 + field public static final int PROBE_STATUS_FAILURE = 3; // 0x3 + field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1 + field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2 + field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0 + field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6 + field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3 + field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0 + field public static final int WIFI_BANDWIDTH_320_MHZ = 7; // 0x7 + field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1 + field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5 + field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4 + field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2 + field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff + field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1 + field public static final int WIFI_PREAMBLE_EHT = 6; // 0x6 + field public static final int WIFI_PREAMBLE_HE = 5; // 0x5 + field public static final int WIFI_PREAMBLE_HT = 2; // 0x2 + field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff + field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0 + field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3 + field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4 + field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff + field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1 + field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3 + field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2 + field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0 + field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1 + field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2 + field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3 + } + + public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable { + ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long); + method public int describeContents(); + method public long getContentionNumSamples(); + method public long getContentionTimeAvgMicros(); + method public long getContentionTimeMaxMicros(); + method public long getContentionTimeMinMicros(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR; + } + + public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable { + ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long); + method public int describeContents(); + method public long getRadioId(); + method public long getTotalBackgroundScanTimeMillis(); + method public long getTotalHotspot2ScanTimeMillis(); + method public long getTotalNanScanTimeMillis(); + method public long getTotalPnoScanTimeMillis(); + method public long getTotalRadioOnTimeMillis(); + method public long getTotalRadioRxTimeMillis(); + method public long getTotalRadioTxTimeMillis(); + method public long getTotalRoamScanTimeMillis(); + method public long getTotalScanTimeMillis(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR; + } + + public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable { + ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int); + method public int describeContents(); + method public int getBandwidthInMhz(); + method public int getBitRateInKbps(); + method public int getMpduLost(); + method public int getNumberOfSpatialStreams(); + method public int getPreamble(); + method public int getRateMcsIdx(); + method public int getRetries(); + method public int getRxMpdu(); + method public int getTxMpdu(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR; + } + +} + +package android.net.wifi.aware { + + public final class AwareParams implements android.os.Parcelable { + ctor public AwareParams(); + method public int describeContents(); + method public int getDiscoveryBeaconIntervalMillis(); + method public int getDiscoveryWindowWakeInterval24Ghz(); + method public int getDiscoveryWindowWakeInterval5Ghz(); + method public int getMacRandomizationIntervalSeconds(); + method public int getNumSpatialStreamsInDiscovery(); + method public boolean isDwEarlyTerminationEnabled(); + method public void setDiscoveryBeaconIntervalMillis(@IntRange(from=1) int); + method public void setDiscoveryWindowWakeInterval24Ghz(@IntRange(from=1, to=5) int); + method public void setDiscoveryWindowWakeInterval5Ghz(@IntRange(from=0, to=5) int); + method public void setDwEarlyTerminationEnabled(boolean); + method public void setMacRandomizationIntervalSeconds(@IntRange(from=1, to=1800) int); + method public void setNumSpatialStreamsInDiscovery(@IntRange(from=1) int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareParams> CREATOR; + field public static final int UNSET_PARAMETER = -1; // 0xffffffff + } + + public class DiscoverySession implements java.lang.AutoCloseable { + method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]); + } + + public class WifiAwareManager { + method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void enableInstantCommunicationMode(boolean); + method @RequiresPermission(allOf={android.Manifest.permission.OVERRIDE_WIFI_CONFIG, android.Manifest.permission.CHANGE_WIFI_STATE}) public void setAwareParams(@Nullable android.net.wifi.aware.AwareParams); + } + + public class WifiAwareSession implements java.lang.AutoCloseable { + method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]); + } + +} + +package android.net.wifi.hotspot2 { + + public final class OsuProvider implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public String getFriendlyName(); + method @Nullable public android.net.Uri getServerUri(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR; + } + + public final class PasspointConfiguration implements android.os.Parcelable { + method public int getMeteredOverride(); + method public boolean isAutojoinEnabled(); + method public boolean isMacRandomizationEnabled(); + } + + public abstract class ProvisioningCallback { + ctor public ProvisioningCallback(); + method public abstract void onProvisioningComplete(); + method public abstract void onProvisioningFailure(int); + method public abstract void onProvisioningStatus(int); + field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16 + field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1 + field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8 + field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11 + field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15 + field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe + field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13 + field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10 + field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12 + field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17 + field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6 + field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7 + field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14 + field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3 + field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2 + field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4 + field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5 + field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb + field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc + field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd + field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9 + field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf + field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa + field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2 + field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1 + field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6 + field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8 + field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb + field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9 + field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5 + field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3 + field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4 + field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa + field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7 + } + +} + +package android.net.wifi.p2p { + + public final class WifiP2pGroupList implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR; + } + + public class WifiP2pManager { + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void deletePersistentGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(allOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.READ_WIFI_CREDENTIAL, android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestPersistentGroupInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setDeviceName(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int); + method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setWfdInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pWfdInfo, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setWifiP2pChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener); + field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED"; + field public static final int MIRACAST_DISABLED = 0; // 0x0 + field public static final int MIRACAST_SINK = 2; // 0x2 + field public static final int MIRACAST_SOURCE = 1; // 0x1 + } + + public static interface WifiP2pManager.PersistentGroupInfoListener { + method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList); + } + +} + +package android.net.wifi.rtt { + + public final class RangingRequest implements android.os.Parcelable { + method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders(); + } + + public final class RangingResult implements android.os.Parcelable { + method @NonNull public byte[] getLci(); + method @NonNull public byte[] getLcr(); + } + + public final class ResponderConfig implements android.os.Parcelable { + ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int); + ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int); + method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(@NonNull android.net.wifi.aware.PeerHandle); + method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(@NonNull android.net.MacAddress); + field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3 + field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0 + field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5 + field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1 + field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2 + field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4 + field public static final int PREAMBLE_EHT = 4; // 0x4 + field public static final int PREAMBLE_HE = 3; // 0x3 + field public static final int PREAMBLE_HT = 1; // 0x1 + field public static final int PREAMBLE_LEGACY = 0; // 0x0 + field public static final int PREAMBLE_VHT = 2; // 0x2 + field public static final int RESPONDER_AP = 0; // 0x0 + field public static final int RESPONDER_AWARE = 4; // 0x4 + field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3 + field public static final int RESPONDER_P2P_GO = 2; // 0x2 + field public static final int RESPONDER_STA = 1; // 0x1 + field public final int centerFreq0; + field public final int centerFreq1; + field public final int channelWidth; + field public final int frequency; + field @Nullable public final android.net.MacAddress macAddress; + field @Nullable public final android.net.wifi.aware.PeerHandle peerHandle; + field public final int preamble; + field public final int responderType; + field public final boolean supports80211mc; + } + + public final class ResponderLocation implements android.os.Parcelable { + method public boolean getExtraInfoOnAssociationIndication(); + } + + public class WifiRttManager { + method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource); + method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void startRanging(@Nullable android.os.WorkSource, @NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback); + } + +} + |