91a2c18b13b66bd90752d34ac2a75b1682799803
[idea/community.git] / platform / vcs-impl / src / com / intellij / openapi / vcs / impl / DefaultFileIndexFacade.java
1 /*
2  * Copyright 2000-2009 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.openapi.vcs.impl;
17
18 import com.intellij.openapi.module.Module;
19 import com.intellij.openapi.project.Project;
20 import com.intellij.openapi.roots.FileIndexFacade;
21 import com.intellij.openapi.vfs.VfsUtil;
22 import com.intellij.openapi.vfs.VirtualFile;
23 import com.intellij.platform.ProjectBaseDirectory;
24 import org.jetbrains.annotations.NotNull;
25
26 /**
27  * @author yole
28  */
29 public class DefaultFileIndexFacade extends FileIndexFacade {
30   private final Project myProject;
31   private final VirtualFile myBaseDir;
32
33   public DefaultFileIndexFacade(@NotNull final Project project) {
34     super(project);
35     myProject = project;
36     myBaseDir = project.getBaseDir();
37   }
38
39   public boolean isInContent(@NotNull final VirtualFile file) {
40     return VfsUtil.isAncestor(getBaseDir(), file, false);
41   }
42
43   @Override
44   public boolean isInSource(@NotNull VirtualFile file) {
45     return isInContent(file);
46   }
47
48   @Override
49   public boolean isInSourceContent(@NotNull VirtualFile file) {
50     return isInContent(file);
51   }
52
53   @Override
54   public boolean isInLibraryClasses(@NotNull VirtualFile file) {
55     return false;
56   }
57
58   @Override
59   public boolean isInSdkClasses(@NotNull VirtualFile file) {
60     return false;
61   }
62
63   @Override
64   public boolean isInLibrarySource(@NotNull VirtualFile file) {
65     return false;
66   }
67
68   public boolean isExcludedFile(@NotNull final VirtualFile file) {
69     return false;
70   }
71
72   @Override
73   public Module getModuleForFile(VirtualFile file) {
74     return null;
75   }
76
77   public boolean isValidAncestor(final VirtualFile baseDir, final VirtualFile childDir) {
78     return VfsUtil.isAncestor(baseDir, childDir, false);
79   }
80
81   private VirtualFile getBaseDir() {
82     return ProjectBaseDirectory.getInstance(myProject).getBaseDir(myBaseDir);
83   }
84 }