d6fc0f9388c25050b2852f6cf7d8be0a29d896fa
[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 isInLibrarySource(VirtualFile file) {
60     return false;
61   }
62
63   public boolean isExcludedFile(@NotNull final VirtualFile file) {
64     return false;
65   }
66
67   @Override
68   public Module getModuleForFile(VirtualFile file) {
69     return null;
70   }
71
72   public boolean isValidAncestor(final VirtualFile baseDir, final VirtualFile childDir) {
73     return VfsUtil.isAncestor(baseDir, childDir, false);
74   }
75
76   private VirtualFile getBaseDir() {
77     return ProjectBaseDirectory.getInstance(myProject).getBaseDir(myBaseDir);
78   }
79 }