You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
770 B
Java
37 lines
770 B
Java
package org.gcube.gcat.utils;
|
|
|
|
import java.util.Random;
|
|
|
|
/**
|
|
* @author Lucio Lelii (ISTI - CNR)
|
|
*/
|
|
public class RandomString {
|
|
|
|
private static final char[] symbols;
|
|
|
|
static {
|
|
StringBuilder tmp = new StringBuilder();
|
|
for (char ch = '0'; ch <= '9'; ++ch)
|
|
tmp.append(ch);
|
|
for (char ch = 'a'; ch <= 'z'; ++ch)
|
|
tmp.append(ch);
|
|
symbols = tmp.toString().toCharArray();
|
|
}
|
|
|
|
private final Random random = new Random();
|
|
|
|
private final char[] buf;
|
|
|
|
public RandomString(int length) {
|
|
if (length < 1)
|
|
throw new IllegalArgumentException("length < 1: " + length);
|
|
buf = new char[length];
|
|
}
|
|
|
|
public String nextString() {
|
|
for (int idx = 0; idx < buf.length; ++idx)
|
|
buf[idx] = symbols[random.nextInt(symbols.length)];
|
|
return new String(buf);
|
|
}
|
|
}
|