String locale = getLocale(logger, context.getGeneratorContext());
checkForDeprecatedAnnotations(logger, method);
boolean error = false;
Source resourceAnnotation = method.getAnnotation(Source.class);
URL[] toReturn;
if (resourceAnnotation == null) {
if (defaultSuffixes != null) {
for (String extension : defaultSuffixes) {
if (logger.isLoggable(TreeLogger.SPAM)) {
logger.log(TreeLogger.SPAM, "Trying default extension " + extension);
}
for (Locator locator : locators) {
URL resourceUrl = tryFindResource(locator, context,
getPathRelativeToPackage(method.getEnclosingType().getPackage(),
method.getName() + extension), locale);
// Take the first match
if (resourceUrl != null) {
addTypeRequirementsForMethod(context, method);
return new URL[] {resourceUrl};
}
}
}
}
logger.log(TreeLogger.ERROR, "No " + Source.class.getName()
+ " annotation and no resources found with default extensions");
toReturn = null;
error = true;
} else {
// The user has put an @Source annotation on the accessor method
String[] resources = resourceAnnotation.value();
toReturn = new URL[resources.length];
int tagIndex = 0;
for (String resource : resources) {