Revert "IDEA-253347 add method remove repository by url to gradle-dsl"
[idea/community.git] / platform / projectModel-api / src / com / intellij / openapi / roots / FileIndex.java
index 0c190d915e473c9ec9c3150b96d6cf0eb6804efe..678948e0f428b5e38315d6b9dc0b0c2794a166a8 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.openapi.roots;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileFilter;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
@@ -26,10 +27,14 @@ import java.util.Set;
 
 /**
  * Provides information about files contained in a project or module.
+ * In this interface and its inheritors, methods checking specific file status ("isX", "getX") should be used from a read action.
+ * Iteration methods ("iterateX") may be called outside of a read action (since iteration can take a long time),
+ * but they should be prepared to project model being changed in the middle of the iteration.
  *
  * @see ProjectRootManager#getFileIndex()
  * @see ModuleRootManager#getFileIndex()
  */
+@ApiStatus.NonExtendable
 public interface FileIndex {
   /**
    * Processes all files and directories under content roots skipping excluded and ignored files and directories.
@@ -76,11 +81,10 @@ public interface FileIndex {
   boolean isInContent(@NotNull VirtualFile fileOrDir);
 
   /**
-   * Returns {@code true} if {@code file} is a file located under a sources, tests or resources root and not excluded or ignored.
-   * <p/>
-   * Note that sometimes a file can belong to the content and be a source file but not belong to sources of the content.
-   * This happens if sources of some library are located under the content (so they belong to the project content but not as sources).
+   * @deprecated name of this method is unclear, use {@link #isInSourceContent(VirtualFile)} instead and add {@code !file.isDirectory()} check
+   * if you want to accept files only.
    */
+  @Deprecated
   boolean isContentSourceFile(@NotNull VirtualFile file);
 
   /**