Interface DependencyManager

All Known Implementing Classes:
ClassicDependencyManager, DefaultDependencyManager, NoopDependencyManager, TransitiveDependencyManager

public interface DependencyManager
Applies dependency management to the dependencies of a dependency node.

Note: Implementations must be stateless.

Warning: This hook is called from a hot spot and therefore implementations should pay attention to performance. Among others, implementations should provide a semantic equals() method.

See Also:
  • Method Details

    • manageDependency

      Applies dependency management to the specified dependency.
      Parameters:
      dependency - The dependency to manage, must not be null.
      Returns:
      The management update to apply to the dependency or null if the dependency is not managed at all.
    • deriveChildManager

      Derives a dependency manager for the specified collection context. When calculating the child manager, implementors are strongly advised to simply return the current instance if nothing changed to help save memory.
      Parameters:
      context - The dependency collection context, must not be null.
      Returns:
      The dependency manager for the dependencies of the target node or null if dependency management should no longer be applied.