}
return annotatedTypes;
}
public static Set<IType> searchForJavaConfigs(IJavaSearchScope scope) {
SearchPattern configurationPattern = SearchPattern.createPattern("org.springframework.context.annotation.Configuration",
IJavaSearchConstants.ANNOTATION_TYPE, IJavaSearchConstants.ANNOTATION_TYPE_REFERENCE,
SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE);
SearchPattern componentPattern = SearchPattern.createPattern( "org.springframework.stereotype.Component",
IJavaSearchConstants.ANNOTATION_TYPE, IJavaSearchConstants.ANNOTATION_TYPE_REFERENCE,
SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE);
SearchPattern beanPattern = SearchPattern.createPattern("org.springframework.context.annotation.Bean",
IJavaSearchConstants.ANNOTATION_TYPE, IJavaSearchConstants.ANNOTATION_TYPE_REFERENCE,
SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE);
SearchPattern importPattern = SearchPattern.createPattern("org.springframework.context.annotation.Import",
IJavaSearchConstants.ANNOTATION_TYPE, IJavaSearchConstants.ANNOTATION_TYPE_REFERENCE,
SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE);
SearchPattern bootAutoConfigPattern = SearchPattern.createPattern("org.springframework.boot.autoconfigure.EnableAutoConfiguration",
IJavaSearchConstants.ANNOTATION_TYPE, IJavaSearchConstants.ANNOTATION_TYPE_REFERENCE,
SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE);
SearchPattern pattern = SearchPattern.createOrPattern(configurationPattern, componentPattern);
pattern = SearchPattern.createOrPattern(pattern, beanPattern);
pattern = SearchPattern.createOrPattern(pattern, importPattern);
pattern = SearchPattern.createOrPattern(pattern, bootAutoConfigPattern);
return searchForJavaConfigs(pattern, scope);
}