Operator.smali
.class public abstract Lcom/avast/android/feed/conditions/operators/Operator;
.super Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static of(Ljava/lang/String;)Lcom/avast/android/feed/conditions/operators/Operator;
.registers 4
const/4 v0, 0x0
if-eqz p0, :cond_f0
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_b
goto/16 :goto_f0
:cond_b
const/4 v1, -0x1
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v2
sparse-switch v2, :sswitch_data_f2
goto/16 :goto_9e
:sswitch_15
const-string v2, "endsWith"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/16 v1, 0x9
goto/16 :goto_9e
:sswitch_21
const-string v2, "matches"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/16 v1, 0xc
goto/16 :goto_9e
:sswitch_2d
const-string v2, "notIn"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x1
goto/16 :goto_9e
:sswitch_38
const-string v2, "in"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x0
goto :goto_9e
:sswitch_42
const-string v2, ">="
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x5
goto :goto_9e
:sswitch_4c
const-string v2, "<="
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x7
goto :goto_9e
:sswitch_56
const-string v2, "!="
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x3
goto :goto_9e
:sswitch_60
const-string v2, ">"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x4
goto :goto_9e
:sswitch_6a
const-string v2, "="
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x2
goto :goto_9e
:sswitch_74
const-string v2, "<"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/4 v1, 0x6
goto :goto_9e
:sswitch_7e
const-string v2, "notContains"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/16 v1, 0xb
goto :goto_9e
:sswitch_89
const-string v2, "contains"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/16 v1, 0xa
goto :goto_9e
:sswitch_94
const-string v2, "startsWith"
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_9e
const/16 v1, 0x8
:cond_9e
:goto_9e
packed-switch v1, :pswitch_data_128
return-object v0
:pswitch_a2
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorRegExp;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorRegExp;-><init>()V
return-object p0
:pswitch_a8
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorNotContains;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorNotContains;-><init>()V
return-object p0
:pswitch_ae
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorContains;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorContains;-><init>()V
return-object p0
:pswitch_b4
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorEndsWith;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorEndsWith;-><init>()V
return-object p0
:pswitch_ba
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorStartsWith;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorStartsWith;-><init>()V
return-object p0
:pswitch_c0
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorLessThanOrEquals;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorLessThanOrEquals;-><init>()V
return-object p0
:pswitch_c6
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorLessThan;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorLessThan;-><init>()V
return-object p0
:pswitch_cc
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorGreaterThanOrEquals;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorGreaterThanOrEquals;-><init>()V
return-object p0
:pswitch_d2
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorGreaterThan;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorGreaterThan;-><init>()V
return-object p0
:pswitch_d8
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorNotEquals;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorNotEquals;-><init>()V
return-object p0
:pswitch_de
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorEquals;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorEquals;-><init>()V
return-object p0
:pswitch_e4
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorNotIn;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorNotIn;-><init>()V
return-object p0
:pswitch_ea
new-instance p0, Lcom/avast/android/feed/conditions/operators/OperatorIn;
invoke-direct {p0}, Lcom/avast/android/feed/conditions/operators/OperatorIn;-><init>()V
return-object p0
:cond_f0
:goto_f0
return-object v0
nop
:sswitch_data_f2
.sparse-switch
-0x5cb7a349 -> :sswitch_94
-0x21d289e1 -> :sswitch_89
-0x8d8fdee -> :sswitch_7e
0x3c -> :sswitch_74
0x3d -> :sswitch_6a
0x3e -> :sswitch_60
0x43c -> :sswitch_56
0x781 -> :sswitch_4c
0x7bf -> :sswitch_42
0xd25 -> :sswitch_38
0x6424b58 -> :sswitch_2d
0x321e8933 -> :sswitch_21
0x67e67bde -> :sswitch_15
.end sparse-switch
:pswitch_data_128
.packed-switch 0x0
:pswitch_ea
:pswitch_e4
:pswitch_de
:pswitch_d8
:pswitch_d2
:pswitch_cc
:pswitch_c6
:pswitch_c0
:pswitch_ba
:pswitch_b4
:pswitch_ae
:pswitch_a8
:pswitch_a2
.end packed-switch
.end method
# virtual methods
.method public abstract eval(Ljava/lang/Object;Ljava/lang/Object;)Z
.end method
.method public abstract eval(Ljava/lang/Object;Ljava/util/List;)Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;)Z"
}
.end annotation
.end method
.method public abstract evalValueType(Ljava/lang/Object;Ljava/lang/String;)Z
.end method
.method protected getTypedEvaluator(Ljava/lang/Object;)Lcom/avast/android/feed/conditions/operators/evaluators/TypedEvaluator;
.registers 3
instance-of v0, p1, Ljava/lang/Number;
if-eqz v0, :cond_a
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeNumberEvaluator;
invoke-direct {p1}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeNumberEvaluator;-><init>()V
return-object p1
:cond_a
instance-of v0, p1, Ljava/lang/String;
if-eqz v0, :cond_14
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringEvaluator;
invoke-direct {p1}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringEvaluator;-><init>()V
return-object p1
:cond_14
instance-of v0, p1, Ljava/lang/Boolean;
if-eqz v0, :cond_1e
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeBooleanEvaluator;
invoke-direct {p1}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeBooleanEvaluator;-><init>()V
return-object p1
:cond_1e
instance-of v0, p1, Ljava/util/Date;
if-eqz v0, :cond_28
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeDateEvaluator;
invoke-direct {p1}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeDateEvaluator;-><init>()V
return-object p1
:cond_28
instance-of p1, p1, [Ljava/lang/String;
if-eqz p1, :cond_32
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringArrayEvaluator;
invoke-direct {p1}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringArrayEvaluator;-><init>()V
return-object p1
:cond_32
new-instance p1, Lcom/avast/android/feed/conditions/operators/Operator$1;
invoke-direct {p1, p0}, Lcom/avast/android/feed/conditions/operators/Operator$1;-><init>(Lcom/avast/android/feed/conditions/operators/Operator;)V
return-object p1
.end method
.method protected getTypedEvaluator(Ljava/lang/Object;Ljava/lang/String;)Lcom/avast/android/feed/conditions/operators/evaluators/TypedEvaluator;
.registers 4
instance-of v0, p1, Ljava/lang/Number;
if-eqz v0, :cond_f
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeNumberEvaluator;
new-instance v0, Lcom/avast/android/feed/conditions/parser/NumberValueParser;
invoke-direct {v0, p2}, Lcom/avast/android/feed/conditions/parser/NumberValueParser;-><init>(Ljava/lang/String;)V
invoke-direct {p1, v0}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeNumberEvaluator;-><init>(Lcom/avast/android/feed/conditions/parser/ValueParser;)V
return-object p1
:cond_f
instance-of v0, p1, Ljava/lang/String;
if-eqz v0, :cond_1e
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringEvaluator;
new-instance v0, Lcom/avast/android/feed/conditions/parser/StringValueParser;
invoke-direct {v0, p2}, Lcom/avast/android/feed/conditions/parser/StringValueParser;-><init>(Ljava/lang/String;)V
invoke-direct {p1, v0}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringEvaluator;-><init>(Lcom/avast/android/feed/conditions/parser/ValueParser;)V
return-object p1
:cond_1e
instance-of v0, p1, Ljava/lang/Boolean;
if-eqz v0, :cond_2d
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeBooleanEvaluator;
new-instance v0, Lcom/avast/android/feed/conditions/parser/BooleanValueParser;
invoke-direct {v0, p2}, Lcom/avast/android/feed/conditions/parser/BooleanValueParser;-><init>(Ljava/lang/String;)V
invoke-direct {p1, v0}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeBooleanEvaluator;-><init>(Lcom/avast/android/feed/conditions/parser/ValueParser;)V
return-object p1
:cond_2d
instance-of v0, p1, Ljava/util/Date;
if-eqz v0, :cond_3c
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeDateEvaluator;
new-instance v0, Lcom/avast/android/feed/conditions/parser/DateValueParser;
invoke-direct {v0, p2}, Lcom/avast/android/feed/conditions/parser/DateValueParser;-><init>(Ljava/lang/String;)V
invoke-direct {p1, v0}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeDateEvaluator;-><init>(Lcom/avast/android/feed/conditions/parser/ValueParser;)V
return-object p1
:cond_3c
instance-of p1, p1, [Ljava/lang/String;
if-eqz p1, :cond_4b
new-instance p1, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringArrayEvaluator;
new-instance v0, Lcom/avast/android/feed/conditions/parser/StringValueParser;
invoke-direct {v0, p2}, Lcom/avast/android/feed/conditions/parser/StringValueParser;-><init>(Ljava/lang/String;)V
invoke-direct {p1, v0}, Lcom/avast/android/feed/conditions/operators/evaluators/TypeStringArrayEvaluator;-><init>(Lcom/avast/android/feed/conditions/parser/ValueParser;)V
return-object p1
:cond_4b
new-instance p1, Lcom/avast/android/feed/conditions/operators/Operator$2;
invoke-direct {p1, p0}, Lcom/avast/android/feed/conditions/operators/Operator$2;-><init>(Lcom/avast/android/feed/conditions/operators/Operator;)V
return-object p1
.end method