CascadeSQLiteImpl.smali
.class public final Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.super Lcom/litesuits/orm/LiteOrm;
.source "CascadeSQLiteImpl.java"
# static fields
.field public static final TAG:Ljava/lang/String;
.field public static final TYPE_DELETE:I = 0x3
.field public static final TYPE_INSERT:I = 0x1
.field public static final TYPE_UPDATE:I = 0x2
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 28
const-class v0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->TAG:Ljava/lang/String;
return-void
.end method
.method protected constructor <init>(Lcom/litesuits/orm/LiteOrm;)V
.registers 2
.param p1, "dataBase" # Lcom/litesuits/orm/LiteOrm;
.line 31
invoke-direct {p0, p1}, Lcom/litesuits/orm/LiteOrm;-><init>(Lcom/litesuits/orm/LiteOrm;)V
.line 32
return-void
.end method
.method private constructor <init>(Lcom/litesuits/orm/db/DataBaseConfig;)V
.registers 2
.param p1, "config" # Lcom/litesuits/orm/db/DataBaseConfig;
.line 35
invoke-direct {p0, p1}, Lcom/litesuits/orm/LiteOrm;-><init>(Lcom/litesuits/orm/db/DataBaseConfig;)V
.line 36
return-void
.end method
.method static synthetic access$000(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
.registers 6
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.param p1, "x1" # Ljava/lang/Object;
.param p2, "x2" # Landroid/database/sqlite/SQLiteDatabase;
.param p3, "x3" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 26
invoke-direct {p0, p1, p2, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndSaveRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
move-result-wide v0
return-wide v0
.end method
.method static synthetic access$100(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;)Lcom/litesuits/orm/db/TableManager;
.registers 2
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.line 26
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
return-object v0
.end method
.method static synthetic 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
.registers 7
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.param p1, "x1" # Lcom/litesuits/orm/db/assit/SQLStatement;
.param p2, "x2" # Ljava/lang/Object;
.param p3, "x3" # Landroid/database/sqlite/SQLiteDatabase;
.param p4, "x4" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 26
invoke-direct {p0, p1, p2, p3, p4}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->insertRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
move-result-wide v0
return-wide v0
.end method
.method static synthetic access$300(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;)Lcom/litesuits/orm/db/TableManager;
.registers 2
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.line 26
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
return-object v0
.end method
.method static synthetic 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
.registers 6
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.param p1, "x1" # Lcom/litesuits/orm/db/assit/SQLStatement;
.param p2, "x2" # Ljava/lang/Object;
.param p3, "x3" # Landroid/database/sqlite/SQLiteDatabase;
.param p4, "x4" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 26
invoke-direct {p0, p1, p2, p3, p4}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->updateRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
move-result v0
return v0
.end method
.method static synthetic access$500(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
.registers 5
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.param p1, "x1" # Ljava/lang/Object;
.param p2, "x2" # Landroid/database/sqlite/SQLiteDatabase;
.param p3, "x3" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 26
invoke-direct {p0, p1, p2, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndDeleteRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
move-result v0
return v0
.end method
.method static synthetic access$600(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;)Lcom/litesuits/orm/db/TableManager;
.registers 2
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.line 26
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
return-object v0
.end method
.method static synthetic access$700(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;)Lcom/litesuits/orm/db/TableManager;
.registers 2
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.line 26
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
return-object v0
.end method
.method static synthetic access$800(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;)Lcom/litesuits/orm/db/TableManager;
.registers 2
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.line 26
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
return-object v0
.end method
.method static synthetic access$900(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
.registers 6
.param p0, "x0" # Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
.param p1, "x1" # Lcom/litesuits/orm/db/assit/SQLStatement;
.param p2, "x2" # Ljava/lang/Object;
.param p3, "x3" # Landroid/database/sqlite/SQLiteDatabase;
.param p4, "x4" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 26
invoke-direct {p0, p1, p2, p3, p4}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->deleteRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
move-result v0
return v0
.end method
.method private checkTableAndDeleteRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
.registers 7
.param p1, "obj1" # Ljava/lang/Object;
.param p2, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)I"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 830
.local p3, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
invoke-static {p1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 831
.local v0, "table":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
iget-object v2, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v1, v2}, Lcom/litesuits/orm/db/TableManager;->isSQLTableCreated(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_17
.line 832
invoke-static {p1}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildDeleteSql(Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v1
invoke-direct {p0, v1, p1, p2, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->deleteRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
move-result v1
return v1
.line 834
:cond_17
const/4 v1, -0x1
return v1
.end method
.method private checkTableAndQuery(Ljava/lang/Class;Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
.registers 16
.param p2, "builder" # Lcom/litesuits/orm/db/assit/QueryBuilder;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;",
"Lcom/litesuits/orm/db/assit/QueryBuilder;",
")",
"Ljava/util/ArrayList<",
"TT;>;"
}
.end annotation
.line 340
.local p1, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 341
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 343
.local v0, "list":Ljava/util/ArrayList;, "Ljava/util/ArrayList<TT;>;"
const/4 v1, 0x0
:try_start_9
invoke-static {p1, v1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;Z)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v1
move-object v7, v1
.line 344
.local v7, "table":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
iget-object v2, v7, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v1, v2}, Lcom/litesuits/orm/db/TableManager;->isSQLTableCreated(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_55
.line 345
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
move-object v8, v1
.line 346
.local v8, "entityMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;"
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
move-object v9, v1
.line 347
.local v9, "queryMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v1}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v1
move-object v10, v1
.line 348
.local v10, "db":Landroid/database/sqlite/SQLiteDatabase;
invoke-virtual {p2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->createStatement()Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v11
new-instance v12, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$5;
move-object v1, v12
move-object v2, p0
move-object v3, p1
move-object v4, v7
move-object v5, v0
move-object v6, v8
invoke-direct/range {v1 .. v6}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$5;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Class;Lcom/litesuits/orm/db/model/EntityTable;Ljava/util/ArrayList;Ljava/util/HashMap;)V
invoke-static {v10, v11, v12}, Lcom/litesuits/orm/db/assit/Querier;->doQuery(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/SQLStatement;Lcom/litesuits/orm/db/assit/Querier$CursorParser;)Ljava/lang/Object;
.line 357
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
.local v1, "i$":Ljava/util/Iterator;
:goto_41
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_55
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 358
.local v2, "t":Ljava/lang/Object;, "TT;"
invoke-direct {p0, v2, v10, v9, v8}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->queryForMappingRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
:try_end_4e
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_4e} :catch_51
.catchall {:try_start_9 .. :try_end_4e} :catchall_4f
.line 359
.end local v2 # "t":Ljava/lang/Object;, "TT;"
goto :goto_41
.line 364
.end local v1 # "i$":Ljava/util/Iterator;
.end local v7 # "table":Lcom/litesuits/orm/db/model/EntityTable;
.end local v8 # "entityMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;"
.end local v9 # "queryMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
.end local v10 # "db":Landroid/database/sqlite/SQLiteDatabase;
:catchall_4f
move-exception v1
goto :goto_5a
.line 361
:catch_51
move-exception v1
.line 362
.local v1, "e":Ljava/lang/Exception;
:try_start_52
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_55
.catchall {:try_start_52 .. :try_end_55} :catchall_4f
.line 364
.end local v1 # "e":Ljava/lang/Exception;
:cond_55
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 365
nop
.line 366
return-object v0
.line 364
:goto_5a
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
goto :goto_5f
:goto_5e
throw v1
:goto_5f
goto :goto_5e
.end method
.method private checkTableAndSaveRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
.registers 6
.param p1, "obj1" # Ljava/lang/Object;
.param p2, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)J"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 816
.local p3, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
invoke-virtual {v0, p2, p1}, Lcom/litesuits/orm/db/TableManager;->checkOrCreateTable(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
.line 817
invoke-static {p1}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildReplaceSql(Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v0
invoke-direct {p0, v0, p1, p2, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->insertRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
move-result-wide v0
return-wide v0
.end method
.method private deleteCollectionIfTableHasCreated(Ljava/util/Collection;)I
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;)I"
}
.end annotation
.line 632
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-static {p1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v0
if-nez v0, :cond_34
.line 633
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 634
.local v0, "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<TT;>;"
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 635
.local v1, "entity":Ljava/lang/Object;
invoke-static {v1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v2
.line 636
.local v2, "table":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v3, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
iget-object v4, v2, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v3, v4}, Lcom/litesuits/orm/db/TableManager;->isSQLTableCreated(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_34
.line 637
iget-object v3, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v3}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v3
.line 638
.local v3, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v4, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$12;
invoke-direct {v4, p0, v1, v0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$12;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Object;Ljava/util/Iterator;Ljava/util/Collection;)V
invoke-static {v3, v4}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Integer;
.line 657
.local v4, "rowID":Ljava/lang/Integer;
if-eqz v4, :cond_34
.line 658
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v5
return v5
.line 662
.end local v0 # "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<TT;>;"
.end local v1 # "entity":Ljava/lang/Object;
.end local v2 # "table":Lcom/litesuits/orm/db/model/EntityTable;
.end local v3 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v4 # "rowID":Ljava/lang/Integer;
:cond_34
const/4 v0, -0x1
return v0
.end method
.method private deleteRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
.registers 14
.param p1, "stmt" # Lcom/litesuits/orm/db/assit/SQLStatement;
.param p2, "obj1" # Ljava/lang/Object;
.param p3, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/assit/SQLStatement;",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)I"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 762
.local p4, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
invoke-static {p2}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 763
.local v0, "table1":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v1, v1, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v1, p2}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 766
.local v1, "key1":Ljava/lang/Object;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {p4, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_25
.line 767
const/4 v2, -0x1
return v2
.line 770
:cond_25
invoke-virtual {p1, p3}, Lcom/litesuits/orm/db/assit/SQLStatement;->execDelete(Landroid/database/sqlite/SQLiteDatabase;)I
move-result v8
.line 771
.local v8, "rowID":I
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x1
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {p4, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 774
const/4 v6, 0x0
move-object v2, p0
move-object v3, v1
move-object v4, p2
move-object v5, p3
move-object v7, p4
invoke-direct/range {v2 .. v7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->handleMapping(Ljava/lang/Object;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.line 775
return v8
.end method
.method public static getDeleteStatementArgs(Ljava/lang/Object;)[Ljava/lang/Object;
.registers 8
.param p0, "entity" # Ljava/lang/Object;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalAccessException;
}
.end annotation
.line 669
invoke-static {p0}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 670
.local v0, "table":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
if-eqz v1, :cond_1b
.line 671
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/String;
const/4 v2, 0x0
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v3, v3, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v3, p0}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
return-object v1
.line 672
:cond_1b
iget-object v1, v0, Lcom/litesuits/orm/db/model/EntityTable;->pmap:Ljava/util/LinkedHashMap;
invoke-static {v1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Map;)Z
move-result v1
if-nez v1, :cond_4f
.line 673
iget-object v1, v0, Lcom/litesuits/orm/db/model/EntityTable;->pmap:Ljava/util/LinkedHashMap;
invoke-virtual {v1}, Ljava/util/LinkedHashMap;->size()I
move-result v1
new-array v1, v1, [Ljava/lang/Object;
.line 674
.local v1, "args":[Ljava/lang/Object;
const/4 v2, 0x0
.line 675
.local v2, "i":I
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->pmap:Ljava/util/LinkedHashMap;
invoke-virtual {v3}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;
move-result-object v3
invoke-interface {v3}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v3
.local v3, "i$":Ljava/util/Iterator;
:goto_36
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_4e
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/litesuits/orm/db/model/Property;
.line 676
.local v4, "p":Lcom/litesuits/orm/db/model/Property;
add-int/lit8 v5, v2, 0x1
.end local v2 # "i":I
.local v5, "i":I
iget-object v6, v4, Lcom/litesuits/orm/db/model/Property;->field:Ljava/lang/reflect/Field;
invoke-static {v6, p0}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
aput-object v6, v1, v2
.line 677
.end local v4 # "p":Lcom/litesuits/orm/db/model/Property;
move v2, v5
goto :goto_36
.line 678
.end local v3 # "i$":Ljava/util/Iterator;
.end local v5 # "i":I
.restart local v2 # "i":I
:cond_4e
return-object v1
.line 680
.end local v1 # "args":[Ljava/lang/Object;
.end local v2 # "i":I
:cond_4f
const/4 v1, 0x0
return-object v1
.end method
.method private handleEntityRecursive(ILcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
.registers 21
.param p1, "type" # I
.param p2, "stmt" # Lcom/litesuits/orm/db/assit/SQLStatement;
.param p3, "obj1" # Ljava/lang/Object;
.param p4, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/litesuits/orm/db/assit/SQLStatement;",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)J"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 697
.local p5, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
move/from16 v0, p1
move-object/from16 v1, p2
move-object/from16 v8, p3
move-object/from16 v9, p4
move-object/from16 v10, p5
invoke-static/range {p3 .. p3}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v11
.line 698
.local v11, "table1":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v2, v11, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v2, v2, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v2, v8}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 701
.local v2, "key1":Ljava/lang/Object;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
iget-object v4, v11, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, 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-virtual {v10, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
if-eqz v3, :cond_30
.line 702
const-wide/16 v3, -0x1
return-wide v3
.line 705
:cond_30
const-wide/16 v3, -0x1
.line 706
.local v3, "rowID":J
const/4 v5, 0x3
const/4 v6, 0x1
if-eq v0, v6, :cond_4e
const/4 v7, 0x2
if-eq v0, v7, :cond_46
if-eq v0, v5, :cond_3e
move-object v12, v2
move-wide v13, v3
goto :goto_5c
.line 715
:cond_3e
invoke-virtual {v1, v9}, Lcom/litesuits/orm/db/assit/SQLStatement;->execDelete(Landroid/database/sqlite/SQLiteDatabase;)I
move-result v7
int-to-long v3, v7
.line 716
move-object v12, v2
move-wide v13, v3
goto :goto_5c
.line 712
:cond_46
invoke-virtual {v1, v9}, Lcom/litesuits/orm/db/assit/SQLStatement;->execUpdate(Landroid/database/sqlite/SQLiteDatabase;)I
move-result v7
int-to-long v3, v7
.line 713
move-object v12, v2
move-wide v13, v3
goto :goto_5c
.line 708
:cond_4e
invoke-virtual {v1, v9, v8}, Lcom/litesuits/orm/db/assit/SQLStatement;->execInsert(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/Object;)J
move-result-wide v3
.line 709
iget-object v7, v11, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v7, v7, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v7, v8}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 710
move-object v12, v2
move-wide v13, v3
.line 720
.end local v2 # "key1":Ljava/lang/Object;
.end local v3 # "rowID":J
.local v12, "key1":Ljava/lang/Object;
.local v13, "rowID":J
:goto_5c
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
iget-object v3, v11, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v10, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 722
if-eq v0, v5, :cond_77
goto :goto_79
:cond_77
const/4 v2, 0x0
const/4 v6, 0x0
.line 723
.local v6, "insertNew":Z
:goto_79
move-object v2, p0
move-object v3, v12
move-object/from16 v4, p3
move-object/from16 v5, p4
move-object/from16 v7, p5
invoke-direct/range {v2 .. v7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->handleMapping(Ljava/lang/Object;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.line 724
return-wide v13
.end method
.method private handleMapToMany(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/util/Collection;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.registers 13
.param p1, "table1" # Lcom/litesuits/orm/db/model/EntityTable;
.param p2, "table2" # Lcom/litesuits/orm/db/model/EntityTable;
.param p3, "key1" # Ljava/lang/Object;
.param p4, "coll" # Ljava/util/Collection;
.param p5, "db" # Landroid/database/sqlite/SQLiteDatabase;
.param p6, "insertNew" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/model/EntityTable;",
"Lcom/litesuits/orm/db/model/EntityTable;",
"Ljava/lang/Object;",
"Ljava/util/Collection;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Z",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 916
.local p7, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
if-eqz p4, :cond_1c
.line 921
invoke-interface {p4}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
.local v0, "i$":Ljava/util/Iterator;
:goto_6
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1c
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 922
.local v1, "obj2":Ljava/lang/Object;
if-eqz v1, :cond_1b
.line 924
if-eqz p6, :cond_18
.line 926
invoke-direct {p0, v1, p5, p7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndSaveRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
goto :goto_1b
.line 929
:cond_18
invoke-direct {p0, v1, p5, p7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndDeleteRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
.line 950
.end local v1 # "obj2":Ljava/lang/Object;
:cond_1b
:goto_1b
goto :goto_6
.line 953
.end local v0 # "i$":Ljava/util/Iterator;
:cond_1c
invoke-static {p1, p2}, Lcom/litesuits/orm/db/TableManager;->getMapTableName(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;)Ljava/lang/String;
move-result-object v0
.line 956
.local v0, "tableName":Ljava/lang/String;
iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
iget-object v2, p1, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
iget-object v3, p2, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v1, p5, v0, v2, v3}, Lcom/litesuits/orm/db/TableManager;->checkOrCreateMappingTable(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 957
invoke-static {v0, p3, p1}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildMappingDeleteSql(Ljava/lang/String;Ljava/lang/Object;Lcom/litesuits/orm/db/model/EntityTable;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v1
.line 958
.local v1, "delSql":Lcom/litesuits/orm/db/assit/SQLStatement;
invoke-virtual {v1, p5}, Lcom/litesuits/orm/db/assit/SQLStatement;->execDelete(Landroid/database/sqlite/SQLiteDatabase;)I
.line 962
if-eqz p6, :cond_56
invoke-static {p4}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v2
if-nez v2, :cond_56
.line 963
invoke-static {p3, p1, p2, p4}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildMappingToManySql(Ljava/lang/Object;Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/util/Collection;)Ljava/util/ArrayList;
move-result-object v2
.line 964
.local v2, "sqlList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lcom/litesuits/orm/db/assit/SQLStatement;>;"
invoke-static {v2}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v3
if-nez v3, :cond_56
.line 965
invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
.local v3, "i$":Ljava/util/Iterator;
:goto_46
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_56
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/litesuits/orm/db/assit/SQLStatement;
.line 966
.local v4, "sql":Lcom/litesuits/orm/db/assit/SQLStatement;
invoke-virtual {v4, p5}, Lcom/litesuits/orm/db/assit/SQLStatement;->execInsert(Landroid/database/sqlite/SQLiteDatabase;)J
.line 967
.end local v4 # "sql":Lcom/litesuits/orm/db/assit/SQLStatement;
goto :goto_46
.line 981
.end local v2 # "sqlList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lcom/litesuits/orm/db/assit/SQLStatement;>;"
.end local v3 # "i$":Ljava/util/Iterator;
:cond_56
return-void
.end method
.method private handleMapToOne(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.registers 12
.param p1, "table1" # Lcom/litesuits/orm/db/model/EntityTable;
.param p2, "table2" # Lcom/litesuits/orm/db/model/EntityTable;
.param p3, "key1" # Ljava/lang/Object;
.param p4, "obj2" # Ljava/lang/Object;
.param p5, "db" # Landroid/database/sqlite/SQLiteDatabase;
.param p6, "insertNew" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/model/EntityTable;",
"Lcom/litesuits/orm/db/model/EntityTable;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Z",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 880
.local p7, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
if-eqz p4, :cond_b
.line 882
if-eqz p6, :cond_8
.line 884
invoke-direct {p0, p4, p5, p7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndSaveRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
goto :goto_b
.line 887
:cond_8
invoke-direct {p0, p4, p5, p7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndDeleteRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
.line 891
:cond_b
:goto_b
invoke-static {p1, p2}, Lcom/litesuits/orm/db/TableManager;->getMapTableName(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;)Ljava/lang/String;
move-result-object v0
.line 894
.local v0, "mapTableName":Ljava/lang/String;
iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
iget-object v2, p1, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
iget-object v3, p2, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v1, p5, v0, v2, v3}, Lcom/litesuits/orm/db/TableManager;->checkOrCreateMappingTable(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 895
invoke-static {v0, p3, p1}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildMappingDeleteSql(Ljava/lang/String;Ljava/lang/Object;Lcom/litesuits/orm/db/model/EntityTable;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v1
.line 896
.local v1, "st":Lcom/litesuits/orm/db/assit/SQLStatement;
invoke-virtual {v1, p5}, Lcom/litesuits/orm/db/assit/SQLStatement;->execDelete(Landroid/database/sqlite/SQLiteDatabase;)I
.line 899
if-eqz p6, :cond_34
if-eqz p4, :cond_34
.line 900
iget-object v2, p2, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v2, v2, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v2, p4}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 901
.local v2, "key2":Ljava/lang/Object;
invoke-static {v0, p3, v2, p1, p2}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildMappingToOneSql(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v1
.line 902
if-eqz v1, :cond_34
.line 903
invoke-virtual {v1, p5}, Lcom/litesuits/orm/db/assit/SQLStatement;->execInsert(Landroid/database/sqlite/SQLiteDatabase;)J
.line 906
.end local v2 # "key2":Ljava/lang/Object;
:cond_34
return-void
.end method
.method private handleMapping(Ljava/lang/Object;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.registers 21
.param p1, "key1" # Ljava/lang/Object;
.param p2, "obj1" # Ljava/lang/Object;
.param p3, "db" # Landroid/database/sqlite/SQLiteDatabase;
.param p4, "insertNew" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Z",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 843
.local p5, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
move-object/from16 v0, p2
invoke-static/range {p2 .. p2}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v9
.line 845
.local v9, "table1":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, v9, Lcom/litesuits/orm/db/model/EntityTable;->mappingList:Ljava/util/ArrayList;
if-eqz v1, :cond_b8
.line 846
iget-object v1, v9, Lcom/litesuits/orm/db/model/EntityTable;->mappingList:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v10
.local v10, "i$":Ljava/util/Iterator;
:goto_10
invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_b8
invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
move-object v11, v1
check-cast v11, Lcom/litesuits/orm/db/model/MapProperty;
.line 847
.local v11, "map":Lcom/litesuits/orm/db/model/MapProperty;
invoke-virtual {v11}, Lcom/litesuits/orm/db/model/MapProperty;->isToOne()Z
move-result v1
if-eqz v1, :cond_44
.line 849
iget-object v1, v11, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
invoke-static {v1, v0}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v12
.line 850
.local v12, "obj2":Ljava/lang/Object;
iget-object v1, v11, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
invoke-virtual {v1}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v13
.line 851
.local v13, "table2":Lcom/litesuits/orm/db/model/EntityTable;
move-object v1, p0
move-object v2, v9
move-object v3, v13
move-object/from16 v4, p1
move-object v5, v12
move-object/from16 v6, p3
move/from16 v7, p4
move-object/from16 v8, p5
invoke-direct/range {v1 .. v8}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->handleMapToOne(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.end local v12 # "obj2":Ljava/lang/Object;
.end local v13 # "table2":Lcom/litesuits/orm/db/model/EntityTable;
goto/16 :goto_b5
.line 852
:cond_44
invoke-virtual {v11}, Lcom/litesuits/orm/db/model/MapProperty;->isToMany()Z
move-result v1
if-eqz v1, :cond_b5
.line 854
iget-object v1, v11, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
invoke-static {v1, v0}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v12
.line 855
.local v12, "array":Ljava/lang/Object;
iget-object v1, v11, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
invoke-virtual {v1}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/litesuits/orm/db/utils/ClassUtil;->isCollection(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_78
.line 856
iget-object v1, v11, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
invoke-static {v1}, Lcom/litesuits/orm/db/utils/FieldUtil;->getGenericType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v13
.line 857
.restart local v13 # "table2":Lcom/litesuits/orm/db/model/EntityTable;
move-object v5, v12
check-cast v5, Ljava/util/Collection;
move-object v1, p0
move-object v2, v9
move-object v3, v13
move-object/from16 v4, p1
move-object/from16 v6, p3
move/from16 v7, p4
move-object/from16 v8, p5
invoke-direct/range {v1 .. v8}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->handleMapToMany(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/util/Collection;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.line 858
.end local v13 # "table2":Lcom/litesuits/orm/db/model/EntityTable;
goto :goto_b6
:cond_78
iget-object v1, v11, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
invoke-virtual {v1}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/litesuits/orm/db/utils/ClassUtil;->isArray(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_ad
.line 859
iget-object v1, v11, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
invoke-static {v1}, Lcom/litesuits/orm/db/utils/FieldUtil;->getComponentType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v13
.line 860
.restart local v13 # "table2":Lcom/litesuits/orm/db/model/EntityTable;
const/4 v1, 0x0
.line 861
.local v1, "coll":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
if-eqz v12, :cond_9c
.line 863
move-object v2, v12
check-cast v2, [Ljava/lang/Object;
check-cast v2, [Ljava/lang/Object;
invoke-static {v2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v1
move-object v14, v1
goto :goto_9d
.line 861
:cond_9c
move-object v14, v1
.line 865
.end local v1 # "coll":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
.local v14, "coll":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
:goto_9d
move-object v1, p0
move-object v2, v9
move-object v3, v13
move-object/from16 v4, p1
move-object v5, v14
move-object/from16 v6, p3
move/from16 v7, p4
move-object/from16 v8, p5
invoke-direct/range {v1 .. v8}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->handleMapToMany(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/util/Collection;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.line 866
.end local v13 # "table2":Lcom/litesuits/orm/db/model/EntityTable;
.end local v14 # "coll":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
goto :goto_b6
.line 867
:cond_ad
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "OneToMany and ManyToMany Relation, you must use collection or array object"
invoke-direct {v1, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
.line 852
.end local v12 # "array":Ljava/lang/Object;
:cond_b5
:goto_b5
nop
.line 870
.end local v11 # "map":Lcom/litesuits/orm/db/model/MapProperty;
:goto_b6
goto/16 :goto_10
.line 872
.end local v10 # "i$":Ljava/util/Iterator;
:cond_b8
return-void
.end method
.method private insertCollection(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.registers 6
.param p2, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;",
"Lcom/litesuits/orm/db/model/ConflictAlgorithm;",
")I"
}
.end annotation
.line 555
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-static {p1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v0
if-nez v0, :cond_1e
.line 556
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 557
.local v0, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v1, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$10;
invoke-direct {v1, p0, p1, p2}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$10;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/util/Collection;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)V
invoke-static {v0, v1}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
.line 579
.local v1, "rowID":Ljava/lang/Integer;
if-eqz v1, :cond_1e
.line 580
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v2
return v2
.line 583
.end local v0 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v1 # "rowID":Ljava/lang/Integer;
:cond_1e
const/4 v0, -0x1
return v0
.end method
.method private insertRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)J
.registers 16
.param p1, "stmt" # Lcom/litesuits/orm/db/assit/SQLStatement;
.param p2, "obj1" # Ljava/lang/Object;
.param p3, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/assit/SQLStatement;",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)J"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 787
.local p4, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
invoke-static {p2}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 788
.local v0, "table1":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v1, v1, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v1, p2}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 791
.local v1, "key1":Ljava/lang/Object;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {p4, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_26
.line 792
const-wide/16 v2, -0x1
return-wide v2
.line 795
:cond_26
invoke-virtual {p1, p3, p2}, Lcom/litesuits/orm/db/assit/SQLStatement;->execInsert(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/Object;)J
move-result-wide v2
.line 796
.local v2, "rowID":J
iget-object v4, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v4, v4, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v4, p2}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 797
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
iget-object v5, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
const/4 v5, 0x1
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-virtual {p4, v4, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 801
const/4 v9, 0x1
move-object v5, p0
move-object v6, v1
move-object v7, p2
move-object v8, p3
move-object v10, p4
invoke-direct/range {v5 .. v10}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->handleMapping(Ljava/lang/Object;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.line 802
return-wide v2
.end method
.method public static declared-synchronized newInstance(Lcom/litesuits/orm/db/DataBaseConfig;)Lcom/litesuits/orm/LiteOrm;
.registers 3
.param p0, "config" # Lcom/litesuits/orm/db/DataBaseConfig;
const-class v0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
monitor-enter v0
.line 39
:try_start_3
new-instance v1, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;
invoke-direct {v1, p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;-><init>(Lcom/litesuits/orm/db/DataBaseConfig;)V
:try_end_8
.catchall {:try_start_3 .. :try_end_8} :catchall_a
monitor-exit v0
return-object v1
.end local p0 # "config":Lcom/litesuits/orm/db/DataBaseConfig;
:catchall_a
move-exception p0
monitor-exit v0
throw p0
.end method
.method private queryForMappingRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
.registers 20
.param p1, "obj1" # Ljava/lang/Object;
.param p2, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalAccessException;,
Ljava/lang/InstantiationException;
}
.end annotation
.line 375
.local p3, "queryMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
.local p4, "entityMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;"
move-object/from16 v8, p3
invoke-static/range {p1 .. p1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v9
.line 376
.local v9, "table1":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v0, v9, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
move-object/from16 v10, p1
invoke-static {v0, v10}, Lcom/litesuits/orm/db/utils/FieldUtil;->getAssignedKeyObject(Lcom/litesuits/orm/db/model/Primarykey;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v11
.line 377
.local v11, "key1":Ljava/lang/Object;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, v9, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v12
.line 378
.local v12, "key":Ljava/lang/String;
invoke-virtual {v8, v12}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_72
.line 379
const/4 v0, 0x1
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v8, v12, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 380
iget-object v0, v9, Lcom/litesuits/orm/db/model/EntityTable;->mappingList:Ljava/util/ArrayList;
if-eqz v0, :cond_72
.line 381
iget-object v0, v9, Lcom/litesuits/orm/db/model/EntityTable;->mappingList:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v13
.local v13, "i$":Ljava/util/Iterator;
:goto_37
invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_72
invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v14, v0
check-cast v14, Lcom/litesuits/orm/db/model/MapProperty;
.line 382
.local v14, "mp":Lcom/litesuits/orm/db/model/MapProperty;
invoke-virtual {v14}, Lcom/litesuits/orm/db/model/MapProperty;->isToOne()Z
move-result v0
if-eqz v0, :cond_5b
.line 383
iget-object v4, v14, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
move-object v0, p0
move-object v1, v9
move-object v2, v11
move-object/from16 v3, p1
move-object/from16 v5, p2
move-object/from16 v6, p3
move-object/from16 v7, p4
invoke-direct/range {v0 .. v7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->queryMapToOne(Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Field;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
goto :goto_71
.line 384
:cond_5b
invoke-virtual {v14}, Lcom/litesuits/orm/db/model/MapProperty;->isToMany()Z
move-result v0
if-eqz v0, :cond_71
.line 385
iget-object v4, v14, Lcom/litesuits/orm/db/model/MapProperty;->field:Ljava/lang/reflect/Field;
move-object v0, p0
move-object v1, v9
move-object v2, v11
move-object/from16 v3, p1
move-object/from16 v5, p2
move-object/from16 v6, p3
move-object/from16 v7, p4
invoke-direct/range {v0 .. v7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->queryMapToMany(Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Field;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
.line 387
.end local v14 # "mp":Lcom/litesuits/orm/db/model/MapProperty;
:cond_71
:goto_71
goto :goto_37
.line 390
.end local v13 # "i$":Ljava/util/Iterator;
:cond_72
return-void
.end method
.method private queryMapToMany(Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Field;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
.registers 32
.param p1, "table1" # Lcom/litesuits/orm/db/model/EntityTable;
.param p2, "key1" # Ljava/lang/Object;
.param p3, "obj1" # Ljava/lang/Object;
.param p4, "field" # Ljava/lang/reflect/Field;
.param p5, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/model/EntityTable;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"Ljava/lang/reflect/Field;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalAccessException;,
Ljava/lang/InstantiationException;
}
.end annotation
.line 436
.local p6, "queryMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
.local p7, "entityMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;"
move-object/from16 v6, p0
move-object/from16 v7, p1
move-object/from16 v8, p3
move-object/from16 v9, p4
move-object/from16 v10, p5
move-object/from16 v11, p7
const-class v0, Ljava/util/Collection;
invoke-virtual/range {p4 .. p4}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
const-string v12, "OneToMany and ManyToMany Relation, you must use collection or array object"
if-eqz v0, :cond_20
.line 437
invoke-static/range {p4 .. p4}, Lcom/litesuits/orm/db/utils/FieldUtil;->getGenericType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
move-result-object v0
move-object v13, v0
.local v0, "class2":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
goto :goto_2f
.line 438
.end local v0 # "class2":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
:cond_20
invoke-virtual/range {p4 .. p4}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_166
.line 439
invoke-static/range {p4 .. p4}, Lcom/litesuits/orm/db/utils/FieldUtil;->getComponentType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
move-result-object v0
move-object v13, v0
.line 444
.local v13, "class2":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
:goto_2f
invoke-static {v13}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v14
.line 445
.local v14, "table2":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v0, v6, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
iget-object v1, v7, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
iget-object v2, v14, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Lcom/litesuits/orm/db/TableManager;->isSQLMapTableCreated(Ljava/lang/String;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_163
.line 446
move-object/from16 v15, p2
invoke-static {v7, v14, v15}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildQueryRelationSql(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v5
.line 447
.local v5, "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
move-object v4, v0
.line 448
.local v4, "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
new-instance v0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$7;
invoke-direct {v0, v6, v4, v14}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$7;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/util/ArrayList;Lcom/litesuits/orm/db/model/EntityTable;)V
invoke-static {v10, v5, v0}, Lcom/litesuits/orm/db/assit/Querier;->doQuery(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/SQLStatement;Lcom/litesuits/orm/db/assit/Querier$CursorParser;)Ljava/lang/Object;
.line 454
invoke-static {v4}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v0
if-nez v0, :cond_15c
.line 455
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
move-object v3, v0
.line 456
.local v3, "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
.local v0, "i":I
:goto_65
if-ltz v0, :cond_8d
.line 457
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, v14, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v11, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 458
.local v1, "obj2":Ljava/lang/Object;
if-eqz v1, :cond_8a
.line 459
invoke-virtual {v3, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 460
invoke-virtual {v4, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
.line 456
.end local v1 # "obj2":Ljava/lang/Object;
:cond_8a
add-int/lit8 v0, v0, -0x1
goto :goto_65
.line 464
.end local v0 # "i":I
:cond_8d
const/4 v0, 0x0
.restart local v0 # "i":I
const/4 v1, 0x0
.line 465
.local v1, "start":I
:goto_8f
invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
move-result v2
if-ge v1, v2, :cond_f1
.line 466
add-int/lit8 v2, v0, 0x1
.end local v0 # "i":I
.local v2, "i":I
mul-int/lit16 v0, v2, 0x3e7
.line 467
.local v0, "next":I
move/from16 v16, v2
.end local v2 # "i":I
.local v16, "i":I
invoke-virtual {v4}, Ljava/util/ArrayList;->size()I
move-result v2
invoke-static {v2, v0}, Ljava/lang/Math;->min(II)I
move-result v2
.line 468
.local v2, "end":I
invoke-virtual {v4, v1, v2}, Ljava/util/ArrayList;->subList(II)Ljava/util/List;
move-result-object v7
.line 469
.local v7, "subList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
move/from16 v17, v0
.line 471
.end local v1 # "start":I
.local v17, "start":I
invoke-static {v13}, Lcom/litesuits/orm/db/assit/QueryBuilder;->create(Ljava/lang/Class;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
move/from16 v18, v0
.end local v0 # "next":I
.local v18, "next":I
iget-object v0, v14, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v0, v0, Lcom/litesuits/orm/db/model/Primarykey;->column:Ljava/lang/String;
move/from16 v19, v2
.end local v2 # "end":I
.local v19, "end":I
invoke-interface {v7}, Ljava/util/List;->size()I
move-result v2
new-array v2, v2, [Ljava/lang/String;
invoke-interface {v7, v2}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v2
invoke-virtual {v1, v0, v2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereIn(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v0
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/QueryBuilder;->createStatement()Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v2
.line 476
.local v2, "entitySql":Lcom/litesuits/orm/db/assit/SQLStatement;
new-instance v1, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$8;
move-object v0, v1
move-object/from16 v20, v7
move-object v7, v1
.end local v7 # "subList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
.local v20, "subList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
move-object/from16 v1, p0
move-object v15, v2
.end local v2 # "entitySql":Lcom/litesuits/orm/db/assit/SQLStatement;
.local v15, "entitySql":Lcom/litesuits/orm/db/assit/SQLStatement;
move-object v2, v13
move-object/from16 v21, v3
.end local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.local v21, "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
move-object v3, v14
move-object/from16 v22, v4
.end local v4 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.local v22, "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
move-object/from16 v4, v21
move-object/from16 v23, v5
.end local v5 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
.local v23, "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
move-object/from16 v5, p7
invoke-direct/range {v0 .. v5}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$8;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Class;Lcom/litesuits/orm/db/model/EntityTable;Ljava/util/ArrayList;Ljava/util/HashMap;)V
invoke-static {v10, v15, v7}, Lcom/litesuits/orm/db/assit/Querier;->doQuery(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/SQLStatement;Lcom/litesuits/orm/db/assit/Querier$CursorParser;)Ljava/lang/Object;
.line 485
.end local v15 # "entitySql":Lcom/litesuits/orm/db/assit/SQLStatement;
.end local v18 # "next":I
.end local v20 # "subList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
move-object/from16 v7, p1
move-object/from16 v15, p2
move/from16 v0, v16
move/from16 v1, v17
move-object/from16 v3, v21
move-object/from16 v4, v22
move-object/from16 v5, v23
goto :goto_8f
.line 486
.end local v16 # "i":I
.end local v17 # "start":I
.end local v19 # "end":I
.end local v21 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.end local v22 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.end local v23 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
.local v0, "i":I
.restart local v1 # "start":I
.restart local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.restart local v4 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.restart local v5 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
:cond_f1
move-object/from16 v21, v3
move-object/from16 v22, v4
move-object/from16 v23, v5
.end local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.end local v4 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.end local v5 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
.restart local v21 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.restart local v22 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.restart local v23 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
invoke-static/range {v21 .. v21}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v2
if-nez v2, :cond_157
.line 487
const-class v2, Ljava/util/Collection;
invoke-virtual/range {p4 .. p4}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v2
if-eqz v2, :cond_118
.line 488
invoke-static/range {p4 .. p4}, Lcom/litesuits/orm/db/utils/ClassUtil;->newCollectionForField(Ljava/lang/reflect/Field;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Collection;
.line 489
.local v2, "coll":Ljava/util/Collection;
move-object/from16 v3, v21
.end local v21 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.restart local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
invoke-interface {v2, v3}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z
.line 490
invoke-static {v9, v8, v2}, Lcom/litesuits/orm/db/utils/FieldUtil;->set(Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;)V
.line 491
.end local v2 # "coll":Ljava/util/Collection;
goto :goto_138
.end local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.restart local v21 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
:cond_118
move-object/from16 v3, v21
.end local v21 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.restart local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
invoke-virtual/range {p4 .. p4}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->isArray()Z
move-result v2
if-eqz v2, :cond_14f
.line 492
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v2
invoke-static {v13, v2}, Lcom/litesuits/orm/db/utils/ClassUtil;->newArray(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v2
check-cast v2, [Ljava/lang/Object;
check-cast v2, [Ljava/lang/Object;
.line 493
.local v2, "arrObj":[Ljava/lang/Object;
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v2
.line 494
invoke-static {v9, v8, v2}, Lcom/litesuits/orm/db/utils/FieldUtil;->set(Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;)V
.line 495
.end local v2 # "arrObj":[Ljava/lang/Object;
nop
.line 499
:goto_138
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v2
.local v2, "i$":Ljava/util/Iterator;
:goto_13c
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_14c
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
.line 500
.local v4, "obj2":Ljava/lang/Object;
move-object/from16 v5, p6
invoke-direct {v6, v4, v10, v5, v11}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->queryForMappingRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
.line 501
.end local v4 # "obj2":Ljava/lang/Object;
goto :goto_13c
.line 499
:cond_14c
move-object/from16 v5, p6
goto :goto_165
.line 496
.end local v2 # "i$":Ljava/util/Iterator;
:cond_14f
move-object/from16 v5, p6
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v12}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 486
.end local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.restart local v21 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
:cond_157
move-object/from16 v5, p6
move-object/from16 v3, v21
.end local v21 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.restart local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
goto :goto_165
.line 454
.end local v0 # "i":I
.end local v1 # "start":I
.end local v3 # "allList2":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Object;>;"
.end local v22 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.end local v23 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
.local v4, "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.restart local v5 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
:cond_15c
move-object/from16 v22, v4
move-object/from16 v23, v5
move-object/from16 v5, p6
.end local v4 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.end local v5 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
.restart local v22 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.restart local v23 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
goto :goto_165
.line 445
.end local v22 # "key2List":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
.end local v23 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
:cond_163
move-object/from16 v5, p6
.line 505
:goto_165
return-void
.line 441
.end local v13 # "class2":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.end local v14 # "table2":Lcom/litesuits/orm/db/model/EntityTable;
:cond_166
move-object/from16 v5, p6
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, v12}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
goto :goto_16f
:goto_16e
throw v0
:goto_16f
goto :goto_16e
.end method
.method private queryMapToOne(Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Field;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
.registers 15
.param p1, "table1" # Lcom/litesuits/orm/db/model/EntityTable;
.param p2, "key1" # Ljava/lang/Object;
.param p3, "obj1" # Ljava/lang/Object;
.param p4, "field" # Ljava/lang/reflect/Field;
.param p5, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/model/EntityTable;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"Ljava/lang/reflect/Field;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalAccessException;,
Ljava/lang/InstantiationException;
}
.end annotation
.line 399
.local p6, "queryMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
.local p7, "entityMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;"
invoke-virtual {p4}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 400
.local v0, "table2":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mTableManager:Lcom/litesuits/orm/db/TableManager;
iget-object v2, p1, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v1, v2, v3}, Lcom/litesuits/orm/db/TableManager;->isSQLMapTableCreated(Ljava/lang/String;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_5b
.line 401
invoke-static {p1, v0, p2}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildQueryRelationSql(Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v1
.line 402
.local v1, "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
new-instance v2, Lcom/litesuits/orm/db/model/RelationKey;
invoke-direct {v2}, Lcom/litesuits/orm/db/model/RelationKey;-><init>()V
.line 403
.local v2, "relation":Lcom/litesuits/orm/db/model/RelationKey;
new-instance v3, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$6;
invoke-direct {v3, p0, v2, p1, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$6;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Lcom/litesuits/orm/db/model/RelationKey;Lcom/litesuits/orm/db/model/EntityTable;Lcom/litesuits/orm/db/model/EntityTable;)V
invoke-static {p5, v1, v3}, Lcom/litesuits/orm/db/assit/Querier;->doQuery(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/SQLStatement;Lcom/litesuits/orm/db/assit/Querier$CursorParser;)Ljava/lang/Object;
.line 411
invoke-virtual {v2}, Lcom/litesuits/orm/db/model/RelationKey;->isOK()Z
move-result v3
if-eqz v3, :cond_5b
.line 412
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
iget-object v4, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, v2, Lcom/litesuits/orm/db/model/RelationKey;->key2:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 413
.local v3, "key":Ljava/lang/String;
invoke-virtual {p7, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
.line 414
.local v4, "obj2":Ljava/lang/Object;
if-nez v4, :cond_53
.line 415
iget-object v5, v2, Lcom/litesuits/orm/db/model/RelationKey;->key2:Ljava/lang/String;
invoke-static {v0, v5}, Lcom/litesuits/orm/db/assit/SQLBuilder;->buildQueryMapEntitySql(Lcom/litesuits/orm/db/model/EntityTable;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/SQLStatement;
move-result-object v5
.line 416
.local v5, "entitySql":Lcom/litesuits/orm/db/assit/SQLStatement;
iget-object v6, v0, Lcom/litesuits/orm/db/model/EntityTable;->claxx:Ljava/lang/Class;
invoke-virtual {v5, p5, v6}, Lcom/litesuits/orm/db/assit/SQLStatement;->queryOneEntity(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object v4
.line 417
invoke-virtual {p7, v3, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 419
.end local v5 # "entitySql":Lcom/litesuits/orm/db/assit/SQLStatement;
:cond_53
if-eqz v4, :cond_5b
.line 420
invoke-static {p4, p3, v4}, Lcom/litesuits/orm/db/utils/FieldUtil;->set(Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;)V
.line 421
invoke-direct {p0, v4, p5, p6, p7}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->queryForMappingRecursive(Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;Ljava/util/HashMap;)V
.line 425
.end local v1 # "relationSql":Lcom/litesuits/orm/db/assit/SQLStatement;
.end local v2 # "relation":Lcom/litesuits/orm/db/model/RelationKey;
.end local v3 # "key":Ljava/lang/String;
.end local v4 # "obj2":Ljava/lang/Object;
:cond_5b
return-void
.end method
.method private saveCollection(Ljava/util/Collection;)I
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;)I"
}
.end annotation
.line 516
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-static {p1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v0
if-nez v0, :cond_1e
.line 517
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 518
.local v0, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v1, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$9;
invoke-direct {v1, p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$9;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/util/Collection;)V
invoke-static {v0, v1}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
.line 540
.local v1, "rowID":Ljava/lang/Integer;
if-eqz v1, :cond_1e
.line 541
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v2
return v2
.line 544
.end local v0 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v1 # "rowID":Ljava/lang/Integer;
:cond_1e
const/4 v0, -0x1
return v0
.end method
.method private updateCollection(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.registers 7
.param p2, "cvs" # Lcom/litesuits/orm/db/model/ColumnsValue;
.param p3, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;",
"Lcom/litesuits/orm/db/model/ColumnsValue;",
"Lcom/litesuits/orm/db/model/ConflictAlgorithm;",
")I"
}
.end annotation
.line 595
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-static {p1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v0
if-nez v0, :cond_1e
.line 596
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 597
.local v0, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v1, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;
invoke-direct {v1, p0, p1, p2, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$11;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)V
invoke-static {v0, v1}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
.line 618
.local v1, "rowID":Ljava/lang/Integer;
if-eqz v1, :cond_1e
.line 619
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v2
return v2
.line 622
.end local v0 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v1 # "rowID":Ljava/lang/Integer;
:cond_1e
const/4 v0, -0x1
return v0
.end method
.method private updateRecursive(Lcom/litesuits/orm/db/assit/SQLStatement;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;Ljava/util/HashMap;)I
.registers 15
.param p1, "stmt" # Lcom/litesuits/orm/db/assit/SQLStatement;
.param p2, "obj1" # Ljava/lang/Object;
.param p3, "db" # Landroid/database/sqlite/SQLiteDatabase;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/assit/SQLStatement;",
"Ljava/lang/Object;",
"Landroid/database/sqlite/SQLiteDatabase;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)I"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 736
.local p4, "handleMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;"
invoke-static {p2}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Object;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 737
.local v0, "table1":Lcom/litesuits/orm/db/model/EntityTable;
iget-object v1, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v1, v1, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v1, p2}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 740
.local v1, "key1":Ljava/lang/Object;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {p4, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_25
.line 741
const/4 v2, -0x1
return v2
.line 744
:cond_25
invoke-virtual {p1, p3}, Lcom/litesuits/orm/db/assit/SQLStatement;->execUpdate(Landroid/database/sqlite/SQLiteDatabase;)I
move-result v2
.line 745
.local v2, "rowID":I
iget-object v3, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v3, v3, Lcom/litesuits/orm/db/model/Primarykey;->field:Ljava/lang/reflect/Field;
invoke-static {v3, p2}, Lcom/litesuits/orm/db/utils/FieldUtil;->get(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 746
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
iget-object v4, v0, Lcom/litesuits/orm/db/model/EntityTable;->name:Ljava/lang/String;
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
const/4 v4, 0x1
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-virtual {p4, v3, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 749
const/4 v8, 0x1
move-object v4, p0
move-object v5, v1
move-object v6, p2
move-object v7, p3
move-object v9, p4
invoke-direct/range {v4 .. v9}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->handleMapping(Ljava/lang/Object;Ljava/lang/Object;Landroid/database/sqlite/SQLiteDatabase;ZLjava/util/HashMap;)V
.line 750
return v2
.end method
# virtual methods
.method public cascade()Lcom/litesuits/orm/LiteOrm;
.registers 1
.line 52
return-object p0
.end method
.method public delete(Lcom/litesuits/orm/db/assit/WhereBuilder;)I
.registers 7
.param p1, "where" # Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 246
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 248
:try_start_3
invoke-virtual {p1}, Lcom/litesuits/orm/db/assit/WhereBuilder;->getTableClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 249
.local v0, "table":Lcom/litesuits/orm/db/model/EntityTable;
invoke-virtual {p1}, Lcom/litesuits/orm/db/assit/WhereBuilder;->getTableClass()Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->create(Ljava/lang/Class;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/String;
const/4 v3, 0x0
iget-object v4, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v4, v4, Lcom/litesuits/orm/db/model/Primarykey;->column:Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v1, v2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns([Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->where(Lcom/litesuits/orm/db/assit/WhereBuilder;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->query(Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
move-result-object v1
.line 253
.local v1, "list":Ljava/util/List;, "Ljava/util/List<*>;"
invoke-direct {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->deleteCollectionIfTableHasCreated(Ljava/util/Collection;)I
:try_end_2c
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_2c} :catch_30
.catchall {:try_start_3 .. :try_end_2c} :catchall_2e
.line 257
nop
.end local v0 # "table":Lcom/litesuits/orm/db/model/EntityTable;
.end local v1 # "list":Ljava/util/List;, "Ljava/util/List<*>;"
goto :goto_35
:catchall_2e
move-exception v0
goto :goto_3b
.line 254
:catch_30
move-exception v0
.line 255
.local v0, "e":Ljava/lang/Exception;
:try_start_31
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_34
.catchall {:try_start_31 .. :try_end_34} :catchall_2e
.line 257
.end local v0 # "e":Ljava/lang/Exception;
nop
:goto_35
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 258
nop
.line 259
const/4 v0, -0x1
return v0
.line 257
:goto_3b
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public delete(Ljava/lang/Class;)I
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)I"
}
.end annotation
.line 212
.local p1, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-virtual {p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->deleteAll(Ljava/lang/Class;)I
move-result v0
return v0
.end method
.method public delete(Ljava/lang/Class;JJLjava/lang/String;)I
.registers 12
.param p2, "start" # J
.param p4, "end" # J
.param p6, "orderAscColumn" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;JJ",
"Ljava/lang/String;",
")I"
}
.end annotation
.line 280
.local p1, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 282
const-wide/16 v0, 0x0
cmp-long v2, p2, v0
if-ltz v2, :cond_5f
cmp-long v2, p4, p2
if-ltz v2, :cond_5f
.line 286
cmp-long v2, p2, v0
if-eqz v2, :cond_14
.line 287
const-wide/16 v0, 0x1
sub-long/2addr p2, v0
.line 289
:cond_14
const-wide/32 v0, 0x7fffffff
cmp-long v2, p4, v0
if-nez v2, :cond_1e
const-wide/16 v0, -0x1
goto :goto_20
:cond_1e
sub-long v0, p4, p2
:goto_20
move-wide p4, v0
.line 290
:try_start_21
invoke-static {p1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 291
.local v0, "table":Lcom/litesuits/orm/db/model/EntityTable;
invoke-static {p1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->create(Ljava/lang/Class;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p2, p3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v3, ","
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p4, p5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->limit(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-virtual {v1, p6}, Lcom/litesuits/orm/db/assit/QueryBuilder;->appendOrderAscBy(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/String;
const/4 v3, 0x0
iget-object v4, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v4, v4, Lcom/litesuits/orm/db/model/Primarykey;->column:Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v1, v2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns([Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->query(Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
move-result-object v1
.line 296
.local v1, "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
invoke-virtual {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->delete(Ljava/util/Collection;)I
move-result v2
:try_end_5b
.catchall {:try_start_21 .. :try_end_5b} :catchall_68
.line 298
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v2
.line 283
.end local v0 # "table":Lcom/litesuits/orm/db/model/EntityTable;
.end local v1 # "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
:cond_5f
:try_start_5f
new-instance v0, Ljava/lang/RuntimeException;
const-string/jumbo v1, "start must >=0 and smaller than end"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
.end local p1 # "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
.end local p2 # "start":J
.end local p4 # "end":J
.end local p6 # "orderAscColumn":Ljava/lang/String;
throw v0
:try_end_68
.catchall {:try_start_5f .. :try_end_68} :catchall_68
.line 298
.restart local p1 # "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
.restart local p2 # "start":J
.restart local p4 # "end":J
.restart local p6 # "orderAscColumn":Ljava/lang/String;
:catchall_68
move-exception v0
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public delete(Ljava/lang/Class;Lcom/litesuits/orm/db/assit/WhereBuilder;)I
.registers 8
.param p2, "where" # Lcom/litesuits/orm/db/assit/WhereBuilder;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;",
"Lcom/litesuits/orm/db/assit/WhereBuilder;",
")I"
}
.end annotation
.line 231
.local p1, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 233
:try_start_3
invoke-static {p1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 234
.local v0, "table":Lcom/litesuits/orm/db/model/EntityTable;
invoke-static {p1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->create(Ljava/lang/Class;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/String;
const/4 v3, 0x0
iget-object v4, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v4, v4, Lcom/litesuits/orm/db/model/Primarykey;->column:Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v1, v2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns([Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->where(Lcom/litesuits/orm/db/assit/WhereBuilder;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->query(Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
move-result-object v1
.line 235
.local v1, "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
invoke-virtual {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->delete(Ljava/util/Collection;)I
:try_end_24
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_24} :catch_28
.catchall {:try_start_3 .. :try_end_24} :catchall_26
.line 239
nop
.end local v0 # "table":Lcom/litesuits/orm/db/model/EntityTable;
.end local v1 # "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
goto :goto_2d
:catchall_26
move-exception v0
goto :goto_33
.line 236
:catch_28
move-exception v0
.line 237
.local v0, "e":Ljava/lang/Exception;
:try_start_29
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_2c
.catchall {:try_start_29 .. :try_end_2c} :catchall_26
.line 239
.end local v0 # "e":Ljava/lang/Exception;
nop
:goto_2d
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 240
nop
.line 241
const/4 v0, -0x1
return v0
.line 239
:goto_33
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public delete(Ljava/lang/Object;)I
.registers 5
.param p1, "entity" # Ljava/lang/Object;
.line 189
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 191
:try_start_3
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 192
.local v0, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v1, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$4;
invoke-direct {v1, p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$4;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Object;)V
invoke-static {v0, v1}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
.line 199
.local v1, "rowID":Ljava/lang/Integer;
if-eqz v1, :cond_1e
.line 200
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v2
:try_end_1a
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_1a} :catch_21
.catchall {:try_start_3 .. :try_end_1a} :catchall_1f
.line 205
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v2
.line 199
.end local v0 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v1 # "rowID":Ljava/lang/Integer;
:cond_1e
goto :goto_25
.line 205
:catchall_1f
move-exception v0
goto :goto_2b
.line 202
:catch_21
move-exception v0
.line 203
.local v0, "e":Ljava/lang/Exception;
:try_start_22
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_25
.catchall {:try_start_22 .. :try_end_25} :catchall_1f
.line 205
.end local v0 # "e":Ljava/lang/Exception;
:goto_25
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 206
nop
.line 207
const/4 v0, -0x1
return v0
.line 205
:goto_2b
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public delete(Ljava/util/Collection;)I
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;)I"
}
.end annotation
.line 218
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 220
:try_start_3
invoke-direct {p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->deleteCollectionIfTableHasCreated(Ljava/util/Collection;)I
move-result v0
:try_end_7
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_7} :catch_d
.catchall {:try_start_3 .. :try_end_7} :catchall_b
.line 224
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v0
:catchall_b
move-exception v0
goto :goto_17
.line 221
:catch_d
move-exception v0
.line 222
.local v0, "e":Ljava/lang/Exception;
:try_start_e
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_11
.catchall {:try_start_e .. :try_end_11} :catchall_b
.line 224
.end local v0 # "e":Ljava/lang/Exception;
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 225
nop
.line 226
const/4 v0, -0x1
return v0
.line 224
:goto_17
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public deleteAll(Ljava/lang/Class;)I
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)I"
}
.end annotation
.line 264
.local p1, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 266
:try_start_3
invoke-static {p1}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 267
.local v0, "table":Lcom/litesuits/orm/db/model/EntityTable;
invoke-static {p1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->create(Ljava/lang/Class;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/String;
const/4 v3, 0x0
iget-object v4, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v4, v4, Lcom/litesuits/orm/db/model/Primarykey;->column:Ljava/lang/String;
aput-object v4, v2, v3
invoke-virtual {v1, v2}, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns([Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->query(Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
move-result-object v1
.line 268
.local v1, "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
invoke-virtual {p0, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->delete(Ljava/util/Collection;)I
move-result v2
:try_end_21
.catchall {:try_start_3 .. :try_end_21} :catchall_25
.line 270
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v2
.end local v0 # "table":Lcom/litesuits/orm/db/model/EntityTable;
.end local v1 # "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
:catchall_25
move-exception v0
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public insert(Ljava/util/Collection;)I
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;)I"
}
.end annotation
.line 112
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->insert(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
move-result v0
return v0
.end method
.method public insert(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.registers 4
.param p2, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;",
"Lcom/litesuits/orm/db/model/ConflictAlgorithm;",
")I"
}
.end annotation
.line 117
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 119
:try_start_3
invoke-direct {p0, p1, p2}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->insertCollection(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
move-result v0
:try_end_7
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_7} :catch_d
.catchall {:try_start_3 .. :try_end_7} :catchall_b
.line 123
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v0
:catchall_b
move-exception v0
goto :goto_17
.line 120
:catch_d
move-exception v0
.line 121
.local v0, "e":Ljava/lang/Exception;
:try_start_e
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_11
.catchall {:try_start_e .. :try_end_11} :catchall_b
.line 123
.end local v0 # "e":Ljava/lang/Exception;
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 124
nop
.line 125
const/4 v0, -0x1
return v0
.line 123
:goto_17
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public insert(Ljava/lang/Object;)J
.registers 4
.param p1, "entity" # Ljava/lang/Object;
.line 85
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->insert(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)J
move-result-wide v0
return-wide v0
.end method
.method public insert(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)J
.registers 7
.param p1, "entity" # Ljava/lang/Object;
.param p2, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.line 90
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 92
const-wide/16 v0, -0x1
:try_start_5
iget-object v2, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v2}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v2
.line 93
.local v2, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v3, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$2;
invoke-direct {v3, p0, p1, p2}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$2;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Object;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)V
invoke-static {v2, v3}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Long;
.line 101
.local v3, "rowID":Ljava/lang/Long;
if-nez v3, :cond_19
goto :goto_1d
:cond_19
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v0
:try_end_1d
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_1d} :catch_23
.catchall {:try_start_5 .. :try_end_1d} :catchall_21
.line 105
:goto_1d
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return-wide v0
.end local v2 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v3 # "rowID":Ljava/lang/Long;
:catchall_21
move-exception v0
goto :goto_2c
.line 102
:catch_23
move-exception v2
.line 103
.local v2, "e":Ljava/lang/Exception;
:try_start_24
invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V
:try_end_27
.catchall {:try_start_24 .. :try_end_27} :catchall_21
.line 105
.end local v2 # "e":Ljava/lang/Exception;
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 106
nop
.line 107
return-wide v0
.line 105
:goto_2c
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public query(Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;)",
"Ljava/util/ArrayList<",
"TT;>;"
}
.end annotation
.line 309
.local p1, "qb":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
invoke-virtual {p1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->getQueryClass()Ljava/lang/Class;
move-result-object v0
invoke-direct {p0, v0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndQuery(Ljava/lang/Class;Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
move-result-object v0
return-object v0
.end method
.method public query(Ljava/lang/Class;)Ljava/util/ArrayList;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)",
"Ljava/util/ArrayList<",
"TT;>;"
}
.end annotation
.line 304
.local p1, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
new-instance v0, Lcom/litesuits/orm/db/assit/QueryBuilder;
invoke-direct {v0, p1}, Lcom/litesuits/orm/db/assit/QueryBuilder;-><init>(Ljava/lang/Class;)V
invoke-direct {p0, p1, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndQuery(Ljava/lang/Class;Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
move-result-object v0
return-object v0
.end method
.method public queryById(JLjava/lang/Class;)Ljava/lang/Object;
.registers 5
.param p1, "id" # J
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(J",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.line 314
.local p3, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-static {p1, p2}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->queryById(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public queryById(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
.registers 7
.param p1, "id" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.line 319
.local p2, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-static {p2}, Lcom/litesuits/orm/db/TableManager;->getTable(Ljava/lang/Class;)Lcom/litesuits/orm/db/model/EntityTable;
move-result-object v0
.line 320
.local v0, "table":Lcom/litesuits/orm/db/model/EntityTable;
new-instance v1, Lcom/litesuits/orm/db/assit/QueryBuilder;
invoke-direct {v1, p2}, Lcom/litesuits/orm/db/assit/QueryBuilder;-><init>(Ljava/lang/Class;)V
iget-object v2, v0, Lcom/litesuits/orm/db/model/EntityTable;->key:Lcom/litesuits/orm/db/model/Primarykey;
iget-object v2, v2, Lcom/litesuits/orm/db/model/Primarykey;->column:Ljava/lang/String;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereEquals(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
move-result-object v1
invoke-direct {p0, p2, v1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->checkTableAndQuery(Ljava/lang/Class;Lcom/litesuits/orm/db/assit/QueryBuilder;)Ljava/util/ArrayList;
move-result-object v1
.line 322
.local v1, "list":Ljava/util/ArrayList;, "Ljava/util/ArrayList<TT;>;"
invoke-static {v1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/util/Collection;)Z
move-result v2
if-nez v2, :cond_25
.line 323
const/4 v2, 0x0
invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
return-object v2
.line 325
:cond_25
const/4 v2, 0x0
return-object v2
.end method
.method public save(Ljava/util/Collection;)I
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;)I"
}
.end annotation
.line 75
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 77
:try_start_3
invoke-direct {p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->saveCollection(Ljava/util/Collection;)I
move-result v0
:try_end_7
.catchall {:try_start_3 .. :try_end_7} :catchall_b
.line 79
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v0
:catchall_b
move-exception v0
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public save(Ljava/lang/Object;)J
.registers 6
.param p1, "entity" # Ljava/lang/Object;
.line 57
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 59
:try_start_3
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
.line 60
.local v0, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v1, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$1;
invoke-direct {v1, p0, p1}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$1;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Object;)V
invoke-static {v0, v1}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Long;
.line 67
.local v1, "rowID":Ljava/lang/Long;
if-nez v1, :cond_19
const-wide/16 v2, -0x1
goto :goto_1d
:cond_19
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v2
:try_end_1d
.catchall {:try_start_3 .. :try_end_1d} :catchall_21
.line 69
:goto_1d
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return-wide v2
.end local v0 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v1 # "rowID":Ljava/lang/Long;
:catchall_21
move-exception v0
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public single()Lcom/litesuits/orm/LiteOrm;
.registers 2
.line 44
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->otherDatabase:Lcom/litesuits/orm/LiteOrm;
if-nez v0, :cond_b
.line 45
new-instance v0, Lcom/litesuits/orm/db/impl/SingleSQLiteImpl;
invoke-direct {v0, p0}, Lcom/litesuits/orm/db/impl/SingleSQLiteImpl;-><init>(Lcom/litesuits/orm/LiteOrm;)V
iput-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->otherDatabase:Lcom/litesuits/orm/LiteOrm;
.line 47
:cond_b
iget-object v0, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->otherDatabase:Lcom/litesuits/orm/LiteOrm;
return-object v0
.end method
.method public update(Ljava/lang/Object;)I
.registers 3
.param p1, "entity" # Ljava/lang/Object;
.line 130
const/4 v0, 0x0
invoke-virtual {p0, p1, v0, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->update(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
move-result v0
return v0
.end method
.method public update(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.registers 7
.param p1, "entity" # Ljava/lang/Object;
.param p2, "cvs" # Lcom/litesuits/orm/db/model/ColumnsValue;
.param p3, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.line 140
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 142
const/4 v0, -0x1
:try_start_4
iget-object v1, p0, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->mHelper:Lcom/litesuits/orm/db/assit/SQLiteHelper;
invoke-virtual {v1}, Lcom/litesuits/orm/db/assit/SQLiteHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v1
.line 143
.local v1, "db":Landroid/database/sqlite/SQLiteDatabase;
new-instance v2, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$3;
invoke-direct {v2, p0, p1, p2, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl$3;-><init>(Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;Ljava/lang/Object;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)V
invoke-static {v1, v2}, Lcom/litesuits/orm/db/assit/Transaction;->execute(Landroid/database/sqlite/SQLiteDatabase;Lcom/litesuits/orm/db/assit/Transaction$Worker;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Integer;
.line 152
.local v2, "rowID":Ljava/lang/Integer;
if-nez v2, :cond_18
goto :goto_1c
:cond_18
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v0
:try_end_1c
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_1c} :catch_22
.catchall {:try_start_4 .. :try_end_1c} :catchall_20
.line 156
:goto_1c
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v0
.end local v1 # "db":Landroid/database/sqlite/SQLiteDatabase;
.end local v2 # "rowID":Ljava/lang/Integer;
:catchall_20
move-exception v0
goto :goto_2b
.line 153
:catch_22
move-exception v1
.line 154
.local v1, "e":Ljava/lang/Exception;
:try_start_23
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_26
.catchall {:try_start_23 .. :try_end_26} :catchall_20
.line 156
.end local v1 # "e":Ljava/lang/Exception;
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 157
nop
.line 158
return v0
.line 156
:goto_2b
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public update(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.registers 4
.param p1, "entity" # Ljava/lang/Object;
.param p2, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.line 135
const/4 v0, 0x0
invoke-virtual {p0, p1, v0, p2}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->update(Ljava/lang/Object;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
move-result v0
return v0
.end method
.method public update(Ljava/util/Collection;)I
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;)I"
}
.end annotation
.line 163
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
const/4 v0, 0x0
invoke-virtual {p0, p1, v0, v0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->update(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
move-result v0
return v0
.end method
.method public update(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.registers 5
.param p2, "cvs" # Lcom/litesuits/orm/db/model/ColumnsValue;
.param p3, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;",
"Lcom/litesuits/orm/db/model/ColumnsValue;",
"Lcom/litesuits/orm/db/model/ConflictAlgorithm;",
")I"
}
.end annotation
.line 173
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->acquireReference()V
.line 175
:try_start_3
invoke-direct {p0, p1, p2, p3}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->updateCollection(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
move-result v0
:try_end_7
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_7} :catch_d
.catchall {:try_start_3 .. :try_end_7} :catchall_b
.line 179
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
return v0
:catchall_b
move-exception v0
goto :goto_17
.line 176
:catch_d
move-exception v0
.line 177
.local v0, "e":Ljava/lang/Exception;
:try_start_e
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_11
.catchall {:try_start_e .. :try_end_11} :catchall_b
.line 179
.end local v0 # "e":Ljava/lang/Exception;
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
.line 180
nop
.line 181
const/4 v0, -0x1
return v0
.line 179
:goto_17
invoke-virtual {p0}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->releaseReference()V
throw v0
.end method
.method public update(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
.registers 4
.param p2, "conflictAlgorithm" # Lcom/litesuits/orm/db/model/ConflictAlgorithm;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;",
"Lcom/litesuits/orm/db/model/ConflictAlgorithm;",
")I"
}
.end annotation
.line 168
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
const/4 v0, 0x0
invoke-virtual {p0, p1, v0, p2}, Lcom/litesuits/orm/db/impl/CascadeSQLiteImpl;->update(Ljava/util/Collection;Lcom/litesuits/orm/db/model/ColumnsValue;Lcom/litesuits/orm/db/model/ConflictAlgorithm;)I
move-result v0
return v0
.end method