public class org.apache.cassandra.serializers.SimpleDateSerializer implements org.apache.cassandra.serializers.TypeSerializer<java.lang.Integer>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.serializers.SimpleDateSerializer
  super_class: java.lang.Object
{
  private static final org.joda.time.format.DateTimeFormatter formatter;
    descriptor: Lorg/joda/time/format/DateTimeFormatter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long minSupportedDateMillis;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long maxSupportedDateMillis;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long maxSupportedDays;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long byteOrderShift;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern rawPattern;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.serializers.SimpleDateSerializer instance;
    descriptor: Lorg/apache/cassandra/serializers/SimpleDateSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 36
            ldc "yyyy-MM-dd"
            invokestatic org.joda.time.format.DateTimeFormat.forPattern:(Ljava/lang/String;)Lorg/joda/time/format/DateTimeFormatter;
            getstatic org.joda.time.DateTimeZone.UTC:Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.format.DateTimeFormatter.withZone:(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/format/DateTimeFormatter;
            putstatic org.apache.cassandra.serializers.SimpleDateSerializer.formatter:Lorg/joda/time/format/DateTimeFormatter;
         1: .line 37
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            ldc -2147483648
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            putstatic org.apache.cassandra.serializers.SimpleDateSerializer.minSupportedDateMillis:J
         2: .line 38
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            ldc 2147483647
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            putstatic org.apache.cassandra.serializers.SimpleDateSerializer.maxSupportedDateMillis:J
         3: .line 39
            ldc 2.0
            ldc 32.0
            invokestatic java.lang.Math.pow:(DD)D
            d2l
            lconst_1
            lsub
            putstatic org.apache.cassandra.serializers.SimpleDateSerializer.maxSupportedDays:J
         4: .line 40
            ldc 2.0
            ldc 31.0
            invokestatic java.lang.Math.pow:(DD)D
            d2l
            ldc 2
            lmul
            putstatic org.apache.cassandra.serializers.SimpleDateSerializer.byteOrderShift:J
         5: .line 42
            ldc "^-?\\d+$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.apache.cassandra.serializers.SimpleDateSerializer.rawPattern:Ljava/util/regex/Pattern;
         6: .line 43
            new org.apache.cassandra.serializers.SimpleDateSerializer
            dup
            invokespecial org.apache.cassandra.serializers.SimpleDateSerializer.<init>:()V
            putstatic org.apache.cassandra.serializers.SimpleDateSerializer.instance:Lorg/apache/cassandra/serializers/SimpleDateSerializer;
            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 // org.apache.cassandra.serializers.SimpleDateSerializer this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/serializers/SimpleDateSerializer;

  public java.lang.Integer deserialize(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
        start local 1 // java.nio.ByteBuffer bytes
         0: .line 47
            aload 1 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* bytes */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.toInt:(Ljava/nio/ByteBuffer;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
      StackMap locals:
      StackMap stack: java.lang.Integer
         2: areturn
        end local 1 // java.nio.ByteBuffer bytes
        end local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/serializers/SimpleDateSerializer;
            0    3     1  bytes  Ljava/nio/ByteBuffer;
    MethodParameters:
       Name  Flags
      bytes  

  public java.nio.ByteBuffer serialize(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
        start local 1 // java.lang.Integer value
         0: .line 52
            aload 1 /* value */
            ifnonnull 1
            getstatic org.apache.cassandra.utils.ByteBufferUtil.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* value */
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytes:(I)Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
         2: areturn
        end local 1 // java.lang.Integer value
        end local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/serializers/SimpleDateSerializer;
            0    3     1  value  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      value  

  public static int dateStringToDays(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=4, args_size=1
        start local 0 // java.lang.String source
         0: .line 58
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.rawPattern:Ljava/util/regex/Pattern;
            aload 0 /* source */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 10
         1: .line 62
            aload 0 /* source */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 1 /* result */
        start local 1 // long result
         2: .line 64
            lload 1 /* result */
            lconst_0
            lcmp
            iflt 3
            lload 1 /* result */
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.maxSupportedDays:J
            lcmp
            ifle 4
         3: .line 65
      StackMap locals: long
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Input out of bounds: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* source */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 68
      StackMap locals:
      StackMap stack:
            lload 1 /* result */
            ldc 2147483647
            lcmp
            iflt 6
         5: .line 69
            lload 1 /* result */
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.byteOrderShift:J
            lsub
            lstore 1 /* result */
         6: .line 71
      StackMap locals:
      StackMap stack:
            lload 1 /* result */
            l2i
         7: ireturn
        end local 1 // long result
         8: .line 73
      StackMap locals: java.lang.String
      StackMap stack: java.lang.NumberFormatException
            astore 1 /* e */
        start local 1 // java.lang.NumberFormatException e
         9: .line 75
            new org.apache.cassandra.serializers.MarshalException
            dup
            ldc "Unable to make unsigned int (for date) from: '%s'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* source */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.NumberFormatException e
        10: .line 82
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.formatter:Lorg/joda/time/format/DateTimeFormatter;
            aload 0 /* source */
            invokevirtual org.joda.time.format.DateTimeFormatter.parseDateTime:(Ljava/lang/String;)Lorg/joda/time/DateTime;
            astore 1 /* parsed */
        start local 1 // org.joda.time.DateTime parsed
        11: .line 83
            aload 1 /* parsed */
            invokevirtual org.joda.time.DateTime.getMillis:()J
            lstore 2 /* millis */
        start local 2 // long millis
        12: .line 84
            lload 2 /* millis */
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.minSupportedDateMillis:J
            lcmp
            ifge 14
        13: .line 85
            new org.apache.cassandra.serializers.MarshalException
            dup
            ldc "Input date %s is less than min supported date %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* source */
            aastore
            dup
            iconst_1
            new org.joda.time.LocalDate
            dup
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.minSupportedDateMillis:J
            invokespecial org.joda.time.LocalDate.<init>:(J)V
            invokevirtual org.joda.time.LocalDate.toString:()Ljava/lang/String;
            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
        14: .line 86
      StackMap locals: org.joda.time.DateTime long
      StackMap stack:
            lload 2 /* millis */
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.maxSupportedDateMillis:J
            lcmp
            ifle 16
        15: .line 87
            new org.apache.cassandra.serializers.MarshalException
            dup
            ldc "Input date %s is greater than max supported date %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* source */
            aastore
            dup
            iconst_1
            new org.joda.time.LocalDate
            dup
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.maxSupportedDateMillis:J
            invokespecial org.joda.time.LocalDate.<init>:(J)V
            invokevirtual org.joda.time.LocalDate.toString:()Ljava/lang/String;
            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
        16: .line 89
      StackMap locals:
      StackMap stack:
            lload 2 /* millis */
            invokestatic org.apache.cassandra.serializers.SimpleDateSerializer.timeInMillisToDay:(J)I
        17: ireturn
        end local 2 // long millis
        end local 1 // org.joda.time.DateTime parsed
        18: .line 91
      StackMap locals: java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
            astore 1 /* e1 */
        start local 1 // java.lang.IllegalArgumentException e1
        19: .line 93
            new org.apache.cassandra.serializers.MarshalException
            dup
            ldc "Unable to coerce '%s' to a formatted date (long)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* source */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* e1 */
            invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.IllegalArgumentException e1
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0  source  Ljava/lang/String;
            2    8     1  result  J
            9   10     1       e  Ljava/lang/NumberFormatException;
           11   18     1  parsed  Lorg/joda/time/DateTime;
           12   18     2  millis  J
           19   20     1      e1  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           1     7       8  Class java.lang.NumberFormatException
          10    17      18  Class java.lang.IllegalArgumentException
    Exceptions:
      throws org.apache.cassandra.serializers.MarshalException
    MethodParameters:
        Name  Flags
      source  

  public static int timeInMillisToDay(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long millis
         0: .line 99
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            lload 0 /* millis */
            invokevirtual java.util.concurrent.TimeUnit.toDays:(J)J
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* result */
        start local 2 // java.lang.Integer result
         1: .line 100
            aload 2 /* result */
            invokevirtual java.lang.Integer.intValue:()I
            ldc -2147483648
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* result */
         2: .line 101
            aload 2 /* result */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer result
        end local 0 // long millis
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  millis  J
            1    3     2  result  Ljava/lang/Integer;
    MethodParameters:
        Name  Flags
      millis  

  public static long dayToTimeInMillis(int);
    descriptor: (I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int days
         0: .line 106
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            iload 0 /* days */
            ldc -2147483648
            isub
            i2l
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lreturn
        end local 0 // int days
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  days  I
    MethodParameters:
      Name  Flags
      days  

  public void validate(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
        start local 1 // java.nio.ByteBuffer bytes
         0: .line 111
            aload 1 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmpeq 2
         1: .line 112
            new org.apache.cassandra.serializers.MarshalException
            dup
            ldc "Expected 4 byte long for date (%d)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            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
         2: .line 113
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer bytes
        end local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/serializers/SimpleDateSerializer;
            0    3     1  bytes  Ljava/nio/ByteBuffer;
    Exceptions:
      throws org.apache.cassandra.serializers.MarshalException
    MethodParameters:
       Name  Flags
      bytes  

  public java.lang.String toString(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
        start local 1 // java.lang.Integer value
         0: .line 117
            aload 1 /* value */
            ifnonnull 2
         1: .line 118
            ldc ""
            areturn
         2: .line 120
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.serializers.SimpleDateSerializer.formatter:Lorg/joda/time/format/DateTimeFormatter;
            new org.joda.time.LocalDate
            dup
            aload 1 /* value */
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic org.apache.cassandra.serializers.SimpleDateSerializer.dayToTimeInMillis:(I)J
            getstatic org.joda.time.DateTimeZone.UTC:Lorg/joda/time/DateTimeZone;
            invokespecial org.joda.time.LocalDate.<init>:(JLorg/joda/time/DateTimeZone;)V
            invokevirtual org.joda.time.format.DateTimeFormatter.print:(Lorg/joda/time/ReadablePartial;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Integer value
        end local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/serializers/SimpleDateSerializer;
            0    3     1  value  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.Class<java.lang.Integer> getType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
         0: .line 125
            ldc Ljava/lang/Integer;
            areturn
        end local 0 // org.apache.cassandra.serializers.SimpleDateSerializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/serializers/SimpleDateSerializer;
    Signature: ()Ljava/lang/Class<Ljava/lang/Integer;>;

  public java.lang.String toString(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: .line 1
            aload 0
            aload 1
            checkcast java.lang.Integer
            invokevirtual org.apache.cassandra.serializers.SimpleDateSerializer.toString:(Ljava/lang/Integer;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.nio.ByteBuffer serialize(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/nio/ByteBuffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Integer
            invokevirtual org.apache.cassandra.serializers.SimpleDateSerializer.serialize:(Ljava/lang/Integer;)Ljava/nio/ByteBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object deserialize(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.apache.cassandra.serializers.SimpleDateSerializer.deserialize:(Ljava/nio/ByteBuffer;)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/serializers/TypeSerializer<Ljava/lang/Integer;>;
SourceFile: "SimpleDateSerializer.java"