当前位置: 首页>>代码示例>>Java>>正文


Java SearchPattern类代码示例

本文整理汇总了Java中org.eclipse.ui.dialogs.SearchPattern的典型用法代码示例。如果您正苦于以下问题:Java SearchPattern类的具体用法?Java SearchPattern怎么用?Java SearchPattern使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


SearchPattern类属于org.eclipse.ui.dialogs包,在下文中一共展示了SearchPattern类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getSearchPredicate

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
protected Predicate<IEObjectDescription> getSearchPredicate(final String stringPattern,
		final String typeStringPattern) {
	final Collection<String> namespaceDelimiters = IXtextSearchFilter.Registry.allNamespaceDelimiters();			
	final SearchPattern searchPattern = new SearchPattern();
	searchPattern.setPattern(stringPattern);
	final SearchPattern typeSearchPattern = new SearchPattern();
	typeSearchPattern.setPattern(typeStringPattern);
	final Collection<IXtextSearchFilter> registeredFilters = IXtextSearchFilter.Registry.allFilters();
	return new Predicate<IEObjectDescription>() {
		public boolean apply(IEObjectDescription input) {
			if (isNameMatches(searchPattern, input, namespaceDelimiters)
					&& typeSearchPattern.matches(input.getEClass().getName())) {
				for (IXtextSearchFilter xtextSearchFilter : registeredFilters) {
					if (xtextSearchFilter.reject(input)) {
						return false;
					}
				}
				return true;
			}
			return false;
		}
	};
}
 
开发者ID:cplutte,项目名称:bts,代码行数:24,代码来源:IXtextEObjectSearch.java

示例2: ModuleItemsFilter

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
public ModuleItemsFilter() {
  super(new ModuleSearchPattern());

  /*
   * If there is no filter pattern present, initialize the pattern to '*'.
   * This has the nice property of pre-populating the dialog list with all
   * possible matches when it is first shown.
   */
  if (patternMatcher.getPattern() == null
      || patternMatcher.getPattern().length() == 0) {
    patternMatcher.setPattern("*");
  }

  // If a package pattern is present in the filter text, then set up
  // a packageMatcher to do matching based on the module's package.
  String stringPackage = ((ModuleSearchPattern) patternMatcher).getPackagePattern();
  if (stringPackage != null) {
    packageMatcher = new SearchPattern();
    packageMatcher.setPattern(stringPackage);
  } else {
    packageMatcher = null;
  }
}
 
开发者ID:gwt-plugins,项目名称:gwt-eclipse-plugin,代码行数:24,代码来源:ModuleSelectionDialog.java

示例3: refreshSearchIndices

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
private void refreshSearchIndices(IProgressMonitor monitor)
        throws InvocationTargetException {
    try {
        new SearchEngine().searchAllTypeNames(
                null,
                0,
                // make sure we search a concrete name. This is faster
                // according to Kent
                "_______________".toCharArray(), //$NON-NLS-1$
                SearchPattern.RULE_EXACT_MATCH
                        | SearchPattern.RULE_CASE_SENSITIVE,
                IDLTKSearchConstants.TYPE, SearchEngine
                        .createWorkspaceScope(tookit.getCoreToolkit()),
                new NopTypeNameRequestor(),
                IDLTKSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,
                monitor);
    } catch (ModelException e) {
        throw new InvocationTargetException(e);
    }
}
 
开发者ID:UndefinedOffset,项目名称:eclipse-silverstripedt,代码行数:21,代码来源:FilteredTypesSelectionDialog.java

示例4: TypeItemsFilter

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
/**
 * Creates instance of TypeItemsFilter
 * 
 * @param scope
 * @param elementKind
 * @param extension
 */
public TypeItemsFilter(IDLTKSearchScope scope, int elementKind,
        ITypeInfoFilterExtension extension) {
    super(new TypeSearchPattern());
    fScope = scope;
    fIsWorkspaceScope = scope == null ? false : scope
            .equals(SearchEngine.createWorkspaceScope(fToolkit));
    fElemKind = elementKind;
    fFilterExt = extension;
    String stringPackage = ((TypeSearchPattern) patternMatcher)
            .getPackagePattern();
    if (stringPackage != null) {
        fPackageMatcher = new SearchPattern();
        fPackageMatcher.setPattern(stringPackage);
    } else {
        fPackageMatcher = null;
    }
}
 
开发者ID:UndefinedOffset,项目名称:eclipse-silverstripedt,代码行数:25,代码来源:FilteredTypesSelectionDialog.java

