Olá!
Estou utilizando uma fábrica que utiliza reflection para criar implementações específicas da interface Manager. Manager é uma interface genérica parametrizada (utiliza type parameter).public interface Manager <T extends Entity> {
. . .
}
public final class ManagerFactory {
. . .
/**
* Cria sob demanda a implementação de <tt>Manager</tt> definida
* para o tipo de <tt>Entity</tt>. . .
*/
public synchronized Manager getManager(final Class<? extends Entity> entity) {
. . .
Manager domainManager = null;
if (cache.containsKey(domainManagerClass)) {
return cache.get(domainManagerClass);
} else {
try {
domainManager = domainManagerClass.newInstance();
} catch (Exception ex) {
throw new ManagerFactoryException(ex);
}
cache.put(domainManagerClass, domainManager);
}
return domainManager;
}
}
Manager<Cliente> clientManager = ...
Manager clientManager = ...
Alguma luz?



