package org.radargun.stages.cache.generators;
import java.util.Random;
import org.radargun.config.DefinitionElement;
/**
* @author Radim Vansa <rvansa@redhat.com>
*/
@DefinitionElement(name = "byte-array", doc = "Generates random byte arrays.")
public class ByteArrayValueGenerator implements ValueGenerator {
@Override
public Object generateValue(Object key, int size, Random random) {
return generateArray(size, random);
}
@Override
public int sizeOf(Object value) {
return ((byte[]) value).length;
}
@Override
public boolean checkValue(Object value, Object key, int expectedSize) {
return value instanceof byte[] && (expectedSize <= 0 || ((byte[]) value).length == expectedSize);
}
public static byte[] generateArray(int size, Random random) {
byte[] array = new byte[size];
random.nextBytes(array);
return array;
}
}