示例5: isTextMatchingSearchPattern

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
protected boolean isTextMatchingSearchPattern(String text, String searchPattern) {
    SearchPattern matcher = new SearchPattern(SearchPattern.RULE_PATTERN_MATCH
            | SearchPattern.RULE_EXACT_MATCH | SearchPattern.RULE_PREFIX_MATCH
            | SearchPattern.RULE_BLANK_MATCH);
    matcher.setPattern("*" + searchPattern);
    return matcher.matches(text);
}
 
开发者ID:Talend,项目名称:avro-schema-editor,代码行数:8,代码来源:SearchNodeContext.java

示例6: isTextMatchingSearchPattern

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
protected boolean isTextMatchingSearchPattern(String text) {
    SearchPattern matcher = new SearchPattern(SearchPattern.RULE_PATTERN_MATCH
            | SearchPattern.RULE_EXACT_MATCH | SearchPattern.RULE_PREFIX_MATCH
            | SearchPattern.RULE_BLANK_MATCH);
    matcher.setPattern("*" + searchPattern);
    return matcher.matches(text);
}
 
开发者ID:Talend,项目名称:avro-schema-editor,代码行数:8,代码来源:SchemaRegistryView.java

示例7: ItemsFilter

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
/**
 * Creates new instance of ItemsFilter.
 *
 * @param searchPattern
 *            the pattern to be used when filtering
 */
public ItemsFilter(SearchPattern searchPattern) {
	patternMatcher = searchPattern;
	String stringPattern = ""; //$NON-NLS-1$
	if (pattern != null && !pattern.getText().equals("*")) { //$NON-NLS-1$
		stringPattern = pattern.getText();
	}
	patternMatcher.setPattern(stringPattern);
}
 
开发者ID:tlaplus,项目名称:tlaplus,代码行数:15,代码来源:FilteredItemsSelectionDialog.java

示例8: isNameMatches

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
protected boolean isNameMatches(SearchPattern searchPattern, IEObjectDescription eObjectDescription, Collection<String> namespaceDelimiters) {
	String qualifiedName = qualifiedNameConverter.toString(eObjectDescription.getQualifiedName());
	if (qualifiedName!=null) {
		if(searchPattern.matches(qualifiedName)) {
			return true;
		}
		for(String namespaceDelimiter : namespaceDelimiters) {
			int index = qualifiedName.lastIndexOf(namespaceDelimiter); 
			if(index!=-1 && searchPattern.matches(qualifiedName.substring(index+1))) {
				return true;
			}
		}	
	}
	return false;
}
 
开发者ID:cplutte,项目名称:bts,代码行数:16,代码来源:IXtextEObjectSearch.java

示例9: matchItem

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
/**
 * Matches according to scopes.
 */
public static boolean matchItem(SearchPattern patternMatcher, IInfo info) {
    //We want to match the package name in the beggining too...
    String pattern = patternMatcher.getPattern();
    List<String> split = StringUtils.splitAndRemoveEmptyTrimmed(pattern, '.');
    if (split.size() <= 1) {
        if (pattern.endsWith(".")) {
            split.add("");
        } else {
            return patternMatcher.matches(info.getName());
        }
    }

    //Otherwise, we have more things to match... We could match something like:
    //django.AAA -- which should match all the modules that start with django and the tokens that have AAA.

    String declaringModuleName = info.getDeclaringModuleName();
    if (declaringModuleName == null || declaringModuleName.length() == 0) {
        return false;
    }
    List<String> moduleParts = StringUtils.splitAndRemoveEmptyTrimmed(declaringModuleName, '.');

    while (split.size() > 1) {
        String head = split.remove(0);
        SearchPattern headPattern = new SearchPattern();
        headPattern.setPattern(head);
        if (moduleParts.size() == 0) {
            return false; //we cannot match it anymore
        }
        if (!headPattern.matches(moduleParts.remove(0))) {
            return false;
        }
    }
    //if it got here, we've matched the module correctly... let's go on and check the name.

    SearchPattern tailPattern = new SearchPattern();
    tailPattern.setPattern(split.get(0));
    return tailPattern.matches(info.getName());
}
 
开发者ID:fabioz,项目名称:Pydev,代码行数:42,代码来源:MatchHelper.java

示例10: equalsFilter

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
/**
 * Checks if equals considering scopes.
 */
public static boolean equalsFilter(String thisPattern, String otherPattern) {
    return checkPatternSubparts(thisPattern, otherPattern, new ICallback2<Boolean, SearchPattern, SearchPattern>() {

        @Override
        public Boolean call(SearchPattern thisP, SearchPattern otherP) {
            if (!(thisP.equalsPattern(otherP))) {
                return false;
            }
            return true;
        }
    });
}
 
开发者ID:fabioz,项目名称:Pydev,代码行数:16,代码来源:MatchHelper.java

示例11: isSubFilter

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
/**
 * Checks if it's a sub-filter considering scopes.
 */
