public class com.datastax.oss.driver.internal.core.type.codec.DecimalCodec implements com.datastax.oss.driver.api.core.type.codec.TypeCodec<java.math.BigDecimal>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.datastax.oss.driver.internal.core.type.codec.DecimalCodec
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DecimalCodec;
public com.datastax.oss.driver.api.core.type.reflect.GenericType<java.math.BigDecimal> 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: getstatic com.datastax.oss.driver.api.core.type.reflect.GenericType.BIG_DECIMAL: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/DecimalCodec;
Signature: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/math/BigDecimal;>;
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: getstatic com.datastax.oss.driver.api.core.type.DataTypes.DECIMAL: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/DecimalCodec;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
public boolean accepts(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.math.BigDecimal
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DecimalCodec;
0 1 1 value Ljava/lang/Object;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
value
public boolean accepts(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc Ljava/math/BigDecimal;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DecimalCodec;
0 1 1 javaClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
javaClass
public java.nio.ByteBuffer encode(java.math.BigDecimal, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/math/BigDecimal;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, 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 1
invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
astore 3
start local 3 3: aload 1
invokevirtual java.math.BigDecimal.scale:()I
istore 4
start local 4 4: aload 3
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 5
start local 5 5: iconst_4
aload 5
arraylength
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 6
start local 6 6: aload 6
iload 4
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
7: aload 6
aload 5
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
8: aload 6
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
9: 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 10 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DecimalCodec;
0 10 1 value Ljava/math/BigDecimal;
0 10 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
3 10 3 bi Ljava/math/BigInteger;
4 10 4 scale I
5 10 5 bibytes [B
6 10 6 bytes 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.math.BigDecimal decode(java.nio.ByteBuffer, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/math/BigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, 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:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpge 6
3: new java.lang.IllegalArgumentException
dup
4: new java.lang.StringBuilder
dup
ldc "Invalid decimal value, expecting at least 4 bytes but got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 1
7: aload 1
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 3
start local 3 8: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 4
start local 4 9: aload 1
aload 4
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
10: new java.math.BigInteger
dup
aload 4
invokespecial java.math.BigInteger.<init>:([B)V
astore 5
start local 5 11: new java.math.BigDecimal
dup
aload 5
iload 3
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;I)V
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 12 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DecimalCodec;
0 12 1 bytes Ljava/nio/ByteBuffer;
0 12 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
8 12 3 scale I
9 12 4 bibytes [B
11 12 5 bi Ljava/math/BigInteger;
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.math.BigDecimal);
descriptor: (Ljava/math/BigDecimal;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
ldc "NULL"
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual java.math.BigDecimal.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DecimalCodec;
0 3 1 value Ljava/math/BigDecimal;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
value
public java.math.BigDecimal parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/math/BigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, 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
goto 3
2: StackMap locals:
StackMap stack:
new java.math.BigDecimal
dup
aload 1
invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack: java.math.BigDecimal
areturn
4: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
5: new java.lang.IllegalArgumentException
dup
6: ldc "Cannot parse decimal value from \"%s\""
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;
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DecimalCodec;
0 8 1 value Ljava/lang/String;
Exception table:
from to target type
0 3 4 Class java.lang.NumberFormatException
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.DecimalCodec.decode:(Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/math/BigDecimal;
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.DecimalCodec.parse:(Ljava/lang/String;)Ljava/math/BigDecimal;
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.math.BigDecimal
aload 2
invokevirtual com.datastax.oss.driver.internal.core.type.codec.DecimalCodec.encode:(Ljava/math/BigDecimal;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.math.BigDecimal
invokevirtual com.datastax.oss.driver.internal.core.type.codec.DecimalCodec.format:(Ljava/math/BigDecimal;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<Ljava/math/BigDecimal;>;
SourceFile: "DecimalCodec.java"
RuntimeVisibleAnnotations:
net.jcip.annotations.ThreadSafe()