package edu.uw.zookeeper.client.random;
import static com.google.common.base.Preconditions.*;
import java.util.Random;
import edu.uw.zookeeper.common.Generator;
public class RandomData implements Generator<byte[]> {
public static RandomData create(Random random, int minLength, int lengthRange) {
return new RandomData(random, minLength, lengthRange);
}
protected final Random random;
protected final int minLength;
protected final int lengthRange;
protected RandomData(Random random, int minLength, int lengthRange) {
this.random = checkNotNull(random);
checkArgument(minLength >= 0);
checkArgument(lengthRange >= 0);
this.minLength = minLength;
this.lengthRange = lengthRange + 1;
}
@Override
public byte[] next() {
int length = random.nextInt(lengthRange) + minLength;
byte[] bytes = new byte[length];
random.nextBytes(bytes);
return bytes;
}
}