public class org.apache.cassandra.serializers.UserTypeSerializer extends org.apache.cassandra.serializers.BytesSerializer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.serializers.UserTypeSerializer
super_class: org.apache.cassandra.serializers.BytesSerializer
{
public final java.util.LinkedHashMap<java.lang.String, org.apache.cassandra.serializers.TypeSerializer<?>> fields;
descriptor: Ljava/util/LinkedHashMap;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;
public void <init>(java.util.LinkedHashMap<java.lang.String, org.apache.cassandra.serializers.TypeSerializer<?>>);
descriptor: (Ljava/util/LinkedHashMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.apache.cassandra.serializers.BytesSerializer.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.serializers.UserTypeSerializer.fields:Ljava/util/LinkedHashMap;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/serializers/UserTypeSerializer;
0 3 1 fields Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;
Signature: (Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;)V
MethodParameters:
Name Flags
fields
public void validate(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
getfield org.apache.cassandra.serializers.UserTypeSerializer.fields:Ljava/util/LinkedHashMap;
invokevirtual java.util.LinkedHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals: org.apache.cassandra.serializers.UserTypeSerializer java.nio.ByteBuffer java.nio.ByteBuffer int top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 6
5: return
6: StackMap locals: org.apache.cassandra.serializers.UserTypeSerializer java.nio.ByteBuffer java.nio.ByteBuffer int java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpge 8
7: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Not enough bytes to read size of %dth field %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 6
start local 6 9: iload 6
ifge 11
10: goto 16
11: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 6
if_icmpge 13
12: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Not enough bytes to read %dth field %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 2
iload 6
invokestatic org.apache.cassandra.utils.ByteBufferUtil.readBytes:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 7
start local 7 14: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.cassandra.serializers.TypeSerializer
aload 7
invokeinterface org.apache.cassandra.serializers.TypeSerializer.validate:(Ljava/nio/ByteBuffer;)V
15: iinc 3 1
end local 7 end local 6 end local 4 16: StackMap locals: org.apache.cassandra.serializers.UserTypeSerializer java.nio.ByteBuffer java.nio.ByteBuffer int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
17: aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 19
18: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Invalid remaining data after end of UDT value"
invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: org.apache.cassandra.serializers.UserTypeSerializer java.nio.ByteBuffer java.nio.ByteBuffer int
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/apache/cassandra/serializers/UserTypeSerializer;
0 20 1 bytes Ljava/nio/ByteBuffer;
1 20 2 input Ljava/nio/ByteBuffer;
2 20 3 i I
4 16 4 entry Ljava/util/Map$Entry<Ljava/lang/String;Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;
9 16 6 size I
14 16 7 field Ljava/nio/ByteBuffer;
Exceptions:
throws org.apache.cassandra.serializers.MarshalException
MethodParameters:
Name Flags
bytes
}
SourceFile: "UserTypeSerializer.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map