public class com.datastax.oss.driver.internal.core.type.codec.MapCodec<KeyT, ValueT> implements com.datastax.oss.driver.api.core.type.codec.TypeCodec<java.util.Map<KeyT, ValueT>>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.datastax.oss.driver.internal.core.type.codec.MapCodec
super_class: java.lang.Object
{
private final com.datastax.oss.driver.api.core.type.DataType cqlType;
descriptor: Lcom/datastax/oss/driver/api/core/type/DataType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.Map<KeyT, ValueT>> javaType;
descriptor: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/Map<TKeyT;TValueT;>;>;
private final com.datastax.oss.driver.api.core.type.codec.TypeCodec<KeyT> keyCodec;
descriptor: Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<TKeyT;>;
private final com.datastax.oss.driver.api.core.type.codec.TypeCodec<ValueT> valueCodec;
descriptor: Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<TValueT;>;
public void <init>(com.datastax.oss.driver.api.core.type.DataType, com.datastax.oss.driver.api.core.type.codec.TypeCodec<KeyT>, com.datastax.oss.driver.api.core.type.codec.TypeCodec<ValueT>);
descriptor: (Lcom/datastax/oss/driver/api/core/type/DataType;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.cqlType:Lcom/datastax/oss/driver/api/core/type/DataType;
2: aload 0
aload 2
putfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.keyCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
3: aload 0
aload 3
putfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.valueCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
4: aload 0
aload 2
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.getJavaType:()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
aload 3
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.getJavaType:()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.mapOf:(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
putfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.javaType:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
0 6 1 cqlType Lcom/datastax/oss/driver/api/core/type/DataType;
0 6 2 keyCodec Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<TKeyT;>;
0 6 3 valueCodec Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<TValueT;>;
Signature: (Lcom/datastax/oss/driver/api/core/type/DataType;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<TKeyT;>;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<TValueT;>;)V
MethodParameters:
Name Flags
cqlType
keyCodec
valueCodec
public com.datastax.oss.driver.api.core.type.reflect.GenericType<java.util.Map<KeyT, ValueT>> getJavaType();
descriptor: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.javaType:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
Signature: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/util/Map<TKeyT;TValueT;>;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
public com.datastax.oss.driver.api.core.type.DataType getCqlType();
descriptor: ()Lcom/datastax/oss/driver/api/core/type/DataType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.cqlType:Lcom/datastax/oss/driver/api/core/type/DataType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
public boolean accepts(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.util.Map
ifeq 7
1: aload 1
checkcast java.util.Map
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map.isEmpty:()Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals: java.util.Map
StackMap stack:
aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 5: aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.keyCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.accepts:(Ljava/lang/Object;)Z
ifeq 6
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.valueCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.accepts:(Ljava/lang/Object;)Z
ifeq 6
iconst_1
ireturn
StackMap locals: java.util.Map$Entry
StackMap stack:
6: iconst_0
ireturn
end local 3 end local 2 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
0 8 1 value Ljava/lang/Object;
2 7 2 map Ljava/util/Map<**>;
5 7 3 entry Ljava/util/Map$Entry<**>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
value
public java.nio.ByteBuffer encode(java.util.Map<KeyT, ValueT>, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/util/Map;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: aload 1
invokeinterface java.util.Map.size:()I
iconst_2
imul
anewarray java.nio.ByteBuffer
astore 4
start local 4 4: iconst_4
istore 5
start local 5 5: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 29
StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.util.Map com.datastax.oss.driver.api.core.ProtocolVersion int java.nio.ByteBuffer[] int top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 7: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
ifnonnull 9
8: new java.lang.NullPointerException
dup
ldc "Map keys cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.util.Map com.datastax.oss.driver.api.core.ProtocolVersion int java.nio.ByteBuffer[] int java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
ifnonnull 11
10: new java.lang.NullPointerException
dup
ldc "Map values cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.keyCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 2
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.encode:(Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
astore 8
start local 8 12: goto 15
end local 8 StackMap locals:
StackMap stack: java.lang.ClassCastException
13: pop
14: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid type for key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 8 15: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 8
ifnonnull 17
16: new java.lang.NullPointerException
dup
ldc "Map keys cannot encode to CQL NULL"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 4
iload 3
iinc 3 1
aload 8
aastore
18: iload 5
iconst_4
aload 8
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
iadd
istore 5
19: aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.valueCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aload 2
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.encode:(Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
astore 9
start local 9 20: goto 25
end local 9 StackMap locals:
StackMap stack: java.lang.ClassCastException
21: pop
22: new java.lang.IllegalArgumentException
dup
23: new java.lang.StringBuilder
dup
ldc "Invalid type for value: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 9 25: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 9
ifnonnull 27
26: new java.lang.NullPointerException
dup
ldc "Map values cannot encode to CQL NULL"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 4
iload 3
iinc 3 1
aload 9
aastore
28: iload 5
iconst_4
aload 9
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
iadd
istore 5
end local 9 end local 8 end local 6 29: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.util.Map com.datastax.oss.driver.api.core.ProtocolVersion int java.nio.ByteBuffer[] int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
30: iload 5
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 6
start local 6 31: aload 6
aload 1
invokeinterface java.util.Map.size:()I
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
32: aload 4
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 37
StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.util.Map com.datastax.oss.driver.api.core.ProtocolVersion int java.nio.ByteBuffer[] int java.nio.ByteBuffer top int int java.nio.ByteBuffer[]
StackMap stack:
33: aload 10
iload 8
aaload
astore 7
start local 7 34: aload 6
aload 7
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
35: aload 6
aload 7
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
end local 7 36: iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
iload 9
if_icmplt 33
38: aload 6
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
39: aload 6
areturn
end local 6 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 40 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
0 40 1 value Ljava/util/Map<TKeyT;TValueT;>;
0 40 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
3 40 3 i I
4 40 4 encodedElements [Ljava/nio/ByteBuffer;
5 40 5 toAllocate I
7 29 6 entry Ljava/util/Map$Entry<TKeyT;TValueT;>;
12 13 8 encodedKey Ljava/nio/ByteBuffer;
15 29 8 encodedKey Ljava/nio/ByteBuffer;
20 21 9 encodedValue Ljava/nio/ByteBuffer;
25 29 9 encodedValue Ljava/nio/ByteBuffer;
31 40 6 result Ljava/nio/ByteBuffer;
34 36 7 encodedElement Ljava/nio/ByteBuffer;
Exception table:
from to target type
11 12 13 Class java.lang.ClassCastException
19 20 21 Class java.lang.ClassCastException
Signature: (Ljava/util/Map<TKeyT;TValueT;>;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.Nullable()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
value
protocolVersion
public java.util.Map<KeyT, ValueT> decode(java.nio.ByteBuffer, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifne 2
1: StackMap locals:
StackMap stack:
new java.util.LinkedHashMap
dup
iconst_0
invokespecial java.util.LinkedHashMap.<init>:(I)V
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 3
start local 3 3: aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 4
start local 4 4: iload 4
invokestatic com.datastax.oss.driver.shaded.guava.common.collect.Maps.newLinkedHashMapWithExpectedSize:(I)Ljava/util/LinkedHashMap;
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 25
7: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.nio.ByteBuffer com.datastax.oss.driver.api.core.ProtocolVersion java.nio.ByteBuffer int java.util.Map int
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 8
start local 8 8: iload 8
ifge 11
9: aconst_null
astore 7
start local 7 10: goto 15
end local 7 11: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.nio.ByteBuffer com.datastax.oss.driver.api.core.ProtocolVersion java.nio.ByteBuffer int java.util.Map int top int
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
astore 9
start local 9 12: aload 9
iload 8
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
13: aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.keyCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 9
aload 2
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.decode:(Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/lang/Object;
astore 7
start local 7 14: aload 3
aload 3
invokevirtual java.nio.ByteBuffer.position:()I
iload 8
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 9 15: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.nio.ByteBuffer com.datastax.oss.driver.api.core.ProtocolVersion java.nio.ByteBuffer int java.util.Map int java.lang.Object int
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 10
start local 10 16: iload 10
ifge 19
17: aconst_null
astore 9
start local 9 18: goto 23
end local 9 19: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.nio.ByteBuffer com.datastax.oss.driver.api.core.ProtocolVersion java.nio.ByteBuffer int java.util.Map int java.lang.Object int top int
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
astore 11
start local 11 20: aload 11
iload 10
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
21: aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.valueCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 11
aload 2
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.decode:(Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/lang/Object;
astore 9
start local 9 22: aload 3
aload 3
invokevirtual java.nio.ByteBuffer.position:()I
iload 10
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 11 23: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.nio.ByteBuffer com.datastax.oss.driver.api.core.ProtocolVersion java.nio.ByteBuffer int java.util.Map int java.lang.Object int java.lang.Object int
StackMap stack:
aload 5
aload 7
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 end local 8 end local 7 24: iinc 6 1
StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.nio.ByteBuffer com.datastax.oss.driver.api.core.ProtocolVersion java.nio.ByteBuffer int java.util.Map int
StackMap stack:
25: iload 6
iload 4
if_icmplt 7
end local 6 26: aload 5
areturn
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 27 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
0 27 1 bytes Ljava/nio/ByteBuffer;
0 27 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
3 27 3 input Ljava/nio/ByteBuffer;
4 27 4 size I
5 27 5 result Ljava/util/Map<TKeyT;TValueT;>;
6 26 6 i I
10 11 7 key TKeyT;
14 24 7 key TKeyT;
8 24 8 keySize I
12 15 9 encodedKey Ljava/nio/ByteBuffer;
18 19 9 value TValueT;
22 24 9 value TValueT;
16 24 10 valueSize I
20 23 11 encodedValue Ljava/nio/ByteBuffer;
Signature: (Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/util/Map<TKeyT;TValueT;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.Nullable()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
bytes
protocolVersion
public java.lang.String format(java.util.Map<KeyT, ValueT>);
descriptor: (Ljava/util/Map;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: ldc "NULL"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 3: aload 2
ldc "{"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: iconst_1
istore 3
start local 3 5: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.util.Map java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 7: iload 3
ifeq 10
8: iconst_0
istore 3
9: goto 11
10: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.util.Map java.lang.StringBuilder int java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 2
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.keyCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 2
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 2
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.valueCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 14: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.MapCodec java.util.Map java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
15: aload 2
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
0 17 1 value Ljava/util/Map<TKeyT;TValueT;>;
3 17 2 sb Ljava/lang/StringBuilder;
5 17 3 first Z
7 14 4 e Ljava/util/Map$Entry<TKeyT;TValueT;>;
Signature: (Ljava/util/Map<TKeyT;TValueT;>;)Ljava/lang/String;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
value
public java.util.Map<KeyT, ValueT> parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifne 1
aload 1
ldc "NULL"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipSpaces:(Ljava/lang/String;I)I
istore 2
start local 2 3: aload 1
iload 2
iinc 2 1
invokevirtual java.lang.String.charAt:(I)C
bipush 123
if_icmpeq 9
4: new java.lang.IllegalArgumentException
dup
5: ldc "cannot parse map value from \"%s\", at character %d expecting '{' but got '%c'"
iconst_3
anewarray java.lang.Object
dup
iconst_0
6: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
7: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipSpaces:(Ljava/lang/String;I)I
istore 2
10: aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 125
if_icmpne 12
11: new java.util.LinkedHashMap
dup
iconst_0
invokespecial java.util.LinkedHashMap.<init>:(I)V
areturn
12: StackMap locals:
StackMap stack:
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 3
start local 3 13: goto 55
14: StackMap locals: java.util.Map
StackMap stack:
aload 1
iload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipCQLValue:(Ljava/lang/String;I)I
istore 4
start local 4 15: goto 23
end local 4 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
16: astore 5
start local 5 17: new java.lang.IllegalArgumentException
dup
18: ldc "Cannot parse map value from \"%s\", invalid CQL value at character %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
19: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
20: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
21: aload 5
22: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 23: StackMap locals: int
StackMap stack:
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.keyCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 1
iload 2
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.parse:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 24: iload 4
istore 2
25: aload 1
iload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipSpaces:(Ljava/lang/String;I)I
istore 2
26: aload 1
iload 2
iinc 2 1
invokevirtual java.lang.String.charAt:(I)C
bipush 58
if_icmpeq 32
27: new java.lang.IllegalArgumentException
dup
28: ldc "Cannot parse map value from \"%s\", at character %d expecting ':' but got '%c'"
iconst_3
anewarray java.lang.Object
dup
iconst_0
29: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
30: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
31: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals: java.lang.Object
StackMap stack:
aload 1
iload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipSpaces:(Ljava/lang/String;I)I
istore 2
33: aload 1
iload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipCQLValue:(Ljava/lang/String;I)I
istore 4
34: goto 42
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
35: astore 6
start local 6 36: new java.lang.IllegalArgumentException
dup
37: ldc "Cannot parse map value from \"%s\", invalid CQL value at character %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
38: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
39: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
40: aload 6
41: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 42: StackMap locals:
StackMap stack:
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.MapCodec.valueCodec:Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
aload 1
iload 2
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokeinterface com.datastax.oss.driver.api.core.type.codec.TypeCodec.parse:(Ljava/lang/String;)Ljava/lang/Object;
astore 6
start local 6 43: iload 4
istore 2
44: aload 3
aload 5
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
45: aload 1
iload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipSpaces:(Ljava/lang/String;I)I
istore 2
46: aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 125
if_icmpne 48
47: aload 3
areturn
48: StackMap locals: java.lang.Object
StackMap stack:
aload 1
iload 2
iinc 2 1
invokevirtual java.lang.String.charAt:(I)C
bipush 44
if_icmpeq 54
49: new java.lang.IllegalArgumentException
dup
50: ldc "Cannot parse map value from \"%s\", at character %d expecting ',' but got '%c'"
iconst_3
anewarray java.lang.Object
dup
iconst_0
51: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
52: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
53: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
aload 1
iload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.ParseUtils.skipSpaces:(Ljava/lang/String;I)I
istore 2
end local 6 end local 5 end local 4 55: StackMap locals:
StackMap stack:
iload 2
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 14
56: new java.lang.IllegalArgumentException
dup
57: ldc "Malformed map value \"%s\", missing closing '}'"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
58: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lcom/datastax/oss/driver/internal/core/type/codec/MapCodec<TKeyT;TValueT;>;
0 59 1 value Ljava/lang/String;
3 59 2 idx I
13 59 3 map Ljava/util/Map<TKeyT;TValueT;>;
15 16 4 n I
23 55 4 n I
17 23 5 e Ljava/lang/IllegalArgumentException;
24 55 5 k TKeyT;
36 42 6 e Ljava/lang/IllegalArgumentException;
43 55 6 v TValueT;
Exception table:
from to target type
14 15 16 Class java.lang.IllegalArgumentException
33 34 35 Class java.lang.IllegalArgumentException
Signature: (Ljava/lang/String;)Ljava/util/Map<TKeyT;TValueT;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.Nullable()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
value
public java.lang.Object decode(java.nio.ByteBuffer, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual com.datastax.oss.driver.internal.core.type.codec.MapCodec.decode:(Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/util/Map;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.datastax.oss.driver.internal.core.type.codec.MapCodec.parse:(Ljava/lang/String;)Ljava/util/Map;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.ByteBuffer encode(java.lang.Object, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.util.Map
aload 2
invokevirtual com.datastax.oss.driver.internal.core.type.codec.MapCodec.encode:(Ljava/util/Map;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String format(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.util.Map
invokevirtual com.datastax.oss.driver.internal.core.type.codec.MapCodec.format:(Ljava/util/Map;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <KeyT:Ljava/lang/Object;ValueT:Ljava/lang/Object;>Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<Ljava/util/Map<TKeyT;TValueT;>;>;
SourceFile: "MapCodec.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
RuntimeVisibleAnnotations:
net.jcip.annotations.ThreadSafe()