.class public Lorg/greenrobot/greendao/internal/SqlUtils; .super Ljava/lang/Object; .source "SqlUtils.java" # static fields .field private static final HEX_ARRAY:[C # direct methods .method static constructor ()V .registers 1 .line 23 const-string v0, "0123456789ABCDEF" invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C move-result-object v0 sput-object v0, Lorg/greenrobot/greendao/internal/SqlUtils;->HEX_ARRAY:[C return-void .end method .method public constructor ()V .registers 1 .line 22 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static appendColumn(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder; .registers 4 const/16 v0, 0x22 .line 34 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; return-object p0 .end method .method public static appendColumn(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; .registers 4 .line 39 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string v0, ".\"" invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const/16 p2, 0x22 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; return-object p0 .end method .method public static appendColumns(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/StringBuilder; .registers 6 .line 44 array-length v0, p2 const/4 v1, 0x0 :goto_2 if-ge v1, v0, :cond_15 .line 46 aget-object v2, p2, v1 invoke-static {p0, p1, v2}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumn(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; add-int/lit8 v2, v0, -0x1 if-ge v1, v2, :cond_12 const/16 v2, 0x2c .line 48 invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; :cond_12 add-int/lit8 v1, v1, 0x1 goto :goto_2 :cond_15 return-object p0 .end method .method public static appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)Ljava/lang/StringBuilder; .registers 7 .line 55 array-length v0, p1 const/4 v1, 0x0 :goto_2 if-ge v1, v0, :cond_1f const/16 v2, 0x22 .line 57 invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v3 aget-object v4, p1, v1 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; add-int/lit8 v2, v0, -0x1 if-ge v1, v2, :cond_1c const/16 v2, 0x2c .line 59 invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; :cond_1c add-int/lit8 v1, v1, 0x1 goto :goto_2 :cond_1f return-object p0 .end method .method public static appendColumnsEqValue(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/StringBuilder; .registers 6 const/4 v0, 0x0 .line 87 :goto_1 array-length v1, p2 if-ge v0, v1, :cond_1c .line 88 aget-object v1, p2, v0 invoke-static {p0, p1, v1}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumn(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, "=?" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 89 array-length v1, p2 add-int/lit8 v1, v1, -0x1 if-ge v0, v1, :cond_19 const/16 v1, 0x2c .line 90 invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; :cond_19 add-int/lit8 v0, v0, 0x1 goto :goto_1 :cond_1c return-object p0 .end method .method public static appendColumnsEqualPlaceholders(Ljava/lang/StringBuilder;[Ljava/lang/String;)Ljava/lang/StringBuilder; .registers 5 const/4 v0, 0x0 .line 77 :goto_1 array-length v1, p1 if-ge v0, v1, :cond_1c .line 78 aget-object v1, p1, v0 invoke-static {p0, v1}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumn(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, "=?" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 79 array-length v1, p1 add-int/lit8 v1, v1, -0x1 if-ge v0, v1, :cond_19 const/16 v1, 0x2c .line 80 invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; :cond_19 add-int/lit8 v0, v0, 0x1 goto :goto_1 :cond_1c return-object p0 .end method .method public static appendPlaceholders(Ljava/lang/StringBuilder;I)Ljava/lang/StringBuilder; .registers 4 const/4 v0, 0x0 :goto_1 if-ge v0, p1, :cond_15 add-int/lit8 v1, p1, -0x1 if-ge v0, v1, :cond_d .line 68 const-string v1, "?," invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_12 :cond_d const/16 v1, 0x3f .line 70 invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; :goto_12 add-int/lit8 v0, v0, 0x1 goto :goto_1 :cond_15 return-object p0 .end method .method public static appendProperty(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/greenrobot/greendao/Property;)Ljava/lang/StringBuilder; .registers 4 if-eqz p1, :cond_b .line 27 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const/16 v0, 0x2e invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; :cond_b const/16 p1, 0x22 .line 29 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v0 iget-object p2, p2, Lorg/greenrobot/greendao/Property;->columnName:Ljava/lang/String; invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; return-object p0 .end method .method public static createSqlCount(Ljava/lang/String;)Ljava/lang/String; .registers 3 .line 151 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "SELECT COUNT(*) FROM \"" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const/16 v0, 0x22 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static createSqlDelete(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String; .registers 4 .line 130 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "\"" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const/16 v0, 0x22 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 .line 131 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "DELETE FROM " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 132 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz p1, :cond_2c .line 133 array-length v1, p1 if-lez v1, :cond_2c .line 134 const-string v1, " WHERE " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 135 invoke-static {v0, p0, p1}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumnsEqValue(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/StringBuilder; .line 137 :cond_2c invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static createSqlInsert(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String; .registers 4 .line 97 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, p0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V const/16 p0, 0x22 .line 98 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const-string p1, "\" (" invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 99 invoke-static {v0, p2}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)Ljava/lang/StringBuilder; .line 100 const-string p0, ") VALUES (" invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 101 array-length p0, p2 invoke-static {v0, p0}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendPlaceholders(Ljava/lang/StringBuilder;I)Ljava/lang/StringBuilder; const/16 p0, 0x29 .line 102 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 103 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static createSqlSelect(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Z)Ljava/lang/String; .registers 5 if-eqz p1, :cond_3d .line 108 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 if-ltz v0, :cond_3d .line 112 new-instance v0, Ljava/lang/StringBuilder; if-eqz p3, :cond_f const-string p3, "SELECT DISTINCT " goto :goto_11 :cond_f const-string p3, "SELECT " :goto_11 invoke-direct {v0, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 113 invoke-static {v0, p1, p2}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumns(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 const-string p3, " FROM " invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const/16 p2, 0x22 .line 114 invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 const/16 p2, 0x20 invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 115 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .line 109 :cond_3d new-instance p0, Lorg/greenrobot/greendao/DaoException; const-string p1, "Table alias required" invoke-direct {p0, p1}, Lorg/greenrobot/greendao/DaoException;->(Ljava/lang/String;)V throw p0 .end method .method public static createSqlSelectCountStar(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .registers 4 .line 120 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "SELECT COUNT(*) FROM \"" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 121 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const-string v1, "\" " invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz p1, :cond_1b .line 123 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const/16 p1, 0x20 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 125 :cond_1b invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static createSqlUpdate(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String; .registers 6 .line 141 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "\"" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const/16 v0, 0x22 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 .line 142 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "UPDATE " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 143 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, " SET " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 144 invoke-static {v0, p1}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumnsEqualPlaceholders(Ljava/lang/StringBuilder;[Ljava/lang/String;)Ljava/lang/StringBuilder; .line 145 const-string p1, " WHERE " invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 146 invoke-static {v0, p0, p2}, Lorg/greenrobot/greendao/internal/SqlUtils;->appendColumnsEqValue(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/StringBuilder; .line 147 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static escapeBlobArgument([B)Ljava/lang/String; .registers 3 .line 155 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "X\'" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-static {p0}, Lorg/greenrobot/greendao/internal/SqlUtils;->toHex([B)Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const/16 v0, 0x27 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static toHex([B)Ljava/lang/String; .registers 7 .line 159 array-length v0, p0 mul-int/lit8 v0, v0, 0x2 new-array v0, v0, [C const/4 v1, 0x0 .line 160 :goto_6 array-length v2, p0 if-ge v1, v2, :cond_22 .line 161 aget-byte v2, p0, v1 and-int/lit16 v3, v2, 0xff mul-int/lit8 v4, v1, 0x2 .line 162 sget-object v5, Lorg/greenrobot/greendao/internal/SqlUtils;->HEX_ARRAY:[C ushr-int/lit8 v3, v3, 0x4 aget-char v3, v5, v3 aput-char v3, v0, v4 add-int/lit8 v4, v4, 0x1 and-int/lit8 v2, v2, 0xf .line 163 aget-char v2, v5, v2 aput-char v2, v0, v4 add-int/lit8 v1, v1, 0x1 goto :goto_6 .line 165 :cond_22 new-instance p0, Ljava/lang/String; invoke-direct {p0, v0}, Ljava/lang/String;->([C)V return-object p0 .end method