[platform] get rid of some raw types in facets API and impl
[idea/community.git] / platform / lang-api / src / com / intellij / facet / FacetManager.java
index 1a340c0d17cc62b3f7e7d46305efda0076d19452..63f76f12d0b9633ba3c0cf24f77c8bf021593390 100644 (file)
@@ -4,12 +4,11 @@ package com.intellij.facet;
 
 import com.intellij.openapi.module.Module;
 import com.intellij.util.messages.Topic;
+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);
 
@@ -37,4 +36,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);
 }