/**
* Class for generating random Strings.
*
* @author Thibault Helsmoortel
*/
public final class RandomStringGenerator {
public static final String NUM = "0123456789";
private static final String AB_FULL = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
private static final String AB_NONUM = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static Random rnd = new Random();
/**
* Returns a random alphanumeric String.
*
* @param length the length of the String
* @return the random alphanumeric String
*/
public static String randomAlphaNumericString(int length) {
return getRandomString(length, AB_FULL).toString();
}
/**
* Returns a random String (excluding numerical values).
*
* @param length the length of the String
* @return the random String
*/
public static String randomString(int length) {
return getRandomString(length, AB_NONUM).toString();
}
/**
* Returns a random numeric String.
*
* @param length the length of the String
* @return the random String
*/
public static String randomNumericString(int length) {
return getRandomString(length, NUM).toString();
}
/**
* Returns a StringBuilder instance with a random value, based on length and base String.
*
* @param length the length of the StringBuilder
* @param base the base String
* @return a random StringBuilder
*/
private static StringBuilder getRandomString(int length, String base) {
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++)
sb.append(base.charAt(rnd.nextInt(base.length())));
return sb;
}
}
Comments