public class jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler implements java.net.http.HttpResponse$BodyHandler<java.nio.file.Path>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler
super_class: java.lang.Object
{
private final java.nio.file.Path file;
descriptor: Ljava/nio/file/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.nio.file.OpenOption> openOptions;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/nio/file/OpenOption;>;
private final java.io.FilePermission filePermission;
descriptor: Ljava/io/FilePermission;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler create(java.nio.file.Path, java.util.List<java.nio.file.OpenOption>);
descriptor: (Ljava/nio/file/Path;Ljava/util/List;)Ljdk/internal/net/http/ResponseBodyHandlers$PathBodyHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 2: aload 3
ifnull 7
3: aload 0
invokestatic jdk.internal.net.http.ResponseBodyHandlers.pathForSecurityCheck:(Ljava/nio/file/Path;)Ljava/lang/String;
astore 4
start local 4 4: new java.io.FilePermission
dup
aload 4
ldc "write"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 5: aload 3
aload 5
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
6: aload 5
astore 2
end local 5 end local 4 7: StackMap locals: java.io.FilePermission java.lang.SecurityManager
StackMap stack:
new jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler
dup
aload 0
aload 1
aload 2
invokespecial jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.<init>:(Ljava/nio/file/Path;Ljava/util/List;Ljava/io/FilePermission;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 file Ljava/nio/file/Path;
0 8 1 openOptions Ljava/util/List<Ljava/nio/file/OpenOption;>;
1 8 2 filePermission Ljava/io/FilePermission;
2 8 3 sm Ljava/lang/SecurityManager;
4 7 4 fn Ljava/lang/String;
5 7 5 writePermission Ljava/io/FilePermission;
Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/nio/file/OpenOption;>;)Ljdk/internal/net/http/ResponseBodyHandlers$PathBodyHandler;
MethodParameters:
Name Flags
file
openOptions
private void <init>(java.nio.file.Path, java.util.List<java.nio.file.OpenOption>, java.io.FilePermission);
descriptor: (Ljava/nio/file/Path;Ljava/util/List;Ljava/io/FilePermission;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.file:Ljava/nio/file/Path;
2: aload 0
aload 2
putfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.openOptions:Ljava/util/List;
3: aload 0
aload 3
putfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.filePermission:Ljava/io/FilePermission;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/net/http/ResponseBodyHandlers$PathBodyHandler;
0 5 1 file Ljava/nio/file/Path;
0 5 2 openOptions Ljava/util/List<Ljava/nio/file/OpenOption;>;
0 5 3 filePermission Ljava/io/FilePermission;
Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/nio/file/OpenOption;>;Ljava/io/FilePermission;)V
MethodParameters:
Name Flags
file
openOptions
filePermission
public java.net.http.HttpResponse$BodySubscriber<java.nio.file.Path> apply(java.net.http.HttpResponse$ResponseInfo);
descriptor: (Ljava/net/http/HttpResponse$ResponseInfo;)Ljava/net/http/HttpResponse$BodySubscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: new jdk.internal.net.http.ResponseSubscribers$PathSubscriber
dup
aload 0
getfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.file:Ljava/nio/file/Path;
aload 0
getfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.openOptions:Ljava/util/List;
iconst_1
anewarray java.io.FilePermission
dup
iconst_0
aload 0
getfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.filePermission:Ljava/io/FilePermission;
aastore
invokespecial jdk.internal.net.http.ResponseSubscribers$PathSubscriber.<init>:(Ljava/nio/file/Path;Ljava/util/List;[Ljava/io/FilePermission;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/ResponseBodyHandlers$PathBodyHandler;
0 1 1 responseInfo Ljava/net/http/HttpResponse$ResponseInfo;
Signature: (Ljava/net/http/HttpResponse$ResponseInfo;)Ljava/net/http/HttpResponse$BodySubscriber<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
responseInfo
}
Signature: Ljava/lang/Object;Ljava/net/http/HttpResponse$BodyHandler<Ljava/nio/file/Path;>;
SourceFile: "ResponseBodyHandlers.java"
NestHost: jdk.internal.net.http.ResponseBodyHandlers
InnerClasses:
public abstract BodyHandler = java.net.http.HttpResponse$BodyHandler of java.net.http.HttpResponse
public abstract BodySubscriber = java.net.http.HttpResponse$BodySubscriber of java.net.http.HttpResponse
public abstract ResponseInfo = java.net.http.HttpResponse$ResponseInfo of java.net.http.HttpResponse
public PathBodyHandler = jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler of jdk.internal.net.http.ResponseBodyHandlers
public PathSubscriber = jdk.internal.net.http.ResponseSubscribers$PathSubscriber of jdk.internal.net.http.ResponseSubscribers