1 package com.google.code.beanmatchers; 2 3 import java.lang.reflect.Array; 4 5 class ArrayTypeBasedValueGenerator implements TypeBasedValueGenerator { 6 private static final int ARRAY_GENERATION_SIZE = 3; 7 8 private TypeBasedValueGenerator typeBaseValueGenerator; 9 10 public <T> T generate(Class<T> type) { 11 T array = (T) Array.newInstance(type.getComponentType(), ARRAY_GENERATION_SIZE); 12 for (int i = 0; i < ARRAY_GENERATION_SIZE; i++) { 13 Array.set(array, i, typeBaseValueGenerator.generate(type.getComponentType())); 14 } 15 return array; 16 } 17 18 public void setTypeBaseValueGenerator(TypeBasedValueGenerator typeBaseValueGenerator) { 19 this.typeBaseValueGenerator = typeBaseValueGenerator; 20 } 21 }