public class org.apache.cassandra.serializers.TimestampSerializer implements org.apache.cassandra.serializers.TypeSerializer<java.util.Date>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.serializers.TimestampSerializer
super_class: java.lang.Object
{
private static final java.lang.String[] dateStringPatterns;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String DEFAULT_FORMAT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern timestampPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.util.concurrent.FastThreadLocal<java.text.SimpleDateFormat> FORMATTER;
descriptor: Lio/netty/util/concurrent/FastThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/text/SimpleDateFormat;>;
private static final java.lang.String UTC_FORMAT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.util.concurrent.FastThreadLocal<java.text.SimpleDateFormat> FORMATTER_UTC;
descriptor: Lio/netty/util/concurrent/FastThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/text/SimpleDateFormat;>;
private static final java.lang.String TO_JSON_FORMAT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.util.concurrent.FastThreadLocal<java.text.SimpleDateFormat> FORMATTER_TO_JSON;
descriptor: Lio/netty/util/concurrent/FastThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/text/SimpleDateFormat;>;
public static final org.apache.cassandra.serializers.TimestampSerializer instance;
descriptor: Lorg/apache/cassandra/serializers/TimestampSerializer;
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: bipush 50
anewarray java.lang.String
dup
iconst_0
1: ldc "yyyy-MM-dd HH:mm"
aastore
dup
iconst_1
2: ldc "yyyy-MM-dd HH:mm:ss"
aastore
dup
iconst_2
3: ldc "yyyy-MM-dd HH:mm z"
aastore
dup
iconst_3
4: ldc "yyyy-MM-dd HH:mm zz"
aastore
dup
iconst_4
5: ldc "yyyy-MM-dd HH:mm zzz"
aastore
dup
iconst_5
6: ldc "yyyy-MM-dd HH:mmX"
aastore
dup
bipush 6
7: ldc "yyyy-MM-dd HH:mmXX"
aastore
dup
bipush 7
8: ldc "yyyy-MM-dd HH:mmXXX"
aastore
dup
bipush 8
9: ldc "yyyy-MM-dd HH:mm:ss"
aastore
dup
bipush 9
10: ldc "yyyy-MM-dd HH:mm:ss z"
aastore
dup
bipush 10
11: ldc "yyyy-MM-dd HH:mm:ss zz"
aastore
dup
bipush 11
12: ldc "yyyy-MM-dd HH:mm:ss zzz"
aastore
dup
bipush 12
13: ldc "yyyy-MM-dd HH:mm:ssX"
aastore
dup
bipush 13
14: ldc "yyyy-MM-dd HH:mm:ssXX"
aastore
dup
bipush 14
15: ldc "yyyy-MM-dd HH:mm:ssXXX"
aastore
dup
bipush 15
16: ldc "yyyy-MM-dd HH:mm:ss.SSS"
aastore
dup
bipush 16
17: ldc "yyyy-MM-dd HH:mm:ss.SSS z"
aastore
dup
bipush 17
18: ldc "yyyy-MM-dd HH:mm:ss.SSS zz"
aastore
dup
bipush 18
19: ldc "yyyy-MM-dd HH:mm:ss.SSS zzz"
aastore
dup
bipush 19
20: ldc "yyyy-MM-dd HH:mm:ss.SSSX"
aastore
dup
bipush 20
21: ldc "yyyy-MM-dd HH:mm:ss.SSSXX"
aastore
dup
bipush 21
22: ldc "yyyy-MM-dd HH:mm:ss.SSSXXX"
aastore
dup
bipush 22
23: ldc "yyyy-MM-dd'T'HH:mm"
aastore
dup
bipush 23
24: ldc "yyyy-MM-dd'T'HH:mm z"
aastore
dup
bipush 24
25: ldc "yyyy-MM-dd'T'HH:mm zz"
aastore
dup
bipush 25
26: ldc "yyyy-MM-dd'T'HH:mm zzz"
aastore
dup
bipush 26
27: ldc "yyyy-MM-dd'T'HH:mmX"
aastore
dup
bipush 27
28: ldc "yyyy-MM-dd'T'HH:mmXX"
aastore
dup
bipush 28
29: ldc "yyyy-MM-dd'T'HH:mmXXX"
aastore
dup
bipush 29
30: ldc "yyyy-MM-dd'T'HH:mm:ss"
aastore
dup
bipush 30
31: ldc "yyyy-MM-dd'T'HH:mm:ss z"
aastore
dup
bipush 31
32: ldc "yyyy-MM-dd'T'HH:mm:ss zz"
aastore
dup
bipush 32
33: ldc "yyyy-MM-dd'T'HH:mm:ss zzz"
aastore
dup
bipush 33
34: ldc "yyyy-MM-dd'T'HH:mm:ssX"
aastore
dup
bipush 34
35: ldc "yyyy-MM-dd'T'HH:mm:ssXX"
aastore
dup
bipush 35
36: ldc "yyyy-MM-dd'T'HH:mm:ssXXX"
aastore
dup
bipush 36
37: ldc "yyyy-MM-dd'T'HH:mm:ss.SSS"
aastore
dup
bipush 37
38: ldc "yyyy-MM-dd'T'HH:mm:ss.SSS z"
aastore
dup
bipush 38
39: ldc "yyyy-MM-dd'T'HH:mm:ss.SSS zz"
aastore
dup
bipush 39
40: ldc "yyyy-MM-dd'T'HH:mm:ss.SSS zzz"
aastore
dup
bipush 40
41: ldc "yyyy-MM-dd'T'HH:mm:ss.SSSX"
aastore
dup
bipush 41
42: ldc "yyyy-MM-dd'T'HH:mm:ss.SSSXX"
aastore
dup
bipush 42
43: ldc "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
aastore
dup
bipush 43
44: ldc "yyyy-MM-dd"
aastore
dup
bipush 44
45: ldc "yyyy-MM-dd z"
aastore
dup
bipush 45
46: ldc "yyyy-MM-dd zz"
aastore
dup
bipush 46
47: ldc "yyyy-MM-dd zzz"
aastore
dup
bipush 47
48: ldc "yyyy-MM-ddX"
aastore
dup
bipush 48
49: ldc "yyyy-MM-ddXX"
aastore
dup
bipush 49
50: ldc "yyyy-MM-ddXXX"
aastore
51: putstatic org.apache.cassandra.serializers.TimestampSerializer.dateStringPatterns:[Ljava/lang/String;
52: getstatic org.apache.cassandra.serializers.TimestampSerializer.dateStringPatterns:[Ljava/lang/String;
bipush 6
aaload
putstatic org.apache.cassandra.serializers.TimestampSerializer.DEFAULT_FORMAT:Ljava/lang/String;
53: ldc "^-?\\d+$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.apache.cassandra.serializers.TimestampSerializer.timestampPattern:Ljava/util/regex/Pattern;
54: new org.apache.cassandra.serializers.TimestampSerializer$1
dup
invokespecial org.apache.cassandra.serializers.TimestampSerializer$1.<init>:()V
putstatic org.apache.cassandra.serializers.TimestampSerializer.FORMATTER:Lio/netty/util/concurrent/FastThreadLocal;
55: getstatic org.apache.cassandra.serializers.TimestampSerializer.dateStringPatterns:[Ljava/lang/String;
bipush 40
aaload
putstatic org.apache.cassandra.serializers.TimestampSerializer.UTC_FORMAT:Ljava/lang/String;
56: new org.apache.cassandra.serializers.TimestampSerializer$2
dup
invokespecial org.apache.cassandra.serializers.TimestampSerializer$2.<init>:()V
putstatic org.apache.cassandra.serializers.TimestampSerializer.FORMATTER_UTC:Lio/netty/util/concurrent/FastThreadLocal;
57: getstatic org.apache.cassandra.serializers.TimestampSerializer.dateStringPatterns:[Ljava/lang/String;
bipush 19
aaload
putstatic org.apache.cassandra.serializers.TimestampSerializer.TO_JSON_FORMAT:Ljava/lang/String;
58: new org.apache.cassandra.serializers.TimestampSerializer$3
dup
invokespecial org.apache.cassandra.serializers.TimestampSerializer$3.<init>:()V
putstatic org.apache.cassandra.serializers.TimestampSerializer.FORMATTER_TO_JSON:Lio/netty/util/concurrent/FastThreadLocal;
59: new org.apache.cassandra.serializers.TimestampSerializer
dup
invokespecial org.apache.cassandra.serializers.TimestampSerializer.<init>:()V
putstatic org.apache.cassandra.serializers.TimestampSerializer.instance:Lorg/apache/cassandra/serializers/TimestampSerializer;
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 Lorg/apache/cassandra/serializers/TimestampSerializer;
public java.util.Date deserialize(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifne 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: new java.util.Date
dup
aload 1
invokestatic org.apache.cassandra.utils.ByteBufferUtil.toLong:(Ljava/nio/ByteBuffer;)J
invokespecial java.util.Date.<init>:(J)V
StackMap locals:
StackMap stack: java.util.Date
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/serializers/TimestampSerializer;
0 3 1 bytes Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
bytes
public java.nio.ByteBuffer serialize(java.util.Date);
descriptor: (Ljava/util/Date;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
getstatic org.apache.cassandra.utils.ByteBufferUtil.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual java.util.Date.getTime:()J
invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytes:(J)Ljava/nio/ByteBuffer;
StackMap locals:
StackMap stack: java.nio.ByteBuffer
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/serializers/TimestampSerializer;
0 3 1 value Ljava/util/Date;
MethodParameters:
Name Flags
value
public static long dateStringToTimestamp(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
ldc "now"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 2
1: invokestatic java.lang.System.currentTimeMillis:()J
lreturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.serializers.TimestampSerializer.timestampPattern:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
3: aload 0
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
4: lreturn
5: StackMap locals:
StackMap stack: java.lang.NumberFormatException
astore 1
start local 1 6: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Unable to make long (for date) from: '%s'"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 1
invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.cassandra.serializers.TimestampSerializer.dateStringPatterns:[Ljava/lang/String;
invokestatic org.apache.commons.lang3.time.DateUtils.parseDateStrictly:(Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
8: lreturn
9: StackMap locals:
StackMap stack: java.text.ParseException
astore 1
start local 1 10: 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
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 1
invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 source Ljava/lang/String;
6 7 1 e Ljava/lang/NumberFormatException;
10 11 1 e1 Ljava/text/ParseException;
Exception table:
from to target type
3 4 5 Class java.lang.NumberFormatException
7 8 9 Class java.text.ParseException
Exceptions:
throws org.apache.cassandra.serializers.MarshalException
MethodParameters:
Name Flags
source
public static java.text.SimpleDateFormat getJsonDateFormatter();
descriptor: ()Ljava/text/SimpleDateFormat;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.cassandra.serializers.TimestampSerializer.FORMATTER_TO_JSON:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast java.text.SimpleDateFormat
areturn
LocalVariableTable:
Start End Slot Name Signature
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 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 8
if_icmpeq 2
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifeq 2
1: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Expected 8 or 0 byte long for date (%d)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/serializers/TimestampSerializer;
0 3 1 bytes Ljava/nio/ByteBuffer;
Exceptions:
throws org.apache.cassandra.serializers.MarshalException
MethodParameters:
Name Flags
bytes
public java.lang.String toString(java.util.Date);
descriptor: (Ljava/util/Date;)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 ""
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.apache.cassandra.serializers.TimestampSerializer.FORMATTER:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast java.text.SimpleDateFormat
aload 1
invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)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 Lorg/apache/cassandra/serializers/TimestampSerializer;
0 3 1 value Ljava/util/Date;
MethodParameters:
Name Flags
value
public java.lang.String toStringUTC(java.util.Date);
descriptor: (Ljava/util/Date;)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 ""
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.apache.cassandra.serializers.TimestampSerializer.FORMATTER_UTC:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast java.text.SimpleDateFormat
aload 1
invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)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 Lorg/apache/cassandra/serializers/TimestampSerializer;
0 3 1 value Ljava/util/Date;
MethodParameters:
Name Flags
value
public java.lang.Class<java.util.Date> getType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Ljava/util/Date;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/serializers/TimestampSerializer;
Signature: ()Ljava/lang/Class<Ljava/util/Date;>;
public java.lang.String toCQLLiteral(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
1: StackMap locals:
StackMap stack:
ldc "null"
goto 3
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.serializers.TimestampSerializer.FORMATTER_UTC:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast java.text.SimpleDateFormat
aload 0
aload 1
invokevirtual org.apache.cassandra.serializers.TimestampSerializer.deserialize:(Ljava/nio/ByteBuffer;)Ljava/util/Date;
invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/serializers/TimestampSerializer;
0 4 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
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: aload 0
aload 1
checkcast java.util.Date
invokevirtual org.apache.cassandra.serializers.TimestampSerializer.toString:(Ljava/util/Date;)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: aload 0
aload 1
checkcast java.util.Date
invokevirtual org.apache.cassandra.serializers.TimestampSerializer.serialize:(Ljava/util/Date;)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: aload 0
aload 1
invokevirtual org.apache.cassandra.serializers.TimestampSerializer.deserialize:(Ljava/nio/ByteBuffer;)Ljava/util/Date;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/serializers/TypeSerializer<Ljava/util/Date;>;
SourceFile: "TimestampSerializer.java"
NestMembers:
org.apache.cassandra.serializers.TimestampSerializer$1 org.apache.cassandra.serializers.TimestampSerializer$2 org.apache.cassandra.serializers.TimestampSerializer$3
InnerClasses:
org.apache.cassandra.serializers.TimestampSerializer$1
org.apache.cassandra.serializers.TimestampSerializer$2
org.apache.cassandra.serializers.TimestampSerializer$3