public class org.h2.store.FileStoreOutputStream extends java.io.OutputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.store.FileStoreOutputStream
super_class: java.io.OutputStream
{
private org.h2.store.FileStore store;
descriptor: Lorg/h2/store/FileStore;
flags: (0x0002) ACC_PRIVATE
private final org.h2.store.Data page;
descriptor: Lorg/h2/store/Data;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String compressionAlgorithm;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.h2.tools.CompressTool compress;
descriptor: Lorg/h2/tools/CompressTool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] buffer;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.h2.store.FileStore, org.h2.store.DataHandler, java.lang.String);
descriptor: (Lorg/h2/store/FileStore;Lorg/h2/store/DataHandler;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.io.OutputStream.<init>:()V
1: aload 0
iconst_1
newarray 8
putfield org.h2.store.FileStoreOutputStream.buffer:[B
2: aload 0
aload 1
putfield org.h2.store.FileStoreOutputStream.store:Lorg/h2/store/FileStore;
3: aload 3
ifnull 7
4: aload 0
invokestatic org.h2.tools.CompressTool.getInstance:()Lorg/h2/tools/CompressTool;
putfield org.h2.store.FileStoreOutputStream.compress:Lorg/h2/tools/CompressTool;
5: aload 0
aload 3
putfield org.h2.store.FileStoreOutputStream.compressionAlgorithm:Ljava/lang/String;
6: goto 9
7: StackMap locals: org.h2.store.FileStoreOutputStream org.h2.store.FileStore org.h2.store.DataHandler java.lang.String
StackMap stack:
aload 0
aconst_null
putfield org.h2.store.FileStoreOutputStream.compress:Lorg/h2/tools/CompressTool;
8: aload 0
aconst_null
putfield org.h2.store.FileStoreOutputStream.compressionAlgorithm:Ljava/lang/String;
9: StackMap locals:
StackMap stack:
aload 0
aload 2
bipush 16
iconst_1
invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;IZ)Lorg/h2/store/Data;
putfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/h2/store/FileStoreOutputStream;
0 11 1 store Lorg/h2/store/FileStore;
0 11 2 handler Lorg/h2/store/DataHandler;
0 11 3 compressionAlgorithm Ljava/lang/String;
MethodParameters:
Name Flags
store
handler
compressionAlgorithm
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.FileStoreOutputStream.buffer:[B
iconst_0
iload 1
i2b
bastore
1: aload 0
aload 0
getfield org.h2.store.FileStoreOutputStream.buffer:[B
invokevirtual org.h2.store.FileStoreOutputStream.write:([B)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/store/FileStoreOutputStream;
0 3 1 b I
MethodParameters:
Name Flags
b
public void write(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.h2.store.FileStoreOutputStream.write:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/store/FileStoreOutputStream;
0 2 1 buff [B
MethodParameters:
Name Flags
buff
public void write(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifle 19
1: aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.reset:()V
2: aload 0
getfield org.h2.store.FileStoreOutputStream.compress:Lorg/h2/tools/CompressTool;
ifnull 14
3: iload 2
ifne 4
iload 3
aload 1
arraylength
if_icmpeq 6
4: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 1
5: iconst_0
istore 2
6: StackMap locals:
StackMap stack:
iload 3
istore 4
start local 4 7: aload 0
getfield org.h2.store.FileStoreOutputStream.compress:Lorg/h2/tools/CompressTool;
aload 1
aload 0
getfield org.h2.store.FileStoreOutputStream.compressionAlgorithm:Ljava/lang/String;
invokevirtual org.h2.tools.CompressTool.compress:([BLjava/lang/String;)[B
astore 1
8: aload 1
arraylength
istore 3
9: aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
bipush 8
iload 3
iadd
invokevirtual org.h2.store.Data.checkCapacity:(I)V
10: aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
iload 3
invokevirtual org.h2.store.Data.writeInt:(I)V
11: aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
iload 4
invokevirtual org.h2.store.Data.writeInt:(I)V
12: aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
aload 1
iload 2
iload 3
invokevirtual org.h2.store.Data.write:([BII)V
end local 4 13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
iconst_4
iload 3
iadd
invokevirtual org.h2.store.Data.checkCapacity:(I)V
15: aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
iload 3
invokevirtual org.h2.store.Data.writeInt:(I)V
16: aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
aload 1
iload 2
iload 3
invokevirtual org.h2.store.Data.write:([BII)V
17: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.fillAligned:()V
18: aload 0
getfield org.h2.store.FileStoreOutputStream.store:Lorg/h2/store/FileStore;
aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.getBytes:()[B
iconst_0
aload 0
getfield org.h2.store.FileStoreOutputStream.page:Lorg/h2/store/Data;
invokevirtual org.h2.store.Data.length:()I
invokevirtual org.h2.store.FileStore.write:([BII)V
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/h2/store/FileStoreOutputStream;
0 20 1 buff [B
0 20 2 off I
0 20 3 len I
7 13 4 uncompressed I
MethodParameters:
Name Flags
buff
off
len
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.h2.store.FileStoreOutputStream.store:Lorg/h2/store/FileStore;
ifnull 7
1: aload 0
getfield org.h2.store.FileStoreOutputStream.store:Lorg/h2/store/FileStore;
invokevirtual org.h2.store.FileStore.close:()V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 1
4: aload 0
aconst_null
putfield org.h2.store.FileStoreOutputStream.store:Lorg/h2/store/FileStore;
5: aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.h2.store.FileStoreOutputStream.store:Lorg/h2/store/FileStore;
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/store/FileStoreOutputStream;
Exception table:
from to target type
1 3 3 any
}
SourceFile: "FileStoreOutputStream.java"