本文整理汇总了Java中org.eclipse.jdt.internal.core.index.FileIndexLocation类的典型用法代码示例。如果您正苦于以下问题:Java FileIndexLocation类的具体用法?Java FileIndexLocation怎么用?Java FileIndexLocation使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
FileIndexLocation类属于org.eclipse.jdt.internal.core.index包,在下文中一共展示了FileIndexLocation类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deleteIndexFiles
import org.eclipse.jdt.internal.core.index.FileIndexLocation; //导入依赖的package包/类
private void deleteIndexFiles(SimpleSet pathsToKeep) {
File[] indexesFiles = getSavedIndexesDirectory().listFiles();
if (indexesFiles == null) return;
for (int i = 0, l = indexesFiles.length; i < l; i++) {
String fileName = indexesFiles[i].getAbsolutePath();
if (pathsToKeep != null && pathsToKeep.includes(new FileIndexLocation(indexesFiles[i])))
continue;
String suffix = ".index"; // $NON-NLS-1$
if (fileName.regionMatches(
true, fileName.length() - suffix.length(), suffix, 0, suffix.length())) {
if (JobManager.VERBOSE || DEBUG)
Util.verbose("Deleting index file " + indexesFiles[i]); // $NON-NLS-1$
indexesFiles[i].delete();
}
}
}
示例2: readParticipantsIndexNamesFile
import org.eclipse.jdt.internal.core.index.FileIndexLocation; //导入依赖的package包/类
private void readParticipantsIndexNamesFile() {
SimpleLookupTable containers = new SimpleLookupTable(3);
try {
char[] participantIndexNames =
org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(
this.participantIndexNamesFile, null);
if (participantIndexNames.length > 0) {
char[][] names = CharOperation.splitOn('\n', participantIndexNames);
if (names.length >= 3) {
// First line is DiskIndex signature (see writeParticipantsIndexNamesFile())
if (DiskIndex.SIGNATURE.equals(new String(names[0]))) {
for (int i = 1, l = names.length - 1; i < l; i += 2) {
IndexLocation indexLocation =
new FileIndexLocation(new File(new String(names[i])), true);
containers.put(indexLocation, new Path(new String(names[i + 1])));
}
}
}
}
} catch (IOException ignored) {
if (JobManager.VERBOSE)
Util.verbose("Failed to read participant index file names"); // $NON-NLS-1$
}
this.participantsContainers = containers;
return;
}
示例3: getIndexes
import org.eclipse.jdt.internal.core.index.FileIndexLocation; //导入依赖的package包/类
public Index[] getIndexes(IProgressMonitor progressMonitor) {
// acquire the in-memory indexes on the fly
IndexLocation[] indexLocations;
int length;
if (this.participant instanceof JavaSearchParticipant) {
indexLocations = ((JavaSearchParticipant)this.participant).selectIndexURLs(this.pattern, this.scope);
length = indexLocations.length;
} else {
IPath[] paths = this.participant.selectIndexes(this.pattern, this.scope);
length = paths.length;
indexLocations = new IndexLocation[paths.length];
for (int i = 0, len = paths.length; i < len; i++) {
indexLocations[i] = new FileIndexLocation(paths[i].toFile(), true);
}
}
Index[] indexes = JavaModelManager.getIndexManager().getIndexes(indexLocations, progressMonitor);
this.areIndexesReady = indexes.length == length;
return indexes;
}
示例4: getIndexStates
import org.eclipse.jdt.internal.core.index.FileIndexLocation; //导入依赖的package包/类
private SimpleLookupTable getIndexStates() {
if (this.indexStates != null) return this.indexStates;
this.indexStates = new SimpleLookupTable();
File indexesDirectoryPath = getSavedIndexesDirectory();
char[][] savedNames = readIndexState(getJavaPluginWorkingLocation().toOSString());
if (savedNames != null) {
for (int i = 1, l = savedNames.length;
i < l;
i++) { // first name is saved signature, see readIndexState()
char[] savedName = savedNames[i];
if (savedName.length > 0) {
IndexLocation indexLocation =
new FileIndexLocation(
new File(
indexesDirectoryPath,
String.valueOf(savedName))); // shares indexesDirectoryPath's segments
if (JobManager.VERBOSE)
Util.verbose("Reading saved index file " + indexLocation); // $NON-NLS-1$
this.indexStates.put(indexLocation, SAVED_STATE);
}
}
} else {
// All the index files are getting deleted and hence there is no need to
// further check for change in javaLikeNames.
writeJavaLikeNamesFile();
this.javaLikeNamesChanged = false;
deleteIndexFiles();
}
readIndexMap();
return this.indexStates;
}
示例5: updateParticipant
import org.eclipse.jdt.internal.core.index.FileIndexLocation; //导入依赖的package包/类
public void updateParticipant(IPath indexPath, IPath containerPath) {
if (this.participantsContainers == null) {
readParticipantsIndexNamesFile();
}
IndexLocation indexLocation = new FileIndexLocation(indexPath.toFile(), true);
if (this.participantsContainers.get(indexLocation) == null) {
this.participantsContainers.put(indexLocation, containerPath);
this.participantUpdated = true;
}
}
示例6: generateIndexForJar
import org.eclipse.jdt.internal.core.index.FileIndexLocation; //导入依赖的package包/类
public void generateIndexForJar(String pathToJar, String pathToIndexFile) throws IOException {
File f = new File(pathToJar);
if (!f.exists()) {
throw new FileNotFoundException(pathToJar + " not found"); //$NON-NLS-1$
}
IndexLocation indexLocation = new FileIndexLocation(new File(pathToIndexFile));
Index index = new Index(indexLocation, pathToJar, false /*reuse index file*/);
SearchParticipant participant = SearchEngine.getDefaultSearchParticipant();
index.separator = JAR_SEPARATOR;
ZipFile zip = new ZipFile(pathToJar);
try {
for (Enumeration e = zip.entries(); e.hasMoreElements();) {
// iterate each entry to index it
ZipEntry ze = (ZipEntry) e.nextElement();
String zipEntryName = ze.getName();
if (Util.isClassFileName(zipEntryName)) {
final byte[] classFileBytes = org.eclipse.jdt.internal.compiler.util.Util.getZipEntryByteContent(ze, zip);
JavaSearchDocument entryDocument = new JavaSearchDocument(ze, new Path(pathToJar), classFileBytes, participant);
entryDocument.setIndex(index);
new BinaryIndexer(entryDocument).indexDocument();
}
}
index.save();
} finally {
zip.close();
}
return;
}