public static boolean isSubFilter(String thisPattern, String otherPattern) {
    return checkPatternSubparts(thisPattern, otherPattern, new ICallback2<Boolean, SearchPattern, SearchPattern>() {

        @Override
        public Boolean call(SearchPattern thisP, SearchPattern otherP) {
            if (!(thisP.isSubPattern(otherP))) {
                return false;
            }
            return true;
        }
    });
}
 
开发者ID:fabioz,项目名称:Pydev,代码行数:16,代码来源:MatchHelper.java

示例12: checkPatternSubparts

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
private static boolean checkPatternSubparts(String thisPattern, String otherPattern,
        ICallback2<Boolean, SearchPattern, SearchPattern> check) {
    boolean thisEndsWithPoint = thisPattern.endsWith(".");
    boolean otherEndsWithPoint = otherPattern.endsWith(".");
    if (thisEndsWithPoint != otherEndsWithPoint) {
        return false;
    }

    List<String> thisSplit = StringUtils.splitAndRemoveEmptyNotTrimmed(thisPattern, '.');
    List<String> otherSplit = StringUtils.splitAndRemoveEmptyNotTrimmed(otherPattern, '.');

    if (thisEndsWithPoint) {
        thisSplit.add("");
    }
    if (otherEndsWithPoint) {
        otherSplit.add("");
    }

    if (thisSplit.size() != otherSplit.size()) {
        return false;
    }

    for (int i = 0; i < thisSplit.size(); i++) {
        String thisStr = thisSplit.get(i);
        String otherStr = otherSplit.get(i);
        SearchPattern thisP = new SearchPattern();
        thisP.setPattern(thisStr);

        SearchPattern otherP = new SearchPattern();
        otherP.setPattern(otherStr);
        if (!check.call(thisP, otherP)) {
            return false;
        }
    }
    return true;
}
 
开发者ID:fabioz,项目名称:Pydev,代码行数:37,代码来源:MatchHelper.java

示例13: getMatchingRegions

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
private final int[] getMatchingRegions(String pattern, String name, int matchRule) {
	if (name == null)
		return null;
	final int nameLength = name.length();
	if (pattern == null) {
		return new int[] { 0, nameLength };
	}
	final int patternLength = pattern.length();
	switch (matchRule) {
	case SearchPattern.RULE_EXACT_MATCH:
		if (patternLength == nameLength && pattern.equalsIgnoreCase(name)) {
			return new int[] { 0, patternLength };
		}
		break;
	case SearchPattern.RULE_EXACT_MATCH | SearchPattern.RULE_CASE_SENSITIVE:
		if (patternLength == nameLength && pattern.equals(name)) {
			return new int[] { 0, patternLength };
		}
		break;
	case SearchPattern.RULE_PREFIX_MATCH:
		if (patternLength <= nameLength && name.substring(0, patternLength).equalsIgnoreCase(pattern)) {
			return new int[] { 0, patternLength };
		}
		break;
	case SearchPattern.RULE_PREFIX_MATCH | SearchPattern.RULE_CASE_SENSITIVE:
		if (name.startsWith(pattern)) {
			return new int[] { 0, patternLength };
		}
		break;
	case SearchPattern.RULE_PATTERN_MATCH:
		return StringUtils.getPatternMatchingRegions(pattern, 0, patternLength, name, 0, nameLength, false);
	case SearchPattern.RULE_PATTERN_MATCH | SearchPattern.RULE_CASE_SENSITIVE:
		return StringUtils.getPatternMatchingRegions(pattern, 0, patternLength, name, 0, nameLength, true);
	}
	return null;
}
 
开发者ID:angelozerr,项目名称:angularjs-eclipse,代码行数:37,代码来源:FilteredAngularElementsSelectionDialog.java

示例14: PipelineOptionsSelectionFilter

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
public PipelineOptionsSelectionFilter() {
  super(
      new SearchPattern(SearchPattern.RULE_CAMELCASE_MATCH | SearchPattern.RULE_PATTERN_MATCH));
}
 
开发者ID:GoogleCloudPlatform,项目名称:google-cloud-eclipse,代码行数:5,代码来源:PipelineOptionsSelectionDialog.java

示例15: ResourceFilter

import org.eclipse.ui.dialogs.SearchPattern; //导入依赖的package包/类
public ResourceFilter() {
	super(new SearchPattern(SearchPattern.RULE_PATTERN_MATCH));
	String pattern = "*" + patternMatcher.getPattern() + "*";
	patternMatcher.setPattern(pattern);
}
 
开发者ID:turnus,项目名称:turnus,代码行数:6,代码来源:WidgetSelectResource.java


注:本文中的org.eclipse.ui.dialogs.SearchPattern类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。