package org.nutz.lang.random;
/**
* @author zozohtnt
* @author wendal(wendal1985@gmail.com)
*/
public class StringGenerator {
/**
*
* @param max
* 必须大于0
*/
public StringGenerator(int max) {
maxLen = max;
minLen = 1;
}
/**
*
* @param min
* 必须大于0
* @param max
* 必须不小于min
*/
public StringGenerator(int min, int max) {
maxLen = max;
minLen = min;
}
/**
* min length of the string
*/
private int maxLen;
/**
* max length of the string
*/
private int minLen;
/**
*
* @param min
* 必须大于0
* @param max
* 必须不小于min
*/
public void setup(int min, int max) {
minLen = min;
maxLen = max;
}
/**
* 根据设置的max和min的长度,生成随机字符串.
* <p/>
* 若max或min小于0,则返回null
*
* @return 生成的字符串
*/
public String next() {
if (maxLen <= 0 || minLen <= 0 || minLen > maxLen)
return null;
char[] buf = new char[R.random(minLen, maxLen)];
for (int i = 0; i < buf.length; i++)
buf[i] = CharGenerator.next();
return new String(buf);
}
}