View Javadoc
1   package com.google.code.beanmatchers;
2   
3   import java.util.Map;
4   import java.util.concurrent.ConcurrentHashMap;
5   
6   class InMemoryValueGeneratorRepository implements ValueGeneratorRepository {
7   
8     private final Map<Class, ValueGenerator> valueGenerators =
9         new ConcurrentHashMap<Class, ValueGenerator>();
10  
11    public <T> void registerValueGenerator(ValueGenerator<T> generator, Class<T> type) {
12      valueGenerators.put(type, generator);
13    }
14  
15    public <T> void registerValueGenerator(
16        ValueGenerator<T> generator, Class<T> type, Class<T> extraType) {
17      registerValueGenerator(generator, type);
18      registerValueGenerator(generator, extraType);
19    }
20  
21    @SuppressWarnings("unchecked")
22    public <T> ValueGenerator<T> retrieveValueGenerator(Class<T> type) {
23      return valueGenerators.get(type);
24    }
25  }