Interface DependencySelector

All Known Implementing Classes:
AndDependencySelector, ExclusionDependencySelector, OptionalDependencySelector, OptionalDependencySelector, ScopeDependencySelector, ScopeDependencySelector, StaticDependencySelector

public interface DependencySelector
Decides what dependencies to include in the dependency graph.

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

    • selectDependency

      boolean selectDependency(Dependency dependency)
      Decides whether the specified dependency should be included in the dependency graph.
      Parameters:
      dependency - The dependency to check, must not be null.
      Returns:
      false if the dependency should be excluded from the children of the current node, true otherwise.
    • deriveChildSelector

      Derives a dependency selector for the specified collection context. When calculating the child selector, 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 selector for the target node or null if dependencies should be unconditionally included in the sub graph.