a2f565b6f520f20aeaa67f3bb31944bfc5d70388
[idea/community.git] / platform / core-impl / src / com / intellij / mock / MockFileIndexFacade.java
1 /*
2  * Copyright 2000-2011 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.mock;
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.VfsUtilCore;
22 import com.intellij.openapi.vfs.VirtualFile;
23
24 import java.util.ArrayList;
25 import java.util.List;
26
27 /**
28  * @author yole
29  */
30 public class MockFileIndexFacade extends FileIndexFacade {
31   private final Module myModule;
32   private final List<VirtualFile> myLibraryRoots = new ArrayList<VirtualFile>();
33
34   public MockFileIndexFacade(final Project project) {
35     super(project);
36     myModule = null;  // TODO
37   }
38
39   @Override
40   public boolean isInContent(VirtualFile file) {
41     return true;
42   }
43
44   @Override
45   public boolean isInSource(VirtualFile file) {
46     return true;
47   }
48
49   @Override
50   public boolean isInSourceContent(VirtualFile file) {
51     return true;
52   }
53
54   @Override
55   public boolean isInLibraryClasses(VirtualFile file) {
56     for (VirtualFile libraryRoot : myLibraryRoots) {
57       if (VfsUtilCore.isAncestor(libraryRoot, file, false)) {
58         return true;
59       }
60     }
61     return false;
62   }
63
64   @Override
65   public boolean isInLibrarySource(VirtualFile file) {
66     return false;
67   }
68
69   @Override
70   public boolean isExcludedFile(VirtualFile file) {
71     return false;
72   }
73
74   @Override
75   public Module getModuleForFile(VirtualFile file) {
76     return myModule;
77   }
78
79   @Override
80   public boolean isValidAncestor(VirtualFile baseDir, VirtualFile child) {
81     return VfsUtilCore.isAncestor(baseDir, child, false);
82   }
83
84   public void addLibraryRoot(VirtualFile file) {
85     myLibraryRoots.add(file);
86   }
87 }