IJPL-160 add brief module documentation with links to main classes

GitOrigin-RevId: c9c9d12c8575296edbd1048fccf2fc38fe9139b7
This commit is contained in:
Daniil Ovchinnikov
2023-10-20 22:55:05 +02:00
committed by intellij-monorepo-bot
parent 4b84037753
commit 5a87be8d04

View File

@@ -1,4 +1,15 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
/**
* Instance container is essentially a map with {@link java.lang.Class} as a key, and instance as a value.
* The value is usually computed lazily unless an eager instance was registered instead of an initializer for a given key.
* Lazy initialization can track {@linkplain com.intellij.platform.instanceContainer.CycleInitializationException cycles}:
* situations when initialization of an instance depends on itself possibly via a chain of other initializers.
* <p/>
* This module defines {@linkplain com.intellij.platform.instanceContainer.InstanceContainer the public interface of instance container},
* {@linkplain com.intellij.platform.instanceContainer.internal.InstanceContainerInternal the internal interface},
* {@linkplain com.intellij.platform.instanceContainer.internal.MutableInstanceContainer the internal interface for mutation},
* and {@linkplain com.intellij.platform.instanceContainer.internal.InstanceContainerImpl implementation} of mentioned interfaces.
*/
@Experimental
package com.intellij.platform.instanceContainer;