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