public final class org.bson.types.ObjectId implements java.lang.Comparable<org.bson.types.ObjectId>, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.bson.types.ObjectId
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3670079982654483072
private static final int OBJECT_ID_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int LOW_ORDER_THREE_BYTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16777215
private static final int RANDOM_VALUE1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final short RANDOM_VALUE2;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.atomic.AtomicInteger NEXT_COUNTER;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] HEX_CHARS;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int timestamp;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int counter;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int randomValue1;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final short randomValue2;
descriptor: S
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: new java.util.concurrent.atomic.AtomicInteger
dup
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
invokevirtual java.security.SecureRandom.nextInt:()I
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putstatic org.bson.types.ObjectId.NEXT_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
1: bipush 16
newarray 5
dup
iconst_0
2: bipush 48
castore
dup
iconst_1
bipush 49
castore
dup
iconst_2
bipush 50
castore
dup
iconst_3
bipush 51
castore
dup
iconst_4
bipush 52
castore
dup
iconst_5
bipush 53
castore
dup
bipush 6
bipush 54
castore
dup
bipush 7
bipush 55
castore
dup
bipush 8
3: bipush 56
castore
dup
bipush 9
bipush 57
castore
dup
bipush 10
bipush 97
castore
dup
bipush 11
bipush 98
castore
dup
bipush 12
bipush 99
castore
dup
bipush 13
bipush 100
castore
dup
bipush 14
bipush 101
castore
dup
bipush 15
bipush 102
castore
4: putstatic org.bson.types.ObjectId.HEX_CHARS:[C
5: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
astore 0
start local 0 6: aload 0
ldc 16777216
invokevirtual java.security.SecureRandom.nextInt:(I)I
putstatic org.bson.types.ObjectId.RANDOM_VALUE1:I
7: aload 0
ldc 32768
invokevirtual java.security.SecureRandom.nextInt:(I)I
i2s
putstatic org.bson.types.ObjectId.RANDOM_VALUE2:S
end local 0 8: goto 11
StackMap locals:
StackMap stack: java.lang.Exception
9: astore 0
start local 0 10: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 11: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
6 8 0 secureRandom Ljava/security/SecureRandom;
10 11 0 e Ljava/lang/Exception;
Exception table:
from to target type
5 8 9 Class java.lang.Exception
public static org.bson.types.ObjectId get();
descriptor: ()Lorg/bson/types/ObjectId;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.bson.types.ObjectId
dup
invokespecial org.bson.types.ObjectId.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean isValid(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 3: iload 1
bipush 24
if_icmpeq 5
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
iconst_0
istore 2
start local 2 6: goto 16
7: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 8: iload 3
bipush 48
if_icmplt 10
iload 3
bipush 57
if_icmpgt 10
9: goto 15
10: StackMap locals: int
StackMap stack:
iload 3
bipush 97
if_icmplt 12
iload 3
bipush 102
if_icmpgt 12
11: goto 15
12: StackMap locals:
StackMap stack:
iload 3
bipush 65
if_icmplt 14
iload 3
bipush 70
if_icmpgt 14
13: goto 15
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 15: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
16: iload 2
iload 1
if_icmplt 7
end local 2 17: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 hexString Ljava/lang/String;
3 18 1 len I
6 17 2 i I
8 15 3 c C
MethodParameters:
Name Flags
hexString final
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokespecial org.bson.types.ObjectId.<init>:(Ljava/util/Date;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
public void <init>(java.util.Date);
descriptor: (Ljava/util/Date;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.bson.types.ObjectId.dateToTimestampSeconds:(Ljava/util/Date;)I
getstatic org.bson.types.ObjectId.NEXT_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
ldc 16777215
iand
iconst_0
invokespecial org.bson.types.ObjectId.<init>:(IIZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 date Ljava/util/Date;
MethodParameters:
Name Flags
date final
public void <init>(java.util.Date, int);
descriptor: (Ljava/util/Date;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.bson.types.ObjectId.dateToTimestampSeconds:(Ljava/util/Date;)I
iload 2
iconst_1
invokespecial org.bson.types.ObjectId.<init>:(IIZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 date Ljava/util/Date;
0 2 2 counter I
MethodParameters:
Name Flags
date final
counter final
public void <init>(java.util.Date, int, short, int);
descriptor: (Ljava/util/Date;ISI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokestatic org.bson.types.ObjectId.dateToTimestampSeconds:(Ljava/util/Date;)I
iload 2
iload 3
iload 4
invokespecial org.bson.types.ObjectId.<init>:(IISI)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 date Ljava/util/Date;
0 2 2 machineIdentifier I
0 2 3 processIdentifier S
0 2 4 counter I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
date final
machineIdentifier final
processIdentifier final
counter final
public void <init>(int, int, short, int);
descriptor: (IISI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
iload 4
iconst_1
invokespecial org.bson.types.ObjectId.<init>:(IISIZ)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 timestamp I
0 2 2 machineIdentifier I
0 2 3 processIdentifier S
0 2 4 counter I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
timestamp final
machineIdentifier final
processIdentifier final
counter final
public void <init>(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
iconst_1
invokespecial org.bson.types.ObjectId.<init>:(IIZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 timestamp I
0 2 2 counter I
MethodParameters:
Name Flags
timestamp final
counter final
private void <init>(int, int, boolean);
descriptor: (IIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
getstatic org.bson.types.ObjectId.RANDOM_VALUE1:I
getstatic org.bson.types.ObjectId.RANDOM_VALUE2:S
iload 2
iload 3
invokespecial org.bson.types.ObjectId.<init>:(IISIZ)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 timestamp I
0 2 2 counter I
0 2 3 checkCounter Z
MethodParameters:
Name Flags
timestamp final
counter final
checkCounter final
private void <init>(int, int, short, int, boolean);
descriptor: (IISIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 2
ldc -16777216
iand
ifeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "The machine identifier must be between 0 and 16777215 (it must fit in three bytes)."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.bson.types.ObjectId int int int int int
StackMap stack:
iload 5
ifeq 5
iload 4
ldc -16777216
iand
ifeq 5
4: new java.lang.IllegalArgumentException
dup
ldc "The counter must be between 0 and 16777215 (it must fit in three bytes)."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.bson.types.ObjectId.timestamp:I
6: aload 0
iload 4
ldc 16777215
iand
putfield org.bson.types.ObjectId.counter:I
7: aload 0
iload 2
putfield org.bson.types.ObjectId.randomValue1:I
8: aload 0
iload 3
putfield org.bson.types.ObjectId.randomValue2:S
9: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bson/types/ObjectId;
0 10 1 timestamp I
0 10 2 randomValue1 I
0 10 3 randomValue2 S
0 10 4 counter I
0 10 5 checkCounter Z
MethodParameters:
Name Flags
timestamp final
randomValue1 final
randomValue2 final
counter final
checkCounter final
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.bson.types.ObjectId.parseHexString:(Ljava/lang/String;)[B
invokespecial org.bson.types.ObjectId.<init>:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 hexString Ljava/lang/String;
MethodParameters:
Name Flags
hexString final
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "bytes has length of 12"
aload 1
ldc "bytes"
aload 1
invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
arraylength
bipush 12
if_icmpne 1
iconst_1
goto 2
StackMap locals: uninitialized-this byte[]
StackMap stack: uninitialized-this java.lang.String byte[]
1: iconst_0
StackMap locals: uninitialized-this byte[]
StackMap stack: uninitialized-this java.lang.String byte[] int
2: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Ljava/lang/Object;Z)Ljava/lang/Object;
checkcast byte[]
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokespecial org.bson.types.ObjectId.<init>:(Ljava/nio/ByteBuffer;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bson/types/ObjectId;
0 4 1 bytes [B
MethodParameters:
Name Flags
bytes final
void <init>(int, int, int);
descriptor: (III)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
iload 3
invokestatic org.bson.types.ObjectId.legacyToBytes:(III)[B
invokespecial org.bson.types.ObjectId.<init>:([B)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/types/ObjectId;
0 2 1 timestamp I
0 2 2 machineAndProcessIdentifier I
0 2 3 counter I
MethodParameters:
Name Flags
timestamp final
machineAndProcessIdentifier final
counter final
public void <init>(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: ldc "buffer"
aload 1
invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: ldc "buffer.remaining() >=12"
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 12
if_icmplt 3
iconst_1
goto 4
StackMap locals: org.bson.types.ObjectId java.nio.ByteBuffer
StackMap stack: java.lang.String
3: iconst_0
StackMap locals: org.bson.types.ObjectId java.nio.ByteBuffer
StackMap stack: java.lang.String int
4: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
5: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic org.bson.types.ObjectId.makeInt:(BBBB)I
putfield org.bson.types.ObjectId.timestamp:I
6: aload 0
iconst_0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic org.bson.types.ObjectId.makeInt:(BBBB)I
putfield org.bson.types.ObjectId.randomValue1:I
7: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic org.bson.types.ObjectId.makeShort:(BB)S
putfield org.bson.types.ObjectId.randomValue2:S
8: aload 0
iconst_0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic org.bson.types.ObjectId.makeInt:(BBBB)I
putfield org.bson.types.ObjectId.counter:I
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bson/types/ObjectId;
0 10 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer final
private static byte[] legacyToBytes(int, int, int);
descriptor: (III)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: bipush 12
newarray 8
astore 3
start local 3 1: aload 3
iconst_0
iload 0
invokestatic org.bson.types.ObjectId.int3:(I)B
bastore
2: aload 3
iconst_1
iload 0
invokestatic org.bson.types.ObjectId.int2:(I)B
bastore
3: aload 3
iconst_2
iload 0
invokestatic org.bson.types.ObjectId.int1:(I)B
bastore
4: aload 3
iconst_3
iload 0
invokestatic org.bson.types.ObjectId.int0:(I)B
bastore
5: aload 3
iconst_4
iload 1
invokestatic org.bson.types.ObjectId.int3:(I)B
bastore
6: aload 3
iconst_5
iload 1
invokestatic org.bson.types.ObjectId.int2:(I)B
bastore
7: aload 3
bipush 6
iload 1
invokestatic org.bson.types.ObjectId.int1:(I)B
bastore
8: aload 3
bipush 7
iload 1
invokestatic org.bson.types.ObjectId.int0:(I)B
bastore
9: aload 3
bipush 8
iload 2
invokestatic org.bson.types.ObjectId.int3:(I)B
bastore
10: aload 3
bipush 9
iload 2
invokestatic org.bson.types.ObjectId.int2:(I)B
bastore
11: aload 3
bipush 10
iload 2
invokestatic org.bson.types.ObjectId.int1:(I)B
bastore
12: aload 3
bipush 11
iload 2
invokestatic org.bson.types.ObjectId.int0:(I)B
bastore
13: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 timestamp I
0 14 1 machineAndProcessIdentifier I
0 14 2 counter I
1 14 3 bytes [B
MethodParameters:
Name Flags
timestamp final
machineAndProcessIdentifier final
counter final
public byte[] toByteArray();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 12
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.bson.types.ObjectId.putToByteBuffer:(Ljava/nio/ByteBuffer;)V
2: aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/types/ObjectId;
1 3 1 buffer Ljava/nio/ByteBuffer;
public void putToByteBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: ldc "buffer"
aload 1
invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: ldc "buffer.remaining() >=12"
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 12
if_icmplt 2
iconst_1
goto 3
StackMap locals:
StackMap stack: java.lang.String
2: iconst_0
StackMap locals: org.bson.types.ObjectId java.nio.ByteBuffer
StackMap stack: java.lang.String int
3: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
4: aload 1
aload 0
getfield org.bson.types.ObjectId.timestamp:I
invokestatic org.bson.types.ObjectId.int3:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
5: aload 1
aload 0
getfield org.bson.types.ObjectId.timestamp:I
invokestatic org.bson.types.ObjectId.int2:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
6: aload 1
aload 0
getfield org.bson.types.ObjectId.timestamp:I
invokestatic org.bson.types.ObjectId.int1:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
7: aload 1
aload 0
getfield org.bson.types.ObjectId.timestamp:I
invokestatic org.bson.types.ObjectId.int0:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
8: aload 1
aload 0
getfield org.bson.types.ObjectId.randomValue1:I
invokestatic org.bson.types.ObjectId.int2:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
9: aload 1
aload 0
getfield org.bson.types.ObjectId.randomValue1:I
invokestatic org.bson.types.ObjectId.int1:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
10: aload 1
aload 0
getfield org.bson.types.ObjectId.randomValue1:I
invokestatic org.bson.types.ObjectId.int0:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
11: aload 1
aload 0
getfield org.bson.types.ObjectId.randomValue2:S
invokestatic org.bson.types.ObjectId.short1:(S)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
12: aload 1
aload 0
getfield org.bson.types.ObjectId.randomValue2:S
invokestatic org.bson.types.ObjectId.short0:(S)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
13: aload 1
aload 0
getfield org.bson.types.ObjectId.counter:I
invokestatic org.bson.types.ObjectId.int2:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
14: aload 1
aload 0
getfield org.bson.types.ObjectId.counter:I
invokestatic org.bson.types.ObjectId.int1:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
15: aload 1
aload 0
getfield org.bson.types.ObjectId.counter:I
invokestatic org.bson.types.ObjectId.int0:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bson/types/ObjectId;
0 17 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer final
public int getTimestamp();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.types.ObjectId.timestamp:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
public java.util.Date getDate();
descriptor: ()Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new java.util.Date
dup
aload 0
getfield org.bson.types.ObjectId.timestamp:I
i2l
ldc 4294967295
land
ldc 1000
lmul
invokespecial java.util.Date.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
public java.lang.String toHexString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: bipush 24
newarray 5
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
invokevirtual org.bson.types.ObjectId.toByteArray:()[B
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: org.bson.types.ObjectId char[] int top int int byte[]
StackMap stack:
3: aload 6
iload 4
baload
istore 3
start local 3 4: aload 1
iload 2
iinc 2 1
getstatic org.bson.types.ObjectId.HEX_CHARS:[C
iload 3
iconst_4
ishr
bipush 15
iand
caload
castore
5: aload 1
iload 2
iinc 2 1
getstatic org.bson.types.ObjectId.HEX_CHARS:[C
iload 3
bipush 15
iand
caload
castore
end local 3 6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 3
8: new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([C)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bson/types/ObjectId;
1 9 1 chars [C
2 9 2 i I
4 6 3 b B
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bson.types.ObjectId
astore 2
start local 2 5: aload 0
getfield org.bson.types.ObjectId.counter:I
aload 2
getfield org.bson.types.ObjectId.counter:I
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: org.bson.types.ObjectId
StackMap stack:
aload 0
getfield org.bson.types.ObjectId.timestamp:I
aload 2
getfield org.bson.types.ObjectId.timestamp:I
if_icmpeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.types.ObjectId.randomValue1:I
aload 2
getfield org.bson.types.ObjectId.randomValue1:I
if_icmpeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.types.ObjectId.randomValue2:S
aload 2
getfield org.bson.types.ObjectId.randomValue2:S
if_icmpeq 13
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bson/types/ObjectId;
0 14 1 o Ljava/lang/Object;
5 14 2 objectId Lorg/bson/types/ObjectId;
MethodParameters:
Name Flags
o final
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bson.types.ObjectId.timestamp:I
istore 1
start local 1 1: bipush 31
iload 1
imul
aload 0
getfield org.bson.types.ObjectId.counter:I
iadd
istore 1
2: bipush 31
iload 1
imul
aload 0
getfield org.bson.types.ObjectId.randomValue1:I
iadd
istore 1
3: bipush 31
iload 1
imul
aload 0
getfield org.bson.types.ObjectId.randomValue2:S
iadd
istore 1
4: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/types/ObjectId;
1 5 1 result I
public int compareTo(org.bson.types.ObjectId);
descriptor: (Lorg/bson/types/ObjectId;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bson.types.ObjectId.toByteArray:()[B
astore 2
start local 2 3: aload 1
invokevirtual org.bson.types.ObjectId.toByteArray:()[B
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 11
6: StackMap locals: byte[] byte[] int
StackMap stack:
aload 2
iload 4
baload
aload 3
iload 4
baload
if_icmpeq 10
7: aload 2
iload 4
baload
sipush 255
iand
aload 3
iload 4
baload
sipush 255
iand
if_icmpge 8
iconst_m1
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: ireturn
10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
bipush 12
if_icmplt 6
end local 4 12: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bson/types/ObjectId;
0 13 1 other Lorg/bson/types/ObjectId;
3 13 2 byteArray [B
4 13 3 otherByteArray [B
5 12 4 i I
MethodParameters:
Name Flags
other final
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
invokevirtual org.bson.types.ObjectId.toHexString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
public static org.bson.types.ObjectId createFromLegacyFormat(int, int, int);
descriptor: (III)Lorg/bson/types/ObjectId;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.bson.types.ObjectId
dup
iload 0
iload 1
iload 2
invokespecial org.bson.types.ObjectId.<init>:(III)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 time I
0 1 1 machine I
0 1 2 inc I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
time final
machine final
inc final
public static int getCurrentCounter();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic org.bson.types.ObjectId.NEXT_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ldc 16777215
iand
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static int getGeneratedMachineIdentifier();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bson.types.ObjectId.RANDOM_VALUE1:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static int getGeneratedProcessIdentifier();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bson.types.ObjectId.RANDOM_VALUE2:S
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public int getMachineIdentifier();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.types.ObjectId.randomValue1:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public short getProcessIdentifier();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.types.ObjectId.randomValue2:S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public int getCounter();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.types.ObjectId.counter:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public int getTimeSecond();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.types.ObjectId.timestamp:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public long getTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.types.ObjectId.timestamp:I
i2l
ldc 4294967295
land
ldc 1000
lmul
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public java.lang.String toStringMongod();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bson.types.ObjectId.toHexString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/types/ObjectId;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
private static byte[] parseHexString(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokestatic org.bson.types.ObjectId.isValid:(Ljava/lang/String;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid hexadecimal representation of an ObjectId: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
bipush 12
newarray 8
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
iconst_2
imul
iload 2
iconst_2
imul
iconst_2
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
i2b
bastore
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
arraylength
if_icmplt 5
end local 2 8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 s Ljava/lang/String;
3 9 1 b [B
4 8 2 i I
MethodParameters:
Name Flags
s final
private static int dateToTimestampSeconds(java.util.Date);
descriptor: (Ljava/util/Date;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.Date.getTime:()J
ldc 1000
ldiv
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 time Ljava/util/Date;
MethodParameters:
Name Flags
time final
private static int makeInt(byte, byte, byte, byte);
descriptor: (BBBB)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
bipush 24
ishl
1: iload 1
sipush 255
iand
bipush 16
ishl
2: ior
3: iload 2
sipush 255
iand
bipush 8
ishl
4: ior
5: iload 3
sipush 255
iand
6: ior
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 b3 B
0 7 1 b2 B
0 7 2 b1 B
0 7 3 b0 B
MethodParameters:
Name Flags
b3 final
b2 final
b1 final
b0 final
private static short makeShort(byte, byte);
descriptor: (BB)S
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
sipush 255
iand
bipush 8
ishl
iload 1
sipush 255
iand
ior
i2s
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 b1 B
0 1 1 b0 B
MethodParameters:
Name Flags
b1 final
b0 final
private static byte int3(int);
descriptor: (I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 24
ishr
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x final
private static byte int2(int);
descriptor: (I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 16
ishr
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x final
private static byte int1(int);
descriptor: (I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 8
ishr
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x final
private static byte int0(int);
descriptor: (I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x final
private static byte short1(short);
descriptor: (S)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 8
ishr
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x final
private static byte short0(short);
descriptor: (S)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x final
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.bson.types.ObjectId
invokevirtual org.bson.types.ObjectId.compareTo:(Lorg/bson/types/ObjectId;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Lorg/bson/types/ObjectId;>;Ljava/io/Serializable;
SourceFile: "ObjectId.java"