// 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.
package com.intellij.openapi.components;

/**
 * Please use application services or extensions instead of application component, because
 * if you register a class as an application component it will be loaded, its instance will be created and
 * {@link #initComponent()} methods will be called each time IDE is started even if user doesn't use any feature of your
 * plugin. So consider using specific extensions instead to ensure that the plugin will not impact IDE performance until user calls its
 * actions explicitly.
 *
 * @deprecated This interface is not used anymore. Application component do no need to extend any special interface.
 *
 * Instead of {@link #initComponent()} please use {@link com.intellij.util.messages.MessageBus} and corresponding topics.
 * Instead of {@link #disposeComponent()} please use {@link com.intellij.openapi.Disposable}.
 *
 * If for some reasons replacing {@link #disposeComponent()} / {@link #initComponent()} is not a option, {@link BaseComponent} can be extended.
 */
@Deprecated
public interface ApplicationComponent extends BaseComponent {
  /**
   * @deprecated Adapter not required since Java 8 is used.
   */
  @Deprecated
  class Adapter implements ApplicationComponent {
  }
}

@@ -910,244 +910,195 @@
 %0A * 
-Instead of %7B@link #disposeComponent()%7D please use %7B@link com.intellij.openapi.Disposable%7D.%0A *%0A * If for some reasons replacing %7B@link #disposeComponent()%7D / %7B@link #initComponent()%7D is not a option, %7B@link BaseComponent%7D can be extended
+Or %7B@link com.intellij.openapi.components.PersistentStateComponent#initializeComponent()%7D).%0A *%0A * Instead of %7B@link #disposeComponent()%7D please use %7B@link com.intellij.openapi.Disposable%7D
 .%0A *

add note about initializeComponent