New UI for theme autodetection. Additional fixes.
[idea/community.git] / platform / lang-api / src / com / intellij / facet / FacetManager.java
index a951999284dcbd63e29f498531af550eb4344914..d5d176c9ad76f50ac09cf52e48c9dc13e8dbca0b 100644 (file)
@@ -1,5 +1,4 @@
-// Copyright 2000-2019 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.
-
+// 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.
 package com.intellij.facet;
 
 import com.intellij.openapi.module.Module;
@@ -8,12 +7,9 @@ import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-/**
- * @author nik
- */
 @ApiStatus.NonExtendable
 public abstract class FacetManager implements FacetModel {
-  public static final Topic<FacetManagerListener> FACETS_TOPIC = Topic.create("facet changes", FacetManagerListener.class, Topic.BroadcastDirection.TO_PARENT);
+  public static final Topic<FacetManagerListener> FACETS_TOPIC = new Topic<>(FacetManagerListener.class, Topic.BroadcastDirection.TO_PARENT);
 
   public static FacetManager getInstance(@NotNull Module module) {
     return module.getComponent(FacetManager.class);
@@ -39,4 +35,8 @@ public abstract class FacetManager implements FacetModel {
   public abstract <F extends Facet<?>, C extends FacetConfiguration> F addFacet(@NotNull FacetType<F, C> type, @NotNull String name,
                                                                                    @Nullable Facet<?> underlying);
 
+  /**
+   * This method must be called when configuration of {@code facet} is changed via its API.
+   */
+  public abstract void facetConfigurationChanged(@NotNull Facet<?> facet);
 }