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.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.FilePermission filePermission;
descriptor: Ljava/io/FilePermission;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/internal/net/http/ResponseBodyHandlers;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
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=6, 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 9
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: goto 9
StackMap locals: java.nio.file.Path java.util.List java.io.FilePermission java.lang.SecurityManager
StackMap stack: java.lang.UnsupportedOperationException
8: pop
9: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.$assertionsDisabled:Z
ifne 10
aload 2
ifnull 10
aload 2
invokevirtual java.io.FilePermission.getActions:()Ljava/lang/String;
ldc "write"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 3
ifnull 11
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
goto 12
StackMap locals:
StackMap stack:
11: aconst_null
StackMap locals:
StackMap stack: java.security.AccessControlContext
12: astore 4
start local 4 13: new jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler
dup
aload 0
aload 1
aload 4
aload 2
invokespecial jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.<init>:(Ljava/nio/file/Path;Ljava/util/List;Ljava/security/AccessControlContext;Ljava/io/FilePermission;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 file Ljava/nio/file/Path;
0 14 1 openOptions Ljava/util/List<Ljava/nio/file/OpenOption;>;
1 14 2 filePermission Ljava/io/FilePermission;
2 14 3 sm Ljava/lang/SecurityManager;
4 7 4 fn Ljava/lang/String;
5 7 5 writePermission Ljava/io/FilePermission;
13 14 4 acc Ljava/security/AccessControlContext;
Exception table:
from to target type
3 7 8 Class java.lang.UnsupportedOperationException
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.security.AccessControlContext, java.io.FilePermission);
descriptor: (Ljava/nio/file/Path;Ljava/util/List;Ljava/security/AccessControlContext;Ljava/io/FilePermission;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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.acc:Ljava/security/AccessControlContext;
4: aload 0
aload 4
putfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.filePermission:Ljava/io/FilePermission;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/net/http/ResponseBodyHandlers$PathBodyHandler;
0 6 1 file Ljava/nio/file/Path;
0 6 2 openOptions Ljava/util/List<Ljava/nio/file/OpenOption;>;
0 6 3 acc Ljava/security/AccessControlContext;
0 6 4 filePermission Ljava/io/FilePermission;
Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/nio/file/OpenOption;>;Ljava/security/AccessControlContext;Ljava/io/FilePermission;)V
MethodParameters:
Name Flags
file
openOptions
acc
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=9, 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;
aload 0
getfield jdk.internal.net.http.ResponseBodyHandlers$PathBodyHandler.acc:Ljava/security/AccessControlContext;
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/security/AccessControlContext;[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