CascadeSQLiteImpl$11.smali

.class Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;
.super Ljava/lang/Object;
.source "CascadeSQLiteImpl.java"

# interfaces
.implements Lcom/litesuits/orm/db/assit/Transaction$Worker;


# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->updateCollection(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/lang/Object;",
        "Lcom/litesuits/orm/db/assit/Transaction$Worker<",
        "Ljava/lang/Integer;",
        ">;"
    }
.end annotation


# instance fields
.field final synthetic this$0:Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;

.field final synthetic val$collection:Ljava/util/Collection;

.field final synthetic val$conflictAlgorithm:Lcom/litesuits/orm/db/model/ConflictAlgorithm;

.field final synthetic val$cvs:Lcom/litesuits/orm/db/model/ColumnsValue;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method constructor <init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)V
    .registers 5

    .line 597
    iput-object p1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->this$0:Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;

    iput-object p2, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$collection:Ljava/util/Collection;

    iput-object p3, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$cvs:Lcom/litesuits/orm/db/model/ColumnsValue;

    iput-object p4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$conflictAlgorithm:Lcom/litesuits/orm/db/model/ConflictAlgorithm;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public doTransaction(Landroid/database/sqlite/SQLiteDatabase;)Ljava/lang/Integer;
    .registers 7
    .param p1, "db"    # Landroid/database/sqlite/SQLiteDatabase;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    .line 601
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    .line 602
    .local v0, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
    iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$collection:Ljava/util/Collection;

    invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v1

    .line 603
    .local v1, "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<TT;>;"
    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    .line 604
    .local v2, "entity":Ljava/lang/Object;
    iget-object v3, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$cvs:Lcom/litesuits/orm/db/model/ColumnsValue;

    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$conflictAlgorithm:Lcom/litesuits/orm/db/model/ConflictAlgorithm;

    invoke-static {v2, v3, v4}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildUpdateSql(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)Lcom/litesuits/orm/db/assit/SQLStatement;

    move-result-object v3

    .line 605
    .local v3, "stmt":Lcom/litesuits/orm/db/assit/SQLStatement;
    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->this$0:Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;

    invoke-static {v4}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->access$800(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;)Lcom/litesuits/orm/db/TableManager;

    move-result-object v4

    invoke-virtual {v4, p1, v2}, Lcom/litesuits/orm/db/TableManager;->checkOrCreateTable(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;

    .line 606
    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->this$0:Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;

    invoke-static {v4, v3, v2, p1, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->access$400(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I

    .line 608
    :goto_25
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v4

    if-eqz v4, :cond_3d

    .line 610
    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    .line 612
    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$cvs:Lcom/litesuits/orm/db/model/ColumnsValue;

    invoke-static {v2, v4}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildUpdateSqlArgsOnly(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ColumnsValue;)[Ljava/lang/Object;

    move-result-object v4

    iput-object v4, v3, Lcom/litesuits/orm/db/assit/SQLStatement;->bindArgs:[Ljava/lang/Object;

    .line 613
    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->this$0:Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;

    invoke-static {v4, v3, v2, p1, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->access$400(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I

    goto :goto_25

    .line 615
    :cond_3d
    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->val$collection:Ljava/util/Collection;

    invoke-interface {v4}, Ljava/util/Collection;->size()I

    move-result v4

    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    return-object v4
.end method

.method public bridge synthetic doTransaction(Landroid/database/sqlite/SQLiteDatabase;)Ljava/lang/Object;
    .registers 3
    .param p1, "x0"    # Landroid/database/sqlite/SQLiteDatabase;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    .line 597
    invoke-virtual {p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;->doTransaction(Landroid/database/sqlite/SQLiteDatabase;)Ljava/lang/Integer;

    move-result-object v0

    return-object v0
.end method