public class <T> implements com.datastax.oss.driver.api.core.type.codec.TypeCodec<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec
super_class: java.lang.Object
{
private final com.fasterxml.jackson.databind.ObjectMapper ;
descriptor: Lcom/fasterxml/jackson/databind/ObjectMapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.datastax.oss.driver.api.core.type.reflect.GenericType<T> ;
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<TT;>;
private final com.fasterxml.jackson.databind.JavaType ;
descriptor: Lcom/fasterxml/jackson/databind/JavaType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "javaClass cannot be null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Class
invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
invokespecial com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.<init>:(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/datastax/oss/driver/internal/core/type/codec/extras/json/JsonCodec<TT;>;
0 2 1 javaClass Ljava/lang/Class<TT;>;
Signature: (Ljava/lang/Class<TT;>;)V
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
javaClass
public void <init>(com.datastax.oss.driver.api.core.type.reflect.GenericType<T>);
descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new com.fasterxml.jackson.databind.ObjectMapper
dup
invokespecial com.fasterxml.jackson.databind.ObjectMapper.<init>:()V
invokespecial com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.<init>:(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;Lcom/fasterxml/jackson/databind/ObjectMapper;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/datastax/oss/driver/internal/core/type/codec/extras/json/JsonCodec<TT;>;
0 2 1 javaType Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
Signature: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;)V
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
javaType
public void <init>(java.lang.Class<T>, com.fasterxml.jackson.databind.ObjectMapper);
descriptor: (Ljava/lang/Class;Lcom/fasterxml/jackson/databind/ObjectMapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
1: aload 1
ldc "javaClass cannot be null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Class
invokestatic com.datastax.oss.driver.api.core.type.reflect.GenericType.of:(Ljava/lang/Class;)Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
2: aload 2
invokespecial com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.<init>:(Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;Lcom/fasterxml/jackson/databind/ObjectMapper;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/datastax/oss/driver/internal/core/type/codec/extras/json/JsonCodec<TT;>;
0 4 1 javaClass Ljava/lang/Class<TT;>;
0 4 2 objectMapper Lcom/fasterxml/jackson/databind/ObjectMapper;
Signature: (Ljava/lang/Class<TT;>;Lcom/fasterxml/jackson/databind/ObjectMapper;)V
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
javaClass
objectMapper
public void <init>(com.datastax.oss.driver.api.core.type.reflect.GenericType<T>, com.fasterxml.jackson.databind.ObjectMapper);
descriptor: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;Lcom/fasterxml/jackson/databind/ObjectMapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
ldc "javaType cannot be null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.datastax.oss.driver.api.core.type.reflect.GenericType
putfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.javaType:Lcom/datastax/oss/driver/api/core/type/reflect/GenericType;
2: aload 0
aload 2
ldc "objectMapper cannot be null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.fasterxml.jackson.databind.ObjectMapper
putfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
3: aload 0
invokestatic com.fasterxml.jackson.databind.type.TypeFactory.defaultInstance:()Lcom/fasterxml/jackson/databind/type/TypeFactory;
aload 1
invokevirtual com.datastax.oss.driver.api.core.type.reflect.GenericType.getType:()Ljava/lang/reflect/Type;
invokevirtual com.fasterxml.jackson.databind.type.TypeFactory.constructType:(Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JavaType;
putfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.jacksonJavaType:Lcom/fasterxml/jackson/databind/JavaType;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/datastax/oss/driver/internal/core/type/codec/extras/json/JsonCodec<TT;>;
0 5 1 javaType Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
0 5 2 objectMapper Lcom/fasterxml/jackson/databind/ObjectMapper;
Signature: (Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;Lcom/fasterxml/jackson/databind/ObjectMapper;)V
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
javaType
objectMapper
public com.datastax.oss.driver.api.core.type.reflect.GenericType<T> 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.extras.json.JsonCodec.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/extras/json/JsonCodec<TT;>;
Signature: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<TT;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
public com.datastax.oss.driver.api.core.type.DataType ();
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: getstatic com.datastax.oss.driver.api.core.type.DataTypes.TEXT: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/extras/json/JsonCodec<TT;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
public java.nio.ByteBuffer encode(T, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, 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:
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
aload 1
invokevirtual com.fasterxml.jackson.databind.ObjectMapper.writeValueAsBytes:(Ljava/lang/Object;)[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
3: areturn
4: StackMap locals:
StackMap stack: com.fasterxml.jackson.core.JsonProcessingException
astore 3
start local 3 5: new java.lang.IllegalArgumentException
dup
ldc "Failed to encode value as JSON"
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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/extras/json/JsonCodec<TT;>;
0 6 1 value TT;
0 6 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
5 6 3 e Lcom/fasterxml/jackson/core/JsonProcessingException;
Exception table:
from to target type
2 3 4 Class com.fasterxml.jackson.core.JsonProcessingException
Signature: (TT;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 T 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, 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:
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
aload 1
invokestatic com.datastax.oss.protocol.internal.util.Bytes.getArray:(Ljava/nio/ByteBuffer;)[B
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.jacksonJavaType:Lcom/fasterxml/jackson/databind/JavaType;
invokevirtual com.fasterxml.jackson.databind.ObjectMapper.readValue:([BLcom/fasterxml/jackson/databind/JavaType;)Ljava/lang/Object;
3: areturn
4: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 5: new java.lang.IllegalArgumentException
dup
ldc "Failed to decode JSON value"
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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/extras/json/JsonCodec<TT;>;
0 6 1 bytes Ljava/nio/ByteBuffer;
0 6 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
5 6 3 e Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
Signature: (Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)TT;
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(T);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: ldc "NULL"
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
aload 1
invokevirtual com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 3: goto 6
end local 2 StackMap locals:
StackMap stack: com.fasterxml.jackson.core.JsonProcessingException
4: astore 3
start local 3 5: new java.lang.IllegalArgumentException
dup
ldc "Failed to format value as JSON"
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 2 6: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokestatic com.datastax.oss.driver.internal.core.util.Strings.quote:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/datastax/oss/driver/internal/core/type/codec/extras/json/JsonCodec<TT;>;
0 7 1 value TT;
3 4 2 json Ljava/lang/String;
6 7 2 json Ljava/lang/String;
5 6 3 e Lcom/fasterxml/jackson/core/JsonProcessingException;
Exception table:
from to target type
2 3 4 Class com.fasterxml.jackson.core.JsonProcessingException
Signature: (TT;)Ljava/lang/String;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
value
public T parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, 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
invokestatic com.datastax.oss.driver.internal.core.util.Strings.isQuoted:(Ljava/lang/String;)Z
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "JSON strings must be enclosed by single quotes"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.datastax.oss.driver.internal.core.util.Strings.unquote:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 5: aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
aload 2
aload 0
getfield com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec.jacksonJavaType:Lcom/fasterxml/jackson/databind/JavaType;
invokevirtual com.fasterxml.jackson.databind.ObjectMapper.readValue:(Ljava/lang/String;Lcom/fasterxml/jackson/databind/JavaType;)Ljava/lang/Object;
6: areturn
7: StackMap locals: com.datastax.oss.driver.internal.core.type.codec.extras.json.JsonCodec java.lang.String java.lang.String
StackMap stack: java.io.IOException
astore 3
start local 3 8: new java.lang.IllegalArgumentException
dup
ldc "Failed to parse value as JSON"
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/datastax/oss/driver/internal/core/type/codec/extras/json/JsonCodec<TT;>;
0 9 1 value Ljava/lang/String;
5 9 2 json Ljava/lang/String;
8 9 3 e Ljava/io/IOException;
Exception table:
from to target type
5 6 7 Class java.io.IOException
Signature: (Ljava/lang/String;)TT;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.Nullable()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
value
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<TT;>;
SourceFile: "JsonCodec.java"