cleanup
[idea/community.git] / platform / lang-impl / src / com / intellij / util / indexing / FileBasedIndexPluginListener.java
1 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package com.intellij.util.indexing;
3
4 import com.intellij.ide.plugins.DynamicPluginListener;
5 import com.intellij.ide.plugins.IdeaPluginDescriptor;
6 import org.jetbrains.annotations.NotNull;
7
8 final class FileBasedIndexPluginListener implements DynamicPluginListener {
9   private final @NotNull FileBasedIndexSwitcher mySwitcher;
10
11   FileBasedIndexPluginListener(@NotNull FileBasedIndexImpl index) {
12     mySwitcher = new FileBasedIndexSwitcher(index);
13   }
14
15   @Override
16   public void beforePluginLoaded(@NotNull IdeaPluginDescriptor pluginDescriptor) {
17     beforePluginSetChanged();
18   }
19
20   @Override
21   public void beforePluginUnload(@NotNull IdeaPluginDescriptor pluginDescriptor, boolean isUpdate) {
22     beforePluginSetChanged();
23   }
24
25   @Override
26   public void pluginLoaded(@NotNull IdeaPluginDescriptor pluginDescriptor) {
27     afterPluginSetChanged();
28   }
29
30   @Override
31   public void pluginUnloaded(@NotNull IdeaPluginDescriptor pluginDescriptor, boolean isUpdate) {
32     afterPluginSetChanged();
33   }
34
35   private void beforePluginSetChanged() {
36     mySwitcher.turnOff();
37   }
38
39   private void afterPluginSetChanged() {
40     mySwitcher.turnOn();
41   }
42 }