public class com.datastax.oss.driver.internal.core.type.codec.DateCodec implements com.datastax.oss.driver.api.core.type.codec.TypeCodec<java.time.LocalDate>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.datastax.oss.driver.internal.core.type.codec.DateCodec
super_class: java.lang.Object
{
private static final java.time.LocalDate EPOCH;
descriptor: Ljava/time/LocalDate;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long MAX_CQL_LONG_VALUE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4294967295
private static final long EPOCH_AS_CQL_LONG;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483648
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: sipush 1970
iconst_1
iconst_1
invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
putstatic com.datastax.oss.driver.internal.core.type.codec.DateCodec.EPOCH:Ljava/time/LocalDate;
1: return
LocalVariableTable:
Start End Slot Name Signature
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/DateCodec;
public com.datastax.oss.driver.api.core.type.reflect.GenericType<java.time.LocalDate> 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.LOCAL_DATE: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/DateCodec;
Signature: ()Lcom/datastax/oss/driver/api/core/type/reflect/GenericType<Ljava/time/LocalDate;>;
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.DATE: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/DateCodec;
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.time.LocalDate
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/DateCodec;
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: aload 1
ldc Ljava/time/LocalDate;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DateCodec;
0 2 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.time.LocalDate, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/time/LocalDate;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, 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:
getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
getstatic com.datastax.oss.driver.internal.core.type.codec.DateCodec.EPOCH:Ljava/time/LocalDate;
aload 1
invokevirtual java.time.temporal.ChronoUnit.between:(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)J
lstore 3
start local 3 3: lload 3
l2i
invokestatic com.datastax.oss.driver.internal.core.type.codec.DateCodec.signedToUnsigned:(I)I
istore 5
start local 5 4: getstatic com.datastax.oss.driver.api.core.type.codec.TypeCodecs.INT:Lcom/datastax/oss/driver/api/core/type/codec/PrimitiveIntCodec;
iload 5
aload 2
invokeinterface com.datastax.oss.driver.api.core.type.codec.PrimitiveIntCodec.encodePrimitive:(ILcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
areturn
end local 5 end local 3 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/DateCodec;
0 5 1 value Ljava/time/LocalDate;
0 5 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
3 5 3 days J
4 5 5 unsigned I
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.time.LocalDate decode(java.nio.ByteBuffer, com.datastax.oss.driver.api.core.ProtocolVersion);
descriptor: (Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/time/LocalDate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, 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:
getstatic com.datastax.oss.driver.api.core.type.codec.TypeCodecs.INT:Lcom/datastax/oss/driver/api/core/type/codec/PrimitiveIntCodec;
aload 1
aload 2
invokeinterface com.datastax.oss.driver.api.core.type.codec.PrimitiveIntCodec.decodePrimitive:(Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)I
istore 3
start local 3 3: iload 3
invokestatic com.datastax.oss.driver.internal.core.type.codec.DateCodec.unsignedToSigned:(I)I
istore 4
start local 4 4: getstatic com.datastax.oss.driver.internal.core.type.codec.DateCodec.EPOCH:Ljava/time/LocalDate;
iload 4
i2l
invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
areturn
end local 4 end local 3 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/DateCodec;
0 5 1 bytes Ljava/nio/ByteBuffer;
0 5 2 protocolVersion Lcom/datastax/oss/driver/api/core/ProtocolVersion;
3 5 3 unsigned I
4 5 4 signed I
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.time.LocalDate);
descriptor: (Ljava/time/LocalDate;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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: getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_DATE:Ljava/time/format/DateTimeFormatter;
aload 1
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
invokestatic com.datastax.oss.driver.internal.core.util.Strings.quote:(Ljava/lang/String;)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/DateCodec;
0 3 1 value Ljava/time/LocalDate;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
value
public java.time.LocalDate parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/time/LocalDate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, 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
ifeq 4
3: aload 1
invokestatic com.datastax.oss.driver.internal.core.util.Strings.unquote:(Ljava/lang/String;)Ljava/lang/String;
astore 1
4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.datastax.oss.driver.internal.core.util.Strings.isLongLiteral:(Ljava/lang/String;)Z
ifeq 18
5: aload 1
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 2
start local 2 6: goto 11
end local 2 StackMap locals:
StackMap stack: java.lang.NumberFormatException
7: pop
8: new java.lang.IllegalArgumentException
dup
9: ldc "Cannot parse date 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;
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 2 11: StackMap locals: long
StackMap stack:
lload 2
invokestatic com.datastax.oss.driver.internal.core.type.codec.DateCodec.cqlDateToDaysSinceEpoch:(J)I
istore 4
start local 4 12: goto 17
end local 4 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
13: pop
14: new java.lang.IllegalArgumentException
dup
15: ldc "Cannot parse date 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;
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 4 17: StackMap locals: int
StackMap stack:
getstatic com.datastax.oss.driver.internal.core.type.codec.DateCodec.EPOCH:Ljava/time/LocalDate;
iload 4
i2l
invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
areturn
end local 4 end local 2 18: StackMap locals:
StackMap stack:
aload 1
getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_DATE:Ljava/time/format/DateTimeFormatter;
invokestatic java.time.LocalDate.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;
19: areturn
20: StackMap locals:
StackMap stack: java.lang.RuntimeException
pop
21: new java.lang.IllegalArgumentException
dup
22: ldc "Cannot parse date 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;
23: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/datastax/oss/driver/internal/core/type/codec/DateCodec;
0 24 1 value Ljava/lang/String;
6 7 2 raw J
11 18 2 raw J
12 13 4 days I
17 18 4 days I
Exception table:
from to target type
5 6 7 Class java.lang.NumberFormatException
11 12 13 Class java.lang.IllegalArgumentException
18 19 20 Class java.lang.RuntimeException
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.Nullable()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
value
private static int signedToUnsigned(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc -2147483648
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 signed I
MethodParameters:
Name Flags
signed
private static int unsignedToSigned(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc -2147483648
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 unsigned I
MethodParameters:
Name Flags
unsigned
private static int cqlDateToDaysSinceEpoch(long);
descriptor: (J)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
iflt 1
lload 0
ldc 4294967295
lcmp
ifle 6
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
2: ldc "Numeric literals for DATE must be between 0 and %d (got %d)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
3: ldc 4294967295
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
4: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
lload 0
ldc 2147483648
lsub
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 raw J
MethodParameters:
Name Flags
raw
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.DateCodec.decode:(Ljava/nio/ByteBuffer;Lcom/datastax/oss/driver/api/core/ProtocolVersion;)Ljava/time/LocalDate;
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.DateCodec.parse:(Ljava/lang/String;)Ljava/time/LocalDate;
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.time.LocalDate
aload 2
invokevirtual com.datastax.oss.driver.internal.core.type.codec.DateCodec.encode:(Ljava/time/LocalDate;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.time.LocalDate
invokevirtual com.datastax.oss.driver.internal.core.type.codec.DateCodec.format:(Ljava/time/LocalDate;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<Ljava/time/LocalDate;>;
SourceFile: "DateCodec.java"
RuntimeVisibleAnnotations:
net.jcip.annotations.ThreadSafe()