class org.h2.store.fs.FileDisk extends org.h2.store.fs.FileBase
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.h2.store.fs.FileDisk
super_class: org.h2.store.fs.FileBase
{
private final java.io.RandomAccessFile file;
descriptor: Ljava/io/RandomAccessFile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean readOnly;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.h2.store.fs.FileBase.<init>:()V
1: aload 0
new java.io.RandomAccessFile
dup
aload 1
aload 2
invokespecial java.io.RandomAccessFile.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
2: aload 0
aload 1
putfield org.h2.store.fs.FileDisk.name:Ljava/lang/String;
3: aload 0
aload 2
ldc "r"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putfield org.h2.store.fs.FileDisk.readOnly:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/store/fs/FileDisk;
0 5 1 fileName Ljava/lang/String;
0 5 2 mode Ljava/lang/String;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
fileName
mode
public void force(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.h2.engine.SysProperties.SYNC_METHOD:Ljava/lang/String;
astore 2
start local 2 1: ldc ""
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
2: ldc "sync"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getFD:()Ljava/io/FileDescriptor;
invokevirtual java.io.FileDescriptor.sync:()V
4: goto 12
StackMap locals: java.lang.String
StackMap stack:
5: ldc "force"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
iconst_1
invokevirtual java.nio.channels.FileChannel.force:(Z)V
7: goto 12
StackMap locals:
StackMap stack:
8: ldc "forceFalse"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
iconst_0
invokevirtual java.nio.channels.FileChannel.force:(Z)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getFD:()Ljava/io/FileDescriptor;
invokevirtual java.io.FileDescriptor.sync:()V
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/h2/store/fs/FileDisk;
0 13 1 metaData Z
1 13 2 m Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
metaData
public java.nio.channels.FileChannel truncate(long);
descriptor: (J)Ljava/nio/channels/FileChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.fs.FileDisk.readOnly:Z
ifeq 2
1: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
lload 1
invokevirtual java.nio.channels.FileChannel.truncate:(J)Ljava/nio/channels/FileChannel;
pop
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/store/fs/FileDisk;
0 4 1 newLength J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
newLength
public synchronized java.nio.channels.FileLock tryLock(long, long, boolean);
descriptor: (JJZ)Ljava/nio/channels/FileLock;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
lload 1
lload 3
iload 5
invokevirtual java.nio.channels.FileChannel.tryLock:(JJZ)Ljava/nio/channels/FileLock;
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/fs/FileDisk;
0 1 1 position J
0 1 3 size J
0 1 5 shared Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
size
shared
public void implCloseChannel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/store/fs/FileDisk;
Exceptions:
throws java.io.IOException
public long position();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getFilePointer:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/fs/FileDisk;
Exceptions:
throws java.io.IOException
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.length:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/fs/FileDisk;
Exceptions:
throws java.io.IOException
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iadd
1: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
2: invokevirtual java.io.RandomAccessFile.read:([BII)I
istore 2
start local 2 3: iload 2
ifle 5
4: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
5: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/store/fs/FileDisk;
0 6 1 dst Ljava/nio/ByteBuffer;
3 6 2 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
public java.nio.channels.FileChannel position(long);
descriptor: (J)Ljava/nio/channels/FileChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
lload 1
invokevirtual java.io.RandomAccessFile.seek:(J)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/store/fs/FileDisk;
0 2 1 pos J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pos
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
start local 2 1: aload 0
getfield org.h2.store.fs.FileDisk.file:Ljava/io/RandomAccessFile;
aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iadd
iload 2
invokevirtual java.io.RandomAccessFile.write:([BII)V
2: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/store/fs/FileDisk;
0 4 1 src Ljava/nio/ByteBuffer;
1 4 2 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.store.fs.FileDisk.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/store/fs/FileDisk;
public java.nio.channels.SeekableByteChannel position(long);
descriptor: (J)Ljava/nio/channels/SeekableByteChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual org.h2.store.fs.FileDisk.position:(J)Ljava/nio/channels/FileChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.nio.channels.SeekableByteChannel truncate(long);
descriptor: (J)Ljava/nio/channels/SeekableByteChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual org.h2.store.fs.FileDisk.truncate:(J)Ljava/nio/channels/FileChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
}
SourceFile: "FilePathDisk.java"