org.eclipse.aether.collection

## Interface DependencySelector

- All Known Implementing Classes:
    AndDependencySelector, ExclusionDependencySelector, OptionalDependencySelector, 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:
    `RepositorySystemSession.getDependencySelector()`, `RepositorySystem.collectDependencies(org.eclipse.aether.RepositorySystemSession, CollectRequest)`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DependencySelector` | `deriveChildSelector(DependencyCollectionContext context)` Derives a dependency selector for the specified collection context.
    `boolean` | `selectDependency(Dependency dependency)` Decides whether the specified dependency should be included in the dependency graph.

- - ### Method Detail

    - #### 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

          DependencySelector deriveChildSelector(DependencyCollectionContext context)

      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.

Copyright © 2010-2014 The Eclipse Foundation. All Rights Reserved.