QueryBuilder.smali
.class public Lcom/litesuits/orm/db/assit/QueryBuilder;
.super Ljava/lang/Object;
.source "QueryBuilder.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field public static final AND:Ljava/lang/String; = " AND "
.field public static final ASC:Ljava/lang/String; = " ASC"
.field public static final ASTERISK:Ljava/lang/String; = "*"
.field public static final COMMA:Ljava/lang/String; = ","
.field public static final COMMA_HOLDER:Ljava/lang/String; = ",?"
.field public static final DESC:Ljava/lang/String; = " DESC"
.field public static final DISTINCT:Ljava/lang/String; = " DISTINCT "
.field public static final EQUAL_HOLDER:Ljava/lang/String; = "=?"
.field public static final FROM:Ljava/lang/String; = " FROM "
.field public static final GROUP_BY:Ljava/lang/String; = " GROUP BY "
.field public static final HAVING:Ljava/lang/String; = " HAVING "
.field public static final LIMIT:Ljava/lang/String; = " LIMIT "
.field public static final OR:Ljava/lang/String; = " OR "
.field public static final ORDER_BY:Ljava/lang/String; = " ORDER BY "
.field public static final SELECT:Ljava/lang/String; = "SELECT "
.field public static final SELECT_COUNT:Ljava/lang/String; = "SELECT COUNT(*) FROM "
.field private static final limitPattern:Ljava/util/regex/Pattern;
# instance fields
.field protected clazz:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"TT;>;"
}
.end annotation
.end field
.field protected clazzMapping:Ljava/lang/Class;
.field protected columns:[Ljava/lang/String;
.field protected distinct:Z
.field protected group:Ljava/lang/String;
.field protected having:Ljava/lang/String;
.field protected limit:Ljava/lang/String;
.field protected order:Ljava/lang/String;
.field protected whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 14
const-string v0, "\\s*\\d+\\s*(,\\s*\\d+\\s*)?"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limitPattern:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>(Ljava/lang/Class;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"TT;>;)V"
}
.end annotation
.line 49
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
.local p1, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 50
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->clazz:Ljava/lang/Class;
.line 51
new-instance v0, Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-direct {v0, p1}, Lcom/litesuits/orm/db/assit/WhereBuilder;-><init>(Ljava/lang/Class;)V
iput-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 52
return-void
.end method
.method private static appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
.registers 4
.param p0, "s" # Ljava/lang/StringBuilder;
.param p1, "name" # Ljava/lang/String;
.param p2, "clause" # Ljava/lang/String;
.line 345
invoke-static {p2}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_c
.line 346
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 347
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 349
:cond_c
return-void
.end method
.method private static appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V
.registers 6
.param p0, "s" # Ljava/lang/StringBuilder;
.param p1, "columns" # [Ljava/lang/String;
.line 355
array-length v0, p1
.line 357
.local v0, "n":I
const/4 v1, 0x0
.local v1, "i":I
:goto_2
if-ge v1, v0, :cond_15
.line 358
aget-object v2, p1, v1
.line 360
.local v2, "column":Ljava/lang/String;
if-eqz v2, :cond_12
.line 361
if-lez v1, :cond_f
.line 362
const-string v3, ","
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 364
:cond_f
invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 357
.end local v2 # "column":Ljava/lang/String;
:cond_12
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 367
.end local v1 # "i":I
:cond_15
const-string v1, " "
invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 368
return-void
.end method
.method private buildWhereIn(Ljava/lang/String;I)Ljava/lang/String;
.registers 6
.param p1, "column" # Ljava/lang/String;
.param p2, "num" # I
.line 372
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, p1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
const-string v1, " IN (?"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 373
.local v0, "sb":Ljava/lang/StringBuilder;
const/4 v1, 0x1
.local v1, "i":I
:goto_c
if-ge v1, p2, :cond_16
.line 374
const-string v2, ",?"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 373
add-int/lit8 v1, v1, 0x1
goto :goto_c
.line 377
.end local v1 # "i":I
:cond_16
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.end method
.method public static create(Ljava/lang/Class;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 55
.local p0, "claxx":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
new-instance v0, Lcom/litesuits/orm/db/assit/QueryBuilder;
invoke-direct {v0, p0}, Lcom/litesuits/orm/db/assit/QueryBuilder;-><init>(Ljava/lang/Class;)V
return-object v0
.end method
# virtual methods
.method public appendColumns([Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 6
.param p1, "columns" # [Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 199
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns:[Ljava/lang/String;
if-eqz v0, :cond_18
.line 200
array-length v1, v0
array-length v2, p1
add-int/2addr v1, v2
new-array v1, v1, [Ljava/lang/String;
.line 201
.local v1, "newCols":[Ljava/lang/String;
array-length v2, v0
const/4 v3, 0x0
invoke-static {v0, v3, v1, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 202
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns:[Ljava/lang/String;
array-length v0, v0
array-length v2, p1
invoke-static {p1, v3, v1, v0, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 203
iput-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns:[Ljava/lang/String;
.line 204
.end local v1 # "newCols":[Ljava/lang/String;
goto :goto_1a
.line 205
:cond_18
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns:[Ljava/lang/String;
.line 207
:goto_1a
return-object p0
.end method
.method public appendOrderAscBy(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 5
.param p1, "column" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 241
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
const-string v1, " ASC"
if-nez v0, :cond_18
.line 242
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
goto :goto_33
.line 244
:cond_18
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
.line 246
:goto_33
return-object p0
.end method
.method public appendOrderDescBy(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 5
.param p1, "column" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 250
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
const-string v1, " DESC"
if-nez v0, :cond_18
.line 251
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
goto :goto_33
.line 253
:cond_18
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
.line 255
:goto_33
return-object p0
.end method
.method public columns([Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "columns" # [Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 189
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns:[Ljava/lang/String;
.line 190
return-object p0
.end method
.method public createStatement()Lcom/litesuits/orm/db/assit/SQLStatement;
.registers 4
.line 278
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->clazz:Ljava/lang/Class;
if-eqz v0, :cond_ba
.line 282
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->group:Ljava/lang/String;
invoke-static {v0}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1d
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->having:Ljava/lang/String;
invoke-static {v0}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_15
goto :goto_1d
.line 283
:cond_15
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "HAVING\u4ec5\u5141\u8bb8\u5728\u6709GroupBy\u7684\u65f6\u5019\u4f7f\u7528(HAVING clauses are only permitted when using a groupBy clause)"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 286
:cond_1d
:goto_1d
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limit:Ljava/lang/String;
invoke-static {v0}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_4d
sget-object v0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limitPattern:Ljava/util/regex/Pattern;
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limit:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_34
goto :goto_4d
.line 287
:cond_34
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "invalid LIMIT clauses:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limit: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-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 291
:cond_4d
:goto_4d
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x78
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
.line 293
.local v0, "query":Ljava/lang/StringBuilder;
const-string v1, "SELECT "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 294
iget-boolean v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->distinct:Z
if-eqz v1, :cond_62
.line 295
const-string v1, " DISTINCT "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 297
:cond_62
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns:[Ljava/lang/String;
invoke-static {v1}, Lcom/litesuits/orm/db/assit/Checker;->isEmpty([Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_70
.line 298
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->columns:[Ljava/lang/String;
invoke-static {v0, v1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V
goto :goto_75
.line 300
:cond_70
const-string v1, "*"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 302
:goto_75
const-string v1, " FROM "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/litesuits/orm/db/assit/QueryBuilder;->getTableName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 304
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v1}, Lcom/litesuits/orm/db/assit/WhereBuilder;->createWhereString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 306
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->group:Ljava/lang/String;
const-string v2, " GROUP BY "
invoke-static {v0, v2, v1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
.line 307
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->having:Ljava/lang/String;
const-string v2, " HAVING "
invoke-static {v0, v2, v1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
.line 308
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
const-string v2, " ORDER BY "
invoke-static {v0, v2, v1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
.line 309
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limit:Ljava/lang/String;
const-string v2, " LIMIT "
invoke-static {v0, v2, v1}, Lcom/litesuits/orm/db/assit/QueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
.line 311
new-instance v1, Lcom/litesuits/orm/db/assit/SQLStatement;
invoke-direct {v1}, Lcom/litesuits/orm/db/assit/SQLStatement;-><init>()V
.line 312
.local v1, "stmt":Lcom/litesuits/orm/db/assit/SQLStatement;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
iput-object v2, v1, Lcom/litesuits/orm/db/assit/SQLStatement;->sql:Ljava/lang/String;
.line 313
iget-object v2, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->transToStringArray()[Ljava/lang/String;
move-result-object v2
iput-object v2, v1, Lcom/litesuits/orm/db/assit/SQLStatement;->bindArgs:[Ljava/lang/Object;
.line 314
return-object v1
.line 279
.end local v0 # "query":Ljava/lang/StringBuilder;
.end local v1 # "stmt":Lcom/litesuits/orm/db/assit/SQLStatement;
:cond_ba
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "U Must Set A Query Entity Class By queryWho(Class) or QueryBuilder(Class)"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public createStatementForCount()Lcom/litesuits/orm/db/assit/SQLStatement;
.registers 4
.line 322
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x78
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
.line 323
.local v0, "query":Ljava/lang/StringBuilder;
const-string v1, "SELECT COUNT(*) FROM "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/litesuits/orm/db/assit/QueryBuilder;->getTableName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 324
new-instance v1, Lcom/litesuits/orm/db/assit/SQLStatement;
invoke-direct {v1}, Lcom/litesuits/orm/db/assit/SQLStatement;-><init>()V
.line 325
.local v1, "stmt":Lcom/litesuits/orm/db/assit/SQLStatement;
iget-object v2, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
if-eqz v2, :cond_2b
.line 326
invoke-virtual {v2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->createWhereString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 327
iget-object v2, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->transToStringArray()[Ljava/lang/String;
move-result-object v2
iput-object v2, v1, Lcom/litesuits/orm/db/assit/SQLStatement;->bindArgs:[Ljava/lang/Object;
.line 329
:cond_2b
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
iput-object v2, v1, Lcom/litesuits/orm/db/assit/SQLStatement;->sql:Ljava/lang/String;
.line 330
return-object v1
.end method
.method public distinct(Z)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "distinct" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z)",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 214
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-boolean p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->distinct:Z
.line 215
return-object p0
.end method
.method public getQueryClass()Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class<",
"TT;>;"
}
.end annotation
.line 46
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->clazz:Ljava/lang/Class;
return-object v0
.end method
.method public getTableName()Ljava/lang/String;
.registers 3
.line 334
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->clazzMapping:Ljava/lang/Class;
if-nez v0, :cond_b
.line 335
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->clazz:Ljava/lang/Class;
invoke-static {v0}, Lcom/litesuits/orm/db/TableManager;->getTableName(Ljava/lang/Class;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 337
:cond_b
iget-object v1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->clazz:Ljava/lang/Class;
invoke-static {v1, v0}, Lcom/litesuits/orm/db/TableManager;->getMapTableName(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getwhereBuilder()Lcom/litesuits/orm/db/assit/WhereBuilder;
.registers 2
.line 64
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
return-object v0
.end method
.method public groupBy(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "group" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 222
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->group:Ljava/lang/String;
.line 223
return-object p0
.end method
.method public having(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "having" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 230
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->having:Ljava/lang/String;
.line 231
return-object p0
.end method
.method public limit(II)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 5
.param p1, "start" # I
.param p2, "length" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 264
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limit:Ljava/lang/String;
.line 265
return-object p0
.end method
.method public limit(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "limit" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 259
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->limit:Ljava/lang/String;
.line 260
return-object p0
.end method
.method public orderBy(Ljava/lang/String;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "order" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 235
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->order:Ljava/lang/String;
.line 236
return-object p0
.end method
.method public queryMappingInfo(Ljava/lang/Class;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "clazzMapping" # Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 269
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->clazzMapping:Ljava/lang/Class;
.line 270
return-object p0
.end method
.method public where(Lcom/litesuits/orm/db/assit/WhereBuilder;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.param p1, "builder" # Lcom/litesuits/orm/db/assit/WhereBuilder;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/litesuits/orm/db/assit/WhereBuilder;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 59
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iput-object p1, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 60
return-object p0
.end method
.method public varargs where(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "where" # Ljava/lang/String;
.param p2, "whereArgs" # [Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 75
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->where(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 76
return-object p0
.end method
.method public varargs whereAnd(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "where" # Ljava/lang/String;
.param p2, "whereArgs" # [Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 101
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->and(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 102
return-object p0
.end method
.method public varargs whereAppend(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 5
.param p1, "where" # Ljava/lang/String;
.param p2, "whereArgs" # [Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 87
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
const/4 v1, 0x0
invoke-virtual {v0, v1, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->append(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 88
return-object p0
.end method
.method public whereAppendAnd()Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 123
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/WhereBuilder;->and()Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 124
return-object p0
.end method
.method public whereAppendNot()Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 139
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/WhereBuilder;->not()Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 140
return-object p0
.end method
.method public whereAppendOr()Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 131
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0}, Lcom/litesuits/orm/db/assit/WhereBuilder;->or()Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 132
return-object p0
.end method
.method public whereEquals(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "column" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 171
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->equals(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 172
return-object p0
.end method
.method public whereGreaterThan(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "column" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 155
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->greaterThan(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 156
return-object p0
.end method
.method public varargs whereIn(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "column" # Ljava/lang/String;
.param p2, "values" # [Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 179
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->in(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 180
return-object p0
.end method
.method public whereLessThan(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "column" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 163
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->lessThan(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 164
return-object p0
.end method
.method public whereNoEquals(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "column" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 147
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->noEquals(Ljava/lang/String;Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 148
return-object p0
.end method
.method public varargs whereOr(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/QueryBuilder;
.registers 4
.param p1, "where" # Ljava/lang/String;
.param p2, "whereArgs" # [Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")",
"Lcom/litesuits/orm/db/assit/QueryBuilder<",
"TT;>;"
}
.end annotation
.line 115
.local p0, "this":Lcom/litesuits/orm/db/assit/QueryBuilder;, "Lcom/litesuits/orm/db/assit/QueryBuilder<TT;>;"
iget-object v0, p0, Lcom/litesuits/orm/db/assit/QueryBuilder;->whereBuilder:Lcom/litesuits/orm/db/assit/WhereBuilder;
invoke-virtual {v0, p1, p2}, Lcom/litesuits/orm/db/assit/WhereBuilder;->or(Ljava/lang/String;[Ljava/lang/Object;)Lcom/litesuits/orm/db/assit/WhereBuilder;
.line 116
return-object p0
.end method