RandomStringUtils.smali
.class public Lorg/apache/commons/lang3/RandomStringUtils;
.super Ljava/lang/Object;
.source "RandomStringUtils.java"
# static fields
.field private static final RANDOM:Ljava/util/Random;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 43
new-instance v0, Ljava/util/Random;
invoke-direct {v0}, Ljava/util/Random;-><init>()V
sput-object v0, Lorg/apache/commons/lang3/RandomStringUtils;->RANDOM:Ljava/util/Random;
return-void
.end method
.method public constructor <init>()V
.registers 1
.prologue
.line 54
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 55
return-void
.end method
.method public static random(I)Ljava/lang/String;
.registers 2
.prologue
const/4 v0, 0x0
.line 69
invoke-static {p0, v0, v0}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IZZ)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static random(IIIZZ)Ljava/lang/String;
.registers 12
.prologue
.line 163
const/4 v5, 0x0
sget-object v6, Lorg/apache/commons/lang3/RandomStringUtils;->RANDOM:Ljava/util/Random;
move v0, p0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
invoke-static/range {v0 .. v6}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IIIZZ[CLjava/util/Random;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static varargs random(IIIZZ[C)Ljava/lang/String;
.registers 13
.prologue
.line 187
sget-object v6, Lorg/apache/commons/lang3/RandomStringUtils;->RANDOM:Ljava/util/Random;
move v0, p0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move-object v5, p5
invoke-static/range {v0 .. v6}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IIIZZ[CLjava/util/Random;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static random(IIIZZ[CLjava/util/Random;)Ljava/lang/String;
.registers 15
.prologue
const v7, 0xdc00
const v6, 0xd800
const/16 v5, 0x80
.line 225
if-nez p0, :cond_d
.line 226
const-string v0, ""
.line 292
:goto_c
return-object v0
.line 227
:cond_d
if-gez p0, :cond_2a
.line 228
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Requested random string length "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " is less than 0."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
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 230
:cond_2a
if-eqz p5, :cond_37
array-length v0, p5
if-nez v0, :cond_37
.line 231
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "The chars array must not be empty"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 234
:cond_37
if-nez p1, :cond_85
if-nez p2, :cond_85
.line 235
if-eqz p5, :cond_78
.line 236
array-length p2, p5
.line 251
:cond_3e
:goto_3e
new-array v2, p0, [C
.line 252
sub-int v3, p2, p1
.line 254
:goto_42
add-int/lit8 v1, p0, -0x1
if-eqz p0, :cond_de
.line 256
if-nez p5, :cond_ac
.line 257
invoke-virtual {p6, v3}, Ljava/util/Random;->nextInt(I)I
move-result v0
add-int/2addr v0, p1
int-to-char v0, v0
.line 261
:goto_4e
if-eqz p3, :cond_56
invoke-static {v0}, Ljava/lang/Character;->isLetter(C)Z
move-result v4
if-nez v4, :cond_62
:cond_56
if-eqz p4, :cond_5e
invoke-static {v0}, Ljava/lang/Character;->isDigit(C)Z
move-result v4
if-nez v4, :cond_62
:cond_5e
if-nez p3, :cond_da
if-nez p4, :cond_da
.line 264
:cond_62
if-lt v0, v7, :cond_b4
const v4, 0xdfff
if-gt v0, v4, :cond_b4
.line 265
if-eqz v1, :cond_da
.line 269
aput-char v0, v2, v1
.line 270
add-int/lit8 p0, v1, -0x1
.line 271
invoke-virtual {p6, v5}, Ljava/util/Random;->nextInt(I)I
move-result v0
add-int/2addr v0, v6
int-to-char v0, v0
aput-char v0, v2, p0
goto :goto_42
.line 238
:cond_78
if-nez p3, :cond_80
if-nez p4, :cond_80
.line 239
const p2, 0x7fffffff
goto :goto_3e
.line 241
:cond_80
const/16 p2, 0x7b
.line 242
const/16 p1, 0x20
goto :goto_3e
.line 246
:cond_85
if-gt p2, p1, :cond_3e
.line 247
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Parameter end ("
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ") must be greater than start ("
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ")"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
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 259
:cond_ac
invoke-virtual {p6, v3}, Ljava/util/Random;->nextInt(I)I
move-result v0
add-int/2addr v0, p1
aget-char v0, p5, v0
goto :goto_4e
.line 273
:cond_b4
if-lt v0, v6, :cond_cb
const v4, 0xdb7f
if-gt v0, v4, :cond_cb
.line 274
if-eqz v1, :cond_da
.line 278
invoke-virtual {p6, v5}, Ljava/util/Random;->nextInt(I)I
move-result v4
add-int/2addr v4, v7
int-to-char v4, v4
aput-char v4, v2, v1
.line 279
add-int/lit8 p0, v1, -0x1
.line 280
aput-char v0, v2, p0
goto/16 :goto_42
.line 282
:cond_cb
const v4, 0xdb80
if-lt v0, v4, :cond_d5
const v4, 0xdbff
if-le v0, v4, :cond_da
.line 286
:cond_d5
aput-char v0, v2, v1
move p0, v1
goto/16 :goto_42
.line 289
:cond_da
add-int/lit8 p0, v1, 0x1
.line 291
goto/16 :goto_42
.line 292
:cond_de
new-instance v0, Ljava/lang/String;
invoke-direct {v0, v2}, Ljava/lang/String;-><init>([C)V
goto/16 :goto_c
.end method
.method public static random(ILjava/lang/String;)Ljava/lang/String;
.registers 9
.prologue
const/4 v1, 0x0
.line 310
if-nez p1, :cond_f
.line 311
const/4 v5, 0x0
sget-object v6, Lorg/apache/commons/lang3/RandomStringUtils;->RANDOM:Ljava/util/Random;
move v0, p0
move v2, v1
move v3, v1
move v4, v1
invoke-static/range {v0 .. v6}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IIIZZ[CLjava/util/Random;)Ljava/lang/String;
move-result-object v0
.line 313
:goto_e
return-object v0
:cond_f
invoke-virtual {p1}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
invoke-static {p0, v0}, Lorg/apache/commons/lang3/RandomStringUtils;->random(I[C)Ljava/lang/String;
move-result-object v0
goto :goto_e
.end method
.method public static random(IZZ)Ljava/lang/String;
.registers 4
.prologue
const/4 v0, 0x0
.line 143
invoke-static {p0, v0, v0, p1, p2}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IIIZZ)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static varargs random(I[C)Ljava/lang/String;
.registers 9
.prologue
const/4 v1, 0x0
.line 329
if-nez p1, :cond_f
.line 330
const/4 v5, 0x0
sget-object v6, Lorg/apache/commons/lang3/RandomStringUtils;->RANDOM:Ljava/util/Random;
move v0, p0
move v2, v1
move v3, v1
move v4, v1
invoke-static/range {v0 .. v6}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IIIZZ[CLjava/util/Random;)Ljava/lang/String;
move-result-object v0
.line 332
:goto_e
return-object v0
:cond_f
array-length v2, p1
sget-object v6, Lorg/apache/commons/lang3/RandomStringUtils;->RANDOM:Ljava/util/Random;
move v0, p0
move v3, v1
move v4, v1
move-object v5, p1
invoke-static/range {v0 .. v6}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IIIZZ[CLjava/util/Random;)Ljava/lang/String;
move-result-object v0
goto :goto_e
.end method
.method public static randomAlphabetic(I)Ljava/lang/String;
.registers 3
.prologue
.line 97
const/4 v0, 0x1
const/4 v1, 0x0
invoke-static {p0, v0, v1}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IZZ)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static randomAlphanumeric(I)Ljava/lang/String;
.registers 2
.prologue
const/4 v0, 0x1
.line 111
invoke-static {p0, v0, v0}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IZZ)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static randomAscii(I)Ljava/lang/String;
.registers 4
.prologue
const/4 v2, 0x0
.line 83
const/16 v0, 0x20
const/16 v1, 0x7f
invoke-static {p0, v0, v1, v2, v2}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IIIZZ)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static randomNumeric(I)Ljava/lang/String;
.registers 3
.prologue
.line 125
const/4 v0, 0x0
const/4 v1, 0x1
invoke-static {p0, v0, v1}, Lorg/apache/commons/lang3/RandomStringUtils;->random(IZZ)Ljava/lang/String;
move-result-object v0
return-object v0
.end method