View Javadoc
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  }