package jetbrains.mps.ide.vfs; import com.intellij.openapi.components.ApplicationComponent; import jetbrains.mps.RuntimeFlags; import jetbrains.mps.vfs.CachingFileSystem; import jetbrains.mps.vfs.FileSystem; import jetbrains.mps.vfs.FileSystemExtPoint; import org.jetbrains.annotations.NotNull; /** * idea component to set the caching idea file system as a current fs. * * danilla 8/7/13 */ public abstract class IdeaFSComponent implements ApplicationComponent, FileSystem, CachingFileSystem { private FileSystem myOldFileSystem; @Override public void initComponent() { myOldFileSystem = FileSystemExtPoint.getFS(); FileSystemExtPoint.setFS(this); } @Override public void disposeComponent() { if (myOldFileSystem != null) { FileSystemExtPoint.setFS(myOldFileSystem); myOldFileSystem = null; } } @NotNull @Override public abstract String getComponentName(); }