本文整理汇总了Java中com.intellij.util.indexing.FileBasedIndex.processValues方法的典型用法代码示例。如果您正苦于以下问题:Java FileBasedIndex.processValues方法的具体用法?Java FileBasedIndex.processValues怎么用?Java FileBasedIndex.processValues使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.util.indexing.FileBasedIndex
的用法示例。
在下文中一共展示了FileBasedIndex.processValues方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getLayout
import com.intellij.util.indexing.FileBasedIndex; //导入方法依赖的package包/类
@Nullable
public Layout getLayout(String layoutName) {
final GlobalSearchScope scope = GlobalSearchScope.allScope(myProject);
FileBasedIndex fileBasedIndex = FileBasedIndex.getInstance();
List<File> layoutFiles = getLayoutFiles(layoutName, fileBasedIndex);
if (layoutFiles.isEmpty()) {
return null;
}
final List<SingleLayout> layouts = new ArrayList<SingleLayout>();
for (File layoutFile : layoutFiles) {
fileBasedIndex.processValues(HoldrLayoutIndex.INDEX_ID, layoutFile, null, new FileBasedIndex.ValueProcessor<SingleLayout>() {
@Override
public boolean process(VirtualFile virtualFile, SingleLayout singleLayout) {
layouts.add(singleLayout);
return true;
}
}, scope);
}
CompositeLayout compositeLayout = layoutCache.get(layoutName);
if (compositeLayout == null) {
compositeLayout = new CompositeLayout();
layoutCache.put(layoutName, compositeLayout);
}
for (SingleLayout layout : layouts) {
compositeLayout.put(layout);
}
return compositeLayout;
}
示例2: fetchCount
import com.intellij.util.indexing.FileBasedIndex; //导入方法依赖的package包/类
private int fetchCount(@Nonnull FileBasedIndex fileBasedIndex, @Nonnull VirtualFile file, @Nonnull IndexPattern indexPattern) {
final int[] count = {0};
fileBasedIndex.processValues(
TodoIndex.NAME, new TodoIndexEntry(indexPattern.getPatternString(), indexPattern.isCaseSensitive()), file,
(file1, value) -> {
count[0] += value.intValue();
return true;
}, GlobalSearchScope.fileScope(myProject, file));
return count[0];
}
示例3: getIds
import com.intellij.util.indexing.FileBasedIndex; //导入方法依赖的package包/类
@NotNull
public Collection<String> getIds(boolean declarationsOnly) {
if (myProject.isDisposed()) {
return Collections.emptyList();
}
final GlobalSearchScope scope = GlobalSearchScope.allScope(myProject);
final FileBasedIndex index = FileBasedIndex.getInstance();
final Map<VirtualFile, Set<String>> file2idEntries = new HashMap<VirtualFile, Set<String>>();
index.processValues(AndroidIdIndex.INDEX_ID, AndroidIdIndex.MARKER, null, new FileBasedIndex.ValueProcessor<Set<String>>() {
@Override
public boolean process(VirtualFile file, Set<String> value) {
file2idEntries.put(file, value);
return true;
}
}, scope);
final Set<String> result = new HashSet<String>();
for (VirtualFile resSubdir : getResourceSubdirsToSearchIds()) {
for (VirtualFile resFile : resSubdir.getChildren()) {
final Set<String> idEntries = file2idEntries.get(resFile);
if (idEntries != null) {
for (String idEntry : idEntries) {
if (idEntry.startsWith("+")) {
idEntry = idEntry.substring(1);
}
else if (declarationsOnly) {
continue;
}
if (isResourcePublic(ResourceType.ID.getName(), idEntry)) {
result.add(idEntry);
}
}
}
}
}
return result;
}