class org.apache.logging.log4j.core.net.ssl.FilePasswordProvider implements org.apache.logging.log4j.core.net.ssl.PasswordProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.logging.log4j.core.net.ssl.FilePasswordProvider
super_class: java.lang.Object
{
private final java.nio.file.Path passwordPath;
descriptor: Ljava/nio/file/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 // org.apache.logging.log4j.core.net.ssl.FilePasswordProvider this
start local 1 // java.lang.String passwordFile
0: .line 56
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 57
aload 0 /* this */
aload 1 /* passwordFile */
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
putfield org.apache.logging.log4j.core.net.ssl.FilePasswordProvider.passwordPath:Ljava/nio/file/Path;
2: .line 58
aload 0 /* this */
getfield org.apache.logging.log4j.core.net.ssl.FilePasswordProvider.passwordPath:Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifne 4
3: .line 59
new java.nio.file.NoSuchFileException
dup
new java.lang.StringBuilder
dup
ldc "PasswordFile '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* passwordFile */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' does not exist"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.nio.file.NoSuchFileException.<init>:(Ljava/lang/String;)V
athrow
4: .line 61
StackMap locals: org.apache.logging.log4j.core.net.ssl.FilePasswordProvider java.lang.String
StackMap stack:
return
end local 1 // java.lang.String passwordFile
end local 0 // org.apache.logging.log4j.core.net.ssl.FilePasswordProvider this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/logging/log4j/core/net/ssl/FilePasswordProvider;
0 5 1 passwordFile Ljava/lang/String;
Exceptions:
throws java.nio.file.NoSuchFileException
MethodParameters:
Name Flags
passwordFile final
public char[] getPassword();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 // org.apache.logging.log4j.core.net.ssl.FilePasswordProvider this
0: .line 65
aconst_null
astore 1 /* bytes */
start local 1 // byte[] bytes
1: .line 67
aload 0 /* this */
getfield org.apache.logging.log4j.core.net.ssl.FilePasswordProvider.passwordPath:Ljava/nio/file/Path;
invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
astore 1 /* bytes */
2: .line 68
aload 1 /* bytes */
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 2 /* bb */
start local 2 // java.nio.ByteBuffer bb
3: .line 69
invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
aload 2 /* bb */
invokevirtual java.nio.charset.Charset.decode:(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
astore 3 /* decoded */
start local 3 // java.nio.CharBuffer decoded
4: .line 70
aload 3 /* decoded */
invokevirtual java.nio.CharBuffer.limit:()I
newarray 5
astore 4 /* result */
start local 4 // char[] result
5: .line 71
aload 3 /* decoded */
aload 4 /* result */
iconst_0
aload 4 /* result */
arraylength
invokevirtual java.nio.CharBuffer.get:([CII)Ljava/nio/CharBuffer;
pop
6: .line 72
aload 3 /* decoded */
invokevirtual java.nio.CharBuffer.rewind:()Ljava/nio/Buffer;
pop
7: .line 73
aload 3 /* decoded */
aload 4 /* result */
arraylength
newarray 5
invokevirtual java.nio.CharBuffer.put:([C)Ljava/nio/CharBuffer;
pop
8: .line 74
aload 4 /* result */
astore 6
9: .line 78
aload 1 /* bytes */
ifnull 11
10: .line 79
aload 1 /* bytes */
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
11: .line 74
StackMap locals: org.apache.logging.log4j.core.net.ssl.FilePasswordProvider byte[] java.nio.ByteBuffer java.nio.CharBuffer char[] top char[]
StackMap stack:
aload 6
areturn
end local 4 // char[] result
end local 3 // java.nio.CharBuffer decoded
end local 2 // java.nio.ByteBuffer bb
12: .line 75
StackMap locals: org.apache.logging.log4j.core.net.ssl.FilePasswordProvider byte[]
StackMap stack: java.io.IOException
astore 2 /* e */
start local 2 // java.io.IOException e
13: .line 76
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Could not read password from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.apache.logging.log4j.core.net.ssl.FilePasswordProvider.passwordPath:Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2 /* e */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* e */
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.io.IOException e
14: .line 77
StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
15: .line 78
aload 1 /* bytes */
ifnull 17
16: .line 79
aload 1 /* bytes */
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
17: .line 81
StackMap locals: org.apache.logging.log4j.core.net.ssl.FilePasswordProvider byte[] top top top java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 1 // byte[] bytes
end local 0 // org.apache.logging.log4j.core.net.ssl.FilePasswordProvider this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/logging/log4j/core/net/ssl/FilePasswordProvider;
1 18 1 bytes [B
3 12 2 bb Ljava/nio/ByteBuffer;
4 12 3 decoded Ljava/nio/CharBuffer;
5 12 4 result [C
13 14 2 e Ljava/io/IOException;
Exception table:
from to target type
1 9 12 Class java.io.IOException
1 9 14 any
12 14 14 any
}
SourceFile: "FilePasswordProvider.java"