本文整理汇总了Java中org.eclipse.jdt.core.search.TypeNameMatchRequestor类的典型用法代码示例。如果您正苦于以下问题:Java TypeNameMatchRequestor类的具体用法?Java TypeNameMatchRequestor怎么用?Java TypeNameMatchRequestor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TypeNameMatchRequestor类属于org.eclipse.jdt.core.search包,在下文中一共展示了TypeNameMatchRequestor类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: findType
import org.eclipse.jdt.core.search.TypeNameMatchRequestor; //导入依赖的package包/类
/**
* Find type
*
* @param className
* @param monitor
* @return type or <code>null</code>
*/
public IType findType(String className, IProgressMonitor monitor) {
final IType[] result = { null };
TypeNameMatchRequestor nameMatchRequestor = new TypeNameMatchRequestor() {
@Override
public void acceptTypeNameMatch(TypeNameMatch match) {
result[0] = match.getType();
}
};
int lastDot = className.lastIndexOf('.');
char[] packageName = lastDot >= 0 ? className.substring(0, lastDot).toCharArray() : null;
char[] typeName = (lastDot >= 0 ? className.substring(lastDot + 1) : className).toCharArray();
SearchEngine engine = new SearchEngine();
int packageMatchRule = SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE;
try {
engine.searchAllTypeNames(packageName, packageMatchRule, typeName, packageMatchRule, IJavaSearchConstants.TYPE,
SearchEngine.createWorkspaceScope(), nameMatchRequestor,
IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, monitor);
} catch (JavaModelException e) {
EditorUtil.INSTANCE.logError("Was not able to search all type names",e);
}
return result[0];
}
示例2: findTypeByFqn
import org.eclipse.jdt.core.search.TypeNameMatchRequestor; //导入依赖的package包/类
private List<IType> findTypeByFqn(char[][] packages, char[][] names, IJavaSearchScope scope)
throws JavaModelException {
List<IType> result = new ArrayList<>();
SearchEngine searchEngine = new SearchEngine();
searchEngine.searchAllTypeNames(
packages,
names,
scope,
new TypeNameMatchRequestor() {
@Override
public void acceptTypeNameMatch(TypeNameMatch typeNameMatch) {
result.add(typeNameMatch.getType());
}
},
IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,
new NullProgressMonitor());
return result;
}
示例3: TypeNameMatchRequestorWrapper
import org.eclipse.jdt.core.search.TypeNameMatchRequestor; //导入依赖的package包/类
public TypeNameMatchRequestorWrapper(TypeNameMatchRequestor requestor, IJavaSearchScope scope) {
this.requestor = requestor;
this.scope = scope;
if (!(scope instanceof AbstractJavaSearchScope)) {
this.handleFactory = new HandleFactory();
}
}
示例4: SelectionTypeNameMatchRequestorWrapper
import org.eclipse.jdt.core.search.TypeNameMatchRequestor; //导入依赖的package包/类
public SelectionTypeNameMatchRequestorWrapper(TypeNameMatchRequestor requestor, IJavaSearchScope scope, ImportReference[] importReferences) {
super(requestor, scope);
this.importReferences = importReferences;
}
示例5: findTypeDeclarationExact
import org.eclipse.jdt.core.search.TypeNameMatchRequestor; //导入依赖的package包/类
public static IType findTypeDeclarationExact(
IProject project, int searchFor, String packageName, String typeName)
{
final List<TypeNameMatch> matches = new ArrayList<TypeNameMatch>();
SearchEngine searchEngine = new SearchEngine();
try
{
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(
new IJavaElement[] { JavaCore.create(project) },
true);
IProgressMonitor progressMonitor = null;
searchEngine.searchAllTypeNames(
packageName.toCharArray(),
SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE,
typeName.toCharArray(),
SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE,
searchFor,
scope,
new TypeNameMatchRequestor()
{
@Override
public void acceptTypeNameMatch(TypeNameMatch match)
{
matches.add(match);
}
},
IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,
progressMonitor);
}
catch (CoreException e)
{
// XXX May happen, say, if classpath is incorrectly set.
// Probably shouldn't invoke this method if classpath errors can be detected
Activator.getDefault().logWarning("Error performing search", e);
}
return matches.isEmpty()
? null
: matches.get(0).getType();
}