FastDatePrinter.smali
.class public Lorg/apache/commons/lang3/time/FastDatePrinter;
.super Ljava/lang/Object;
.source "FastDatePrinter.java"
# interfaces
.implements Ljava/io/Serializable;
.implements Lorg/apache/commons/lang3/time/DatePrinter;
# static fields
.field public static final FULL:I = 0x0
.field public static final LONG:I = 0x1
.field public static final MEDIUM:I = 0x2
.field public static final SHORT:I = 0x3
.field private static final cTimeZoneDisplayCache:Ljava/util/concurrent/ConcurrentMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentMap",
"<",
"Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneDisplayKey;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static final serialVersionUID:J = 0x1L
# instance fields
.field private final mLocale:Ljava/util/Locale;
.field private transient mMaxLengthEstimate:I
.field private final mPattern:Ljava/lang/String;
.field private transient mRules:[Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;
.field private final mTimeZone:Ljava/util/TimeZone;
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
.line 1102
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
const/4 v1, 0x7
invoke-direct {v0, v1}, Ljava/util/concurrent/ConcurrentHashMap;-><init>(I)V
sput-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter;->cTimeZoneDisplayCache:Ljava/util/concurrent/ConcurrentMap;
return-void
.end method
.method protected constructor <init>(Ljava/lang/String;Ljava/util/TimeZone;Ljava/util/Locale;)V
.registers 4
.prologue
.line 150
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 151
iput-object p1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
.line 152
iput-object p2, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
.line 153
iput-object p3, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
.line 155
invoke-direct {p0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->init()V
.line 156
return-void
.end method
.method static synthetic access$000(Ljava/lang/StringBuffer;I)V
.registers 2
.prologue
.line 80
invoke-static {p0, p1}, Lorg/apache/commons/lang3/time/FastDatePrinter;->appendDigits(Ljava/lang/StringBuffer;I)V
return-void
.end method
.method private static appendDigits(Ljava/lang/StringBuffer;I)V
.registers 3
.prologue
.line 598
div-int/lit8 v0, p1, 0xa
add-int/lit8 v0, v0, 0x30
int-to-char v0, v0
invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
.line 599
rem-int/lit8 v0, p1, 0xa
add-int/lit8 v0, v0, 0x30
int-to-char v0, v0
invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
.line 600
return-void
.end method
.method private applyRulesToString(Ljava/util/Calendar;)Ljava/lang/String;
.registers 4
.prologue
.line 427
new-instance v0, Ljava/lang/StringBuffer;
iget v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mMaxLengthEstimate:I
invoke-direct {v0, v1}, Ljava/lang/StringBuffer;-><init>(I)V
invoke-virtual {p0, p1, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->applyRules(Ljava/util/Calendar;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method static getTimeZoneDisplay(Ljava/util/TimeZone;ZILjava/util/Locale;)Ljava/lang/String;
.registers 7
.prologue
.line 1114
new-instance v2, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneDisplayKey;
invoke-direct {v2, p0, p1, p2, p3}, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneDisplayKey;-><init>(Ljava/util/TimeZone;ZILjava/util/Locale;)V
.line 1115
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter;->cTimeZoneDisplayCache:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v0, v2}, Ljava/util/concurrent/ConcurrentMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 1116
if-nez v0, :cond_1d
.line 1118
invoke-virtual {p0, p1, p2, p3}, Ljava/util/TimeZone;->getDisplayName(ZILjava/util/Locale;)Ljava/lang/String;
move-result-object v1
.line 1119
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter;->cTimeZoneDisplayCache:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v0, v2, v1}, Ljava/util/concurrent/ConcurrentMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 1120
if-eqz v0, :cond_1e
.line 1124
:cond_1d
:goto_1d
return-object v0
:cond_1e
move-object v0, v1
goto :goto_1d
.end method
.method private init()V
.registers 4
.prologue
.line 162
invoke-virtual {p0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->parsePattern()Ljava/util/List;
move-result-object v0
.line 163
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
new-array v1, v1, [Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;
invoke-interface {v0, v1}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;
iput-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mRules:[Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;
.line 165
const/4 v1, 0x0
.line 166
iget-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mRules:[Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;
array-length v0, v0
:goto_16
add-int/lit8 v0, v0, -0x1
if-ltz v0, :cond_24
.line 167
iget-object v2, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mRules:[Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;
aget-object v2, v2, v0
invoke-interface {v2}, Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;->estimateLength()I
move-result v2
add-int/2addr v1, v2
goto :goto_16
.line 170
:cond_24
iput v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mMaxLengthEstimate:I
.line 171
return-void
.end method
.method private newCalendar()Ljava/util/GregorianCalendar;
.registers 4
.prologue
.line 436
new-instance v0, Ljava/util/GregorianCalendar;
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
iget-object v2, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
invoke-direct {v0, v1, v2}, Ljava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;)V
return-object v0
.end method
.method private readObject(Ljava/io/ObjectInputStream;)V
.registers 2
.prologue
.line 587
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->defaultReadObject()V
.line 588
invoke-direct {p0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->init()V
.line 589
return-void
.end method
# virtual methods
.method protected applyRules(Ljava/util/Calendar;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
.registers 7
.prologue
.line 492
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mRules:[Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;
array-length v2, v1
const/4 v0, 0x0
:goto_4
if-ge v0, v2, :cond_e
aget-object v3, v1, v0
.line 493
invoke-interface {v3, p2, p1}, Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;->appendTo(Ljava/lang/StringBuffer;Ljava/util/Calendar;)V
.line 492
add-int/lit8 v0, v0, 0x1
goto :goto_4
.line 495
:cond_e
return-object p2
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 5
.prologue
const/4 v0, 0x0
.line 547
instance-of v1, p1, Lorg/apache/commons/lang3/time/FastDatePrinter;
if-nez v1, :cond_6
.line 551
:cond_5
:goto_5
return v0
.line 550
:cond_6
check-cast p1, Lorg/apache/commons/lang3/time/FastDatePrinter;
.line 551
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
iget-object v2, p1, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_5
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
iget-object v2, p1, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
invoke-virtual {v1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_5
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
iget-object v2, p1, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
invoke-virtual {v1, v2}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_5
const/4 v0, 0x1
goto :goto_5
.end method
.method public format(J)Ljava/lang/String;
.registers 4
.prologue
.line 416
invoke-direct {p0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->newCalendar()Ljava/util/GregorianCalendar;
move-result-object v0
.line 417
invoke-virtual {v0, p1, p2}, Ljava/util/Calendar;->setTimeInMillis(J)V
.line 418
invoke-direct {p0, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->applyRulesToString(Ljava/util/Calendar;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public format(Ljava/util/Calendar;)Ljava/lang/String;
.registers 4
.prologue
.line 454
new-instance v0, Ljava/lang/StringBuffer;
iget v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mMaxLengthEstimate:I
invoke-direct {v0, v1}, Ljava/lang/StringBuffer;-><init>(I)V
invoke-virtual {p0, p1, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->format(Ljava/util/Calendar;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public format(Ljava/util/Date;)Ljava/lang/String;
.registers 3
.prologue
.line 444
invoke-direct {p0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->newCalendar()Ljava/util/GregorianCalendar;
move-result-object v0
.line 445
invoke-virtual {v0, p1}, Ljava/util/Calendar;->setTime(Ljava/util/Date;)V
.line 446
invoke-direct {p0, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->applyRulesToString(Ljava/util/Calendar;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public format(JLjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
.registers 5
.prologue
.line 462
new-instance v0, Ljava/util/Date;
invoke-direct {v0, p1, p2}, Ljava/util/Date;-><init>(J)V
invoke-virtual {p0, v0, p3}, Lorg/apache/commons/lang3/time/FastDatePrinter;->format(Ljava/util/Date;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
return-object v0
.end method
.method public format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
.registers 7
.prologue
.line 399
instance-of v0, p1, Ljava/util/Date;
if-eqz v0, :cond_b
.line 400
check-cast p1, Ljava/util/Date;
invoke-virtual {p0, p1, p2}, Lorg/apache/commons/lang3/time/FastDatePrinter;->format(Ljava/util/Date;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
.line 404
:goto_a
return-object v0
.line 401
:cond_b
instance-of v0, p1, Ljava/util/Calendar;
if-eqz v0, :cond_16
.line 402
check-cast p1, Ljava/util/Calendar;
invoke-virtual {p0, p1, p2}, Lorg/apache/commons/lang3/time/FastDatePrinter;->format(Ljava/util/Calendar;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
goto :goto_a
.line 403
:cond_16
instance-of v0, p1, Ljava/lang/Long;
if-eqz v0, :cond_25
.line 404
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-virtual {p0, v0, v1, p2}, Lorg/apache/commons/lang3/time/FastDatePrinter;->format(JLjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
goto :goto_a
.line 406
:cond_25
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v0, "Unknown class: "
invoke-direct {v2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
if-nez p1, :cond_3e
const-string v0, "<null>"
:goto_32
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
:cond_3e
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
goto :goto_32
.end method
.method public format(Ljava/util/Calendar;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
.registers 4
.prologue
.line 480
invoke-virtual {p0, p1, p2}, Lorg/apache/commons/lang3/time/FastDatePrinter;->applyRules(Ljava/util/Calendar;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
return-object v0
.end method
.method public format(Ljava/util/Date;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
.registers 4
.prologue
.line 470
invoke-direct {p0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->newCalendar()Ljava/util/GregorianCalendar;
move-result-object v0
.line 471
invoke-virtual {v0, p1}, Ljava/util/Calendar;->setTime(Ljava/util/Date;)V
.line 472
invoke-virtual {p0, v0, p2}, Lorg/apache/commons/lang3/time/FastDatePrinter;->applyRules(Ljava/util/Calendar;Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
move-result-object v0
return-object v0
.end method
.method public getLocale()Ljava/util/Locale;
.registers 2
.prologue
.line 521
iget-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
return-object v0
.end method
.method public getMaxLengthEstimate()I
.registers 2
.prologue
.line 534
iget v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mMaxLengthEstimate:I
return v0
.end method
.method public getPattern()Ljava/lang/String;
.registers 2
.prologue
.line 505
iget-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
return-object v0
.end method
.method public getTimeZone()Ljava/util/TimeZone;
.registers 2
.prologue
.line 513
iget-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
return-object v0
.end method
.method public hashCode()I
.registers 4
.prologue
.line 563
iget-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
iget-object v2, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
invoke-virtual {v2}, Ljava/util/Locale;->hashCode()I
move-result v2
mul-int/lit8 v2, v2, 0xd
add-int/2addr v1, v2
mul-int/lit8 v1, v1, 0xd
add-int/2addr v0, v1
return v0
.end method
.method protected parsePattern()Ljava/util/List;
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lorg/apache/commons/lang3/time/FastDatePrinter$Rule;",
">;"
}
.end annotation
.prologue
.line 182
new-instance v0, Ljava/text/DateFormatSymbols;
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
invoke-direct {v0, v1}, Ljava/text/DateFormatSymbols;-><init>(Ljava/util/Locale;)V
.line 183
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
.line 185
invoke-virtual {v0}, Ljava/text/DateFormatSymbols;->getEras()[Ljava/lang/String;
move-result-object v5
.line 186
invoke-virtual {v0}, Ljava/text/DateFormatSymbols;->getMonths()[Ljava/lang/String;
move-result-object v6
.line 187
invoke-virtual {v0}, Ljava/text/DateFormatSymbols;->getShortMonths()[Ljava/lang/String;
move-result-object v7
.line 188
invoke-virtual {v0}, Ljava/text/DateFormatSymbols;->getWeekdays()[Ljava/lang/String;
move-result-object v2
.line 189
invoke-virtual {v0}, Ljava/text/DateFormatSymbols;->getShortWeekdays()[Ljava/lang/String;
move-result-object v1
.line 190
invoke-virtual {v0}, Ljava/text/DateFormatSymbols;->getAmPmStrings()[Ljava/lang/String;
move-result-object v8
.line 192
iget-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v9
.line 193
const/4 v0, 0x1
new-array v10, v0, [I
.line 195
const/4 v0, 0x0
:goto_2e
if-ge v0, v9, :cond_161
.line 196
const/4 v3, 0x0
aput v0, v10, v3
.line 197
iget-object v0, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
invoke-virtual {p0, v0, v10}, Lorg/apache/commons/lang3/time/FastDatePrinter;->parseToken(Ljava/lang/String;[I)Ljava/lang/String;
move-result-object v3
.line 198
const/4 v0, 0x0
aget v11, v10, v0
.line 200
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v0
.line 201
if-eqz v0, :cond_161
.line 206
const/4 v12, 0x0
invoke-virtual {v3, v12}, Ljava/lang/String;->charAt(I)C
move-result v12
.line 208
sparse-switch v12, :sswitch_data_162
.line 300
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Illegal pattern component: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 210
:sswitch_5f
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;
const/4 v3, 0x0
invoke-direct {v0, v3, v5}, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;-><init>(I[Ljava/lang/String;)V
.line 303
:goto_65
invoke-interface {v4, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 195
add-int/lit8 v0, v11, 0x1
goto :goto_2e
.line 213
:sswitch_6b
const/4 v3, 0x2
if-ne v0, v3, :cond_71
.line 214
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TwoDigitYearField;->INSTANCE:Lorg/apache/commons/lang3/time/FastDatePrinter$TwoDigitYearField;
goto :goto_65
.line 216
:cond_71
const/4 v3, 0x1
const/4 v12, 0x4
if-ge v0, v12, :cond_76
const/4 v0, 0x4
:cond_76
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 220
:sswitch_7b
const/4 v3, 0x4
if-lt v0, v3, :cond_85
.line 221
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;
const/4 v3, 0x2
invoke-direct {v0, v3, v6}, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;-><init>(I[Ljava/lang/String;)V
goto :goto_65
.line 222
:cond_85
const/4 v3, 0x3
if-ne v0, v3, :cond_8f
.line 223
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;
const/4 v3, 0x2
invoke-direct {v0, v3, v7}, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;-><init>(I[Ljava/lang/String;)V
goto :goto_65
.line 224
:cond_8f
const/4 v3, 0x2
if-ne v0, v3, :cond_95
.line 225
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TwoDigitMonthField;->INSTANCE:Lorg/apache/commons/lang3/time/FastDatePrinter$TwoDigitMonthField;
goto :goto_65
.line 227
:cond_95
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter$UnpaddedMonthField;->INSTANCE:Lorg/apache/commons/lang3/time/FastDatePrinter$UnpaddedMonthField;
goto :goto_65
.line 231
:sswitch_98
const/4 v3, 0x5
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 234
:sswitch_9e
new-instance v3, Lorg/apache/commons/lang3/time/FastDatePrinter$TwelveHourField;
const/16 v12, 0xa
invoke-virtual {p0, v12, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
invoke-direct {v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter$TwelveHourField;-><init>(Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;)V
move-object v0, v3
.line 235
goto :goto_65
.line 237
:sswitch_ab
const/16 v3, 0xb
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 240
:sswitch_b2
const/16 v3, 0xc
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 243
:sswitch_b9
const/16 v3, 0xd
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 246
:sswitch_c0
const/16 v3, 0xe
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 249
:sswitch_c7
new-instance v3, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;
const/4 v12, 0x7
const/4 v13, 0x4
if-ge v0, v13, :cond_d3
move-object v0, v1
:goto_ce
invoke-direct {v3, v12, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;-><init>(I[Ljava/lang/String;)V
move-object v0, v3
.line 250
goto :goto_65
:cond_d3
move-object v0, v2
.line 249
goto :goto_ce
.line 252
:sswitch_d5
const/4 v3, 0x6
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 255
:sswitch_db
const/16 v3, 0x8
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto :goto_65
.line 258
:sswitch_e2
const/4 v3, 0x3
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto/16 :goto_65
.line 261
:sswitch_e9
const/4 v3, 0x4
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto/16 :goto_65
.line 264
:sswitch_f0
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;
const/16 v3, 0x9
invoke-direct {v0, v3, v8}, Lorg/apache/commons/lang3/time/FastDatePrinter$TextField;-><init>(I[Ljava/lang/String;)V
goto/16 :goto_65
.line 267
:sswitch_f9
new-instance v3, Lorg/apache/commons/lang3/time/FastDatePrinter$TwentyFourHourField;
const/16 v12, 0xb
invoke-virtual {p0, v12, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
invoke-direct {v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter$TwentyFourHourField;-><init>(Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;)V
move-object v0, v3
.line 268
goto/16 :goto_65
.line 270
:sswitch_107
const/16 v3, 0xa
invoke-virtual {p0, v3, v0}, Lorg/apache/commons/lang3/time/FastDatePrinter;->selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
move-result-object v0
goto/16 :goto_65
.line 273
:sswitch_10f
invoke-static {v0}, Lorg/apache/commons/lang3/time/FastDatePrinter$Iso8601_Rule;->getRule(I)Lorg/apache/commons/lang3/time/FastDatePrinter$Iso8601_Rule;
move-result-object v0
goto/16 :goto_65
.line 276
:sswitch_115
const/4 v3, 0x4
if-lt v0, v3, :cond_124
.line 277
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNameRule;
iget-object v3, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
iget-object v12, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
const/4 v13, 0x1
invoke-direct {v0, v3, v12, v13}, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNameRule;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;I)V
goto/16 :goto_65
.line 279
:cond_124
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNameRule;
iget-object v3, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
iget-object v12, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
const/4 v13, 0x0
invoke-direct {v0, v3, v12, v13}, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNameRule;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;I)V
goto/16 :goto_65
.line 283
:sswitch_130
const/4 v3, 0x1
if-ne v0, v3, :cond_137
.line 284
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNumberRule;->INSTANCE_NO_COLON:Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNumberRule;
goto/16 :goto_65
.line 285
:cond_137
const/4 v3, 0x2
if-ne v0, v3, :cond_13e
.line 286
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNumberRule;->INSTANCE_ISO_8601:Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNumberRule;
goto/16 :goto_65
.line 288
:cond_13e
sget-object v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNumberRule;->INSTANCE_COLON:Lorg/apache/commons/lang3/time/FastDatePrinter$TimeZoneNumberRule;
goto/16 :goto_65
.line 292
:sswitch_142
const/4 v0, 0x1
invoke-virtual {v3, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v3
.line 293
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v0
const/4 v12, 0x1
if-ne v0, v12, :cond_15a
.line 294
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$CharacterLiteral;
const/4 v12, 0x0
invoke-virtual {v3, v12}, Ljava/lang/String;->charAt(I)C
move-result v3
invoke-direct {v0, v3}, Lorg/apache/commons/lang3/time/FastDatePrinter$CharacterLiteral;-><init>(C)V
goto/16 :goto_65
.line 296
:cond_15a
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$StringLiteral;
invoke-direct {v0, v3}, Lorg/apache/commons/lang3/time/FastDatePrinter$StringLiteral;-><init>(Ljava/lang/String;)V
goto/16 :goto_65
.line 306
:cond_161
return-object v4
.line 208
:sswitch_data_162
.sparse-switch
0x27 -> :sswitch_142
0x44 -> :sswitch_d5
0x45 -> :sswitch_c7
0x46 -> :sswitch_db
0x47 -> :sswitch_5f
0x48 -> :sswitch_ab
0x4b -> :sswitch_107
0x4d -> :sswitch_7b
0x53 -> :sswitch_c0
0x57 -> :sswitch_e9
0x58 -> :sswitch_10f
0x5a -> :sswitch_130
0x61 -> :sswitch_f0
0x64 -> :sswitch_98
0x68 -> :sswitch_9e
0x6b -> :sswitch_f9
0x6d -> :sswitch_b2
0x73 -> :sswitch_b9
0x77 -> :sswitch_e2
0x79 -> :sswitch_6b
0x7a -> :sswitch_115
.end sparse-switch
.end method
.method protected parseToken(Ljava/lang/String;[I)Ljava/lang/String;
.registers 14
.prologue
const/16 v10, 0x61
const/16 v9, 0x5a
const/16 v8, 0x41
const/16 v7, 0x27
const/4 v1, 0x0
.line 317
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
.line 319
aget v2, p2, v1
.line 320
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v4
.line 322
invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C
move-result v0
.line 323
if-lt v0, v8, :cond_1c
if-le v0, v9, :cond_22
:cond_1c
if-lt v0, v10, :cond_37
const/16 v5, 0x7a
if-gt v0, v5, :cond_37
.line 326
:cond_22
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 328
:goto_25
add-int/lit8 v5, v2, 0x1
if-ge v5, v4, :cond_6b
.line 329
add-int/lit8 v5, v2, 0x1
invoke-virtual {p1, v5}, Ljava/lang/String;->charAt(I)C
move-result v5
.line 330
if-ne v5, v0, :cond_6b
.line 331
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 332
add-int/lit8 v2, v2, 0x1
.line 336
goto :goto_25
.line 339
:cond_37
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move v0, v1
.line 343
:goto_3b
if-ge v2, v4, :cond_6b
.line 344
invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C
move-result v5
.line 346
if-ne v5, v7, :cond_5d
.line 347
add-int/lit8 v6, v2, 0x1
if-ge v6, v4, :cond_57
add-int/lit8 v6, v2, 0x1
invoke-virtual {p1, v6}, Ljava/lang/String;->charAt(I)C
move-result v6
if-ne v6, v7, :cond_57
.line 349
add-int/lit8 v2, v2, 0x1
.line 350
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 343
:goto_54
add-int/lit8 v2, v2, 0x1
goto :goto_3b
.line 352
:cond_57
if-nez v0, :cond_5b
const/4 v0, 0x1
goto :goto_54
:cond_5b
move v0, v1
goto :goto_54
.line 354
:cond_5d
if-nez v0, :cond_72
if-lt v5, v8, :cond_63
if-le v5, v9, :cond_69
:cond_63
if-lt v5, v10, :cond_72
const/16 v6, 0x7a
if-gt v5, v6, :cond_72
.line 356
:cond_69
add-int/lit8 v2, v2, -0x1
.line 364
:cond_6b
aput v2, p2, v1
.line 365
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 359
:cond_72
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_54
.end method
.method protected selectNumberRule(II)Lorg/apache/commons/lang3/time/FastDatePrinter$NumberRule;
.registers 4
.prologue
.line 376
packed-switch p2, :pswitch_data_16
.line 382
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$PaddedNumberField;
invoke-direct {v0, p1, p2}, Lorg/apache/commons/lang3/time/FastDatePrinter$PaddedNumberField;-><init>(II)V
:goto_8
return-object v0
.line 378
:pswitch_9
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$UnpaddedNumberField;
invoke-direct {v0, p1}, Lorg/apache/commons/lang3/time/FastDatePrinter$UnpaddedNumberField;-><init>(I)V
goto :goto_8
.line 380
:pswitch_f
new-instance v0, Lorg/apache/commons/lang3/time/FastDatePrinter$TwoDigitNumberField;
invoke-direct {v0, p1}, Lorg/apache/commons/lang3/time/FastDatePrinter$TwoDigitNumberField;-><init>(I)V
goto :goto_8
.line 376
nop
:pswitch_data_16
.packed-switch 0x1
:pswitch_9
:pswitch_f
.end packed-switch
.end method
.method public toString()Ljava/lang/String;
.registers 3
.prologue
.line 573
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "FastDatePrinter["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mPattern:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mLocale:Ljava/util/Locale;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lorg/apache/commons/lang3/time/FastDatePrinter;->mTimeZone:Ljava/util/TimeZone;
invoke-virtual {v1}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method