private Class<? extends ResourceGenerator> findResourceGenerator(
TreeLogger logger, TypeOracle typeOracle, JMethod method)
throws UnableToCompleteException {
JClassType resourceType = method.getReturnType().isClassOrInterface();
ResourceGeneratorType generatorType = resourceType.getAnnotation(ResourceGeneratorType.class);
if (generatorType == null) {
logger.log(TreeLogger.ERROR, "No @"
+ ResourceGeneratorType.class.getName()
+ " was specifed for resource type "
+ resourceType.getQualifiedSourceName());
throw new UnableToCompleteException();
}
String className = generatorType.value();
try {
return Class.forName(className).asSubclass(ResourceGenerator.class);
} catch (ClassCastException e) {
logger.log(TreeLogger.ERROR, className + " is not a "