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 }