public final class org.apache.commons.text.RandomStringGenerator extends java.lang.Object
{
private final int minimumCodePoint;
private final int maximumCodePoint;
private final java.util.Set inclusivePredicates;
private final org.apache.commons.text.TextRandomProvider random;
private final java.util.List characterList;
public static org.apache.commons.text.RandomStringGenerator$Builder builder()
{
org.apache.commons.text.RandomStringGenerator$Builder v;
v = new org.apache.commons.text.RandomStringGenerator$Builder;
specialinvoke v.<org.apache.commons.text.RandomStringGenerator$Builder: void <init>()>();
return v;
}
private void <init>(int, int, java.util.Set, org.apache.commons.text.TextRandomProvider, java.util.List)
{
java.util.List v;
int v, v;
org.apache.commons.text.TextRandomProvider v;
java.util.Set v;
org.apache.commons.text.RandomStringGenerator v;
v := @this: org.apache.commons.text.RandomStringGenerator;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.util.Set;
v := @parameter: org.apache.commons.text.TextRandomProvider;
v := @parameter: java.util.List;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.commons.text.RandomStringGenerator: int minimumCodePoint> = v;
v.<org.apache.commons.text.RandomStringGenerator: int maximumCodePoint> = v;
v.<org.apache.commons.text.RandomStringGenerator: java.util.Set inclusivePredicates> = v;
v.<org.apache.commons.text.RandomStringGenerator: org.apache.commons.text.TextRandomProvider random> = v;
v.<org.apache.commons.text.RandomStringGenerator: java.util.List characterList> = v;
return;
}
public java.lang.String generate(int)
{
byte v;
int v, v, v, v, v;
java.lang.String v;
boolean v, v, v, v, v;
java.util.Iterator v;
java.util.Set v, v;
org.apache.commons.text.RandomStringGenerator v;
java.util.List v, v, v;
java.lang.Object v;
java.lang.StringBuilder v;
v := @this: org.apache.commons.text.RandomStringGenerator;
v := @parameter: int;
if v != 0 goto label;
return "";
label:
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.commons.lang.Validate: void isTrue(boolean,java.lang.String,long)>(v, "Length %d is smaller than zero.", v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
label:
v = v.<org.apache.commons.text.RandomStringGenerator: java.util.List characterList>;
if v == null goto label;
v = v.<org.apache.commons.text.RandomStringGenerator: java.util.List characterList>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.commons.text.RandomStringGenerator: java.util.List characterList>;
v = specialinvoke v.<org.apache.commons.text.RandomStringGenerator: int generateRandomNumber(java.util.List)>(v);
goto label;
label:
v = v.<org.apache.commons.text.RandomStringGenerator: int minimumCodePoint>;
v = v.<org.apache.commons.text.RandomStringGenerator: int maximumCodePoint>;
v = specialinvoke v.<org.apache.commons.text.RandomStringGenerator: int generateRandomNumber(int,int)>(v, v);
label:
v = staticinvoke <java.lang.Character: int getType(int)>(v);
lookupswitch(v)
{
case 0: goto label;
case 18: goto label;
case 19: goto label;
default: goto label;
};
label:
v = v.<org.apache.commons.text.RandomStringGenerator: java.util.Set inclusivePredicates>;
if v == null goto label;
v = 0;
v = v.<org.apache.commons.text.RandomStringGenerator: java.util.Set inclusivePredicates>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.commons.text.CharacterPredicate: boolean test(int)>(v);
if v == 0 goto label;
v = 1;
label:
if v == 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder appendCodePoint(int)>(v);
v = v - 1L;
label:
v = v cmp 0L;
if v != 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public java.lang.String generate(int, int)
{
java.lang.Object[] v;
org.apache.commons.text.RandomStringGenerator v;
java.lang.Integer v, v;
int v, v, v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.commons.text.RandomStringGenerator;
v := @parameter: int;
v := @parameter: int;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.commons.lang.Validate: void isTrue(boolean,java.lang.String,long)>(v, "Minimum length %d is smaller than zero.", v);
if v > v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
staticinvoke <org.apache.commons.lang.Validate: void isTrue(boolean,java.lang.String,java.lang.Object[])>(v, "Maximum length %d is smaller than minimum length %d.", v);
v = specialinvoke v.<org.apache.commons.text.RandomStringGenerator: int generateRandomNumber(int,int)>(v, v);
v = virtualinvoke v.<org.apache.commons.text.RandomStringGenerator: java.lang.String generate(int)>(v);
return v;
}
private int generateRandomNumber(int, int)
{
org.apache.commons.text.TextRandomProvider v, v;
org.apache.commons.text.RandomStringGenerator v;
java.util.concurrent.ThreadLocalRandom v;
int v, v, v, v, v, v, v, v;
v := @this: org.apache.commons.text.RandomStringGenerator;
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.commons.text.RandomStringGenerator: org.apache.commons.text.TextRandomProvider random>;
if v == null goto label;
v = v.<org.apache.commons.text.RandomStringGenerator: org.apache.commons.text.TextRandomProvider random>;
v = v - v;
v = v + 1;
v = interfaceinvoke v.<org.apache.commons.text.TextRandomProvider: int nextInt(int)>(v);
v = v + v;
return v;
label:
v = staticinvoke <java.util.concurrent.ThreadLocalRandom: java.util.concurrent.ThreadLocalRandom current()>();
v = v + 1;
v = virtualinvoke v.<java.util.concurrent.ThreadLocalRandom: int nextInt(int,int)>(v, v);
return v;
}
private int generateRandomNumber(java.util.List)
{
org.apache.commons.text.TextRandomProvider v, v;
org.apache.commons.text.RandomStringGenerator v;
java.util.List v;
java.util.concurrent.ThreadLocalRandom v;
int v, v, v, v, v;
java.lang.Object v, v;
java.lang.String v, v;
v := @this: org.apache.commons.text.RandomStringGenerator;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<org.apache.commons.text.RandomStringGenerator: org.apache.commons.text.TextRandomProvider random>;
if v == null goto label;
v = v.<org.apache.commons.text.RandomStringGenerator: org.apache.commons.text.TextRandomProvider random>;
v = interfaceinvoke v.<org.apache.commons.text.TextRandomProvider: int nextInt(int)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int codePointAt(int)>(0);
return v;
label:
v = staticinvoke <java.util.concurrent.ThreadLocalRandom: java.util.concurrent.ThreadLocalRandom current()>();
v = virtualinvoke v.<java.util.concurrent.ThreadLocalRandom: int nextInt(int,int)>(0, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int codePointAt(int)>(0);
return v;
}
}