in src/main/java/org/apache/commons/mail/EmailUtils.java [203:261]
private static String random(
int count,
int start,
int end,
final boolean letters,
final boolean numbers,
final char [] chars,
final Random random)
{
if (count == 0)
{
return "";
}
if (count < 0)
{
throw new IllegalArgumentException("Requested random string length " + count + " is less than 0.");
}
if (start == 0 && end == 0)
{
end = 'z' + 1;
start = ' ';
if (!letters && !numbers)
{
start = 0;
end = Integer.MAX_VALUE;
}
}
final StringBuilder buffer = new StringBuilder();
final int gap = end - start;
while (count-- != 0)
{
char ch;
if (chars == null)
{
ch = (char) (random.nextInt(gap) + start);
}
else
{
ch = chars[random.nextInt(gap) + start];
}
if (letters && numbers && Character.isLetterOrDigit(ch) || letters && Character.isLetter(ch)
|| numbers && Character.isDigit(ch) || !letters && !numbers)
{
buffer.append(ch);
}
else
{
count++;
}
}
return buffer.toString();
}