CascadeSQLiteImpl$9.smali

.class Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$9;
.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;->saveCollection(Ljava/util/Collection;)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;


# 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;)V
    .registers 3

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

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

    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 522
    new-instance v0, Ljava/util/HashMap;

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

    .line 523
    .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$9;->val$collection:Ljava/util/Collection;

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

    move-result-object v1

    .line 524
    .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 525
    .local v2, "entity":Ljava/lang/Object;
    invoke-static {v2}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildReplaceSql(Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/SQLStatement;

    move-result-object v3

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

    invoke-static {v4}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->access$600(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 527
    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$9;->this$0:Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;

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

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

    move-result v4

    if-eqz v4, :cond_37

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

    move-result-object v2

    .line 533
    invoke-static {v2}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildInsertSqlArgsOnly(Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v4

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

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

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

    goto :goto_21

    .line 537
    :cond_37
    iget-object v4, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$9;->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 518
    invoke-virtual {p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$9;->doTransaction(Landroid/database/sqlite/SQLiteDatabase;)Ljava/lang/Integer;

    move-result-object v0

    return-object v0
.end method