TableManager$1.smali

.class Lcom/litesuits/orm/db/TableManager$1;
.super Lcom/litesuits/orm/db/assit/Querier$CursorParser;
.source "TableManager.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lcom/litesuits/orm/db/TableManager;->initAllTablesFromSQLite(Landroid/database/sqlite/SQLiteDatabase;)V
.end annotation

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


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

.field final synthetic val$table:Lcom/litesuits/orm/db/model/EntityTable;


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

    return-void
.end method

.method constructor <init>(Lcom/litesuits/orm/db/TableManager;Lcom/litesuits/orm/db/model/EntityTable;)V
    .registers 3

    .line 245
    iput-object p1, p0, Lcom/litesuits/orm/db/TableManager$1;->this$0:Lcom/litesuits/orm/db/TableManager;

    iput-object p2, p0, Lcom/litesuits/orm/db/TableManager$1;->val$table:Lcom/litesuits/orm/db/model/EntityTable;

    invoke-direct {p0}, Lcom/litesuits/orm/db/assit/Querier$CursorParser;-><init>()V

    return-void
.end method


# virtual methods
.method public parseEachCursor(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/Cursor;)V
    .registers 9
    .param p1, "db"    # Landroid/database/sqlite/SQLiteDatabase;
    .param p2, "c"    # Landroid/database/Cursor;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    .line 248
    new-instance v0, Lcom/litesuits/orm/db/model/SQLiteTable;

    invoke-direct {v0}, Lcom/litesuits/orm/db/model/SQLiteTable;-><init>()V

    .line 249
    .local v0, "sqlTable":Lcom/litesuits/orm/db/model/SQLiteTable;
    iget-object v1, p0, Lcom/litesuits/orm/db/TableManager$1;->val$table:Lcom/litesuits/orm/db/model/EntityTable;

    invoke-static {p2, v0, v1}, Lcom/litesuits/orm/db/utils/DataUtil;->injectDataToObject(Landroid/database/Cursor;Ljava/lang/Object;Lcom/litesuits/orm/db/model/EntityTable;)V

    .line 250
    iget-object v1, p0, Lcom/litesuits/orm/db/TableManager$1;->this$0:Lcom/litesuits/orm/db/TableManager;

    iget-object v2, v0, Lcom/litesuits/orm/db/model/SQLiteTable;->name:Ljava/lang/String;

    invoke-virtual {v1, p1, v2}, Lcom/litesuits/orm/db/TableManager;->getAllColumnsFromSQLite(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/ArrayList;

    move-result-object v1

    .line 251
    .local v1, "colS":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
    invoke-static {v1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z

    move-result v2

    if-eqz v2, :cond_2a

    .line 253
    invoke-static {}, Lcom/litesuits/orm/db/TableManager;->access$000()Ljava/lang/String;

    move-result-object v2

    const-string/jumbo v3, "\u8bfb\u6570\u636e\u5e93\u5931\u8d25\u4e86\uff0c\u5f00\u59cb\u89e3\u6790\u5efa\u8868\u8bed\u53e5"

    invoke-static {v2, v3}, Lcom/litesuits/orm/log/OrmLog;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 254
    iget-object v2, p0, Lcom/litesuits/orm/db/TableManager$1;->this$0:Lcom/litesuits/orm/db/TableManager;

    iget-object v3, v0, Lcom/litesuits/orm/db/model/SQLiteTable;->sql:Ljava/lang/String;

    invoke-virtual {v2, v3}, Lcom/litesuits/orm/db/TableManager;->transformSqlToColumns(Ljava/lang/String;)Ljava/util/ArrayList;

    move-result-object v1

    .line 256
    :cond_2a
    new-instance v2, Ljava/util/HashMap;

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

    iput-object v2, v0, Lcom/litesuits/orm/db/model/SQLiteTable;->columns:Ljava/util/HashMap;

    .line 257
    invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v2

    .local v2, "i$":Ljava/util/Iterator;
    :goto_35
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_4c

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    .line 258
    .local v3, "col":Ljava/lang/String;
    iget-object v4, v0, Lcom/litesuits/orm/db/model/SQLiteTable;->columns:Ljava/util/HashMap;

    const/4 v5, 0x1

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

    move-result-object v5

    invoke-virtual {v4, v3, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 259
    .end local v3    # "col":Ljava/lang/String;
    goto :goto_35

    .line 260
    .end local v2    # "i$":Ljava/util/Iterator;
    :cond_4c
    sget-boolean v2, Lcom/litesuits/orm/log/OrmLog;->isPrint:Z

    if-eqz v2, :cond_80

    .line 261
    invoke-static {}, Lcom/litesuits/orm/db/TableManager;->access$000()Ljava/lang/String;

    move-result-object v2

    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "Find One SQL Table: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/litesuits/orm/log/OrmLog;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 262
    invoke-static {}, Lcom/litesuits/orm/db/TableManager;->access$000()Ljava/lang/String;

    move-result-object v2

    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "Table Column: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/litesuits/orm/log/OrmLog;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 264
    :cond_80
    iget-object v2, p0, Lcom/litesuits/orm/db/TableManager$1;->this$0:Lcom/litesuits/orm/db/TableManager;

    invoke-static {v2}, Lcom/litesuits/orm/db/TableManager;->access$100(Lcom/litesuits/orm/db/TableManager;)Ljava/util/HashMap;

    move-result-object v2

    iget-object v3, v0, Lcom/litesuits/orm/db/model/SQLiteTable;->name:Ljava/lang/String;

    invoke-virtual {v2, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 265
    return-void
.